deb6b37987b5dcf860eb165fcccaa30e71cb4bd3
[gnulib.git] / ChangeLog
1 2013-07-18  Werner Lemberg <wl@gnu.org>  (tiny change)
2
3         bootstrap: use correct source when copying build-aux files
4         * build-aux/bootstrap (gnulib_extra_files): This variable is
5         relative to upstream gnulib layout, not downstream.
6
7 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
8
9         tmpdir: fix bug in VMS port
10         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
11         See Steven M. Schweda in
12         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00026.html>.
13
14 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
15
16         tmpdir: port to VMS, to // != /, and to long dirs
17         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
18         __secure_getenv, so that we're more like the glibc version.
19         All uses changed.
20         (path_search): Don't put slash after directory if __VMS.
21         Problem reported by Steven M. Schweda in
22         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00019.html>.
23         Simplify code to add slash; no need for a loop.
24         Do not remove trailing slash from "//".
25         Do not assume dlen <= INT_MAX.
26
27 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
28
29         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
30         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
31         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
32         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00015.html>.
33
34         accept4, dup3, pipe2: port to Cygwin
35         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
36         * lib/accept4.c (accept4) [O_BINARY]:
37         * lib/dup3.c (dup3) [O_BINARY]:
38         * lib/pipe2.c (pipe2) [O_BINARY]:
39         Use set_binary_mode, not setmode.
40         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
41         * modules/binary-io (Depends-on): Remove module indicator.
42         These last two bits undo the previous change to pipe2 and binary-io.
43
44 2013-07-09  Pádraig Brady  <P@draigBrady.com>
45
46         mountlist: add support for deallocating returned list entries
47         * lib/mountlist.c (free_mount_entry): A new exported function
48         to deallocate a mount list entry.
49         (read_file_system_list): Refactor to use the new deallocation function.
50         Suggested by Anton Ovchinnikov.
51
52 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
53
54         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
55         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
56         * lib/stdalign.in.h (_Alignas, _Alignof):
57         Port to FreeBSD 9.1, and to C11 and C++11.
58         (_Alignas): Also support ICC.
59         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
60         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
61
62 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
63
64         fnmatch: don't goto over declaration
65         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
66         undefined behavior for goto over a declaration.
67         Problem reported by Charlie Brown in
68         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00009.html>.
69
70         pipe2: decouple from binary-io a bit
71         This is for Emacs, which needs pipe2 but not binary-io.
72         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
73         * modules/binary-io (Depends-on): Add module indicator.
74
75 2013-07-03  Eric Blake  <eblake@redhat.com>
76
77         mgetgroups: relax license to LGPLv2+
78         * modules/getugroups (License): Change from GPLv3+.
79         * modules/mgetgroups (License): Likewise.
80         * modules/getgroups (License): Change from LGPLv3+.
81
82         xalloc-oversized: relax license to LGPLv2+
83         * modules/xalloc-oversized (License): Change from GPLv3+.
84
85         nproc: relax license to LGPLv2+
86         * modules/nproc (License): Change from LGPLv3+.
87
88         bootstrap: honor --no-git
89         * build-aux/bootstrap: Don't even try to use git when user is
90         pointing to a static checkout.
91
92 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
93
94         ignore-value: port to gcc -pedantic
95         * lib/ignore-value.h (ignore_value):
96         Port to gcc -pedantic, by using __extension__.
97         Reindent as per usual gnulib style nowadays.
98         Simplify GCC version check.
99
100 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
101
102         extern-inline: port to gcc -std=c89
103         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
104         Do not use __gnu_inline__ if pedantic and pre-C99.
105
106 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
107
108         doc: document extern-inline
109         * doc/extern-inline.texi: New file.
110         * doc/gnulib.texi (alloca-opt): Include it.
111         * m4/extern-inline.m4: Move some comments to documentation,
112         and others closer to what they describe.
113
114         doc: chatter less
115         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
116         (updated-stamp): Use it.  This causes 'make' to output just
117         one file name rather than zillions.
118
119         fflush, fseeko: port to musl cross-compiles
120         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
121         on some implementation that (1) is not known to be buggy,
122         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
123         cross-compiled to so we can't easily check for lack of
124         conformance.  This is for cross-compiling to musl.
125         Reported by Rich Felker in
126         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00043.html>.
127         * m4/fclose.m4 (gl_FUNC_FCLOSE):
128         * m4/fflush.m4 (gl_FUNC_FFLUSH):
129         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
130         Adjust to above change.
131         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
132         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
133         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
134         known not to work, or unknown.
135
136 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
137
138         msvc-inval: port to mingw-w64
139         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
140         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
141         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00039.html>.
142
143 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
144
145         getcwd-lgpl: port to Tru64
146         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
147         Problem reported by Steven M. Schweda in
148         <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00010.html>.
149
150         tests: port large-fd POSIX spawn tests to OS X
151         Problem reported by Daiki Ueno in
152         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00031.html>.
153         * tests/test-posix_spawn_file_actions_addclose.c:
154         * tests/test-posix_spawn_file_actions_adddup2.c:
155         * tests/test-posix_spawn_file_actions_addopen.c:
156         Include <limits.h>, for OPEN_MAX, if available.
157         (big_fd): New static function.
158         (main): Use it.
159
160 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
161
162         tests/nap.h: use an adaptive delay to avoid ctime update issues
163         The recent change in nap.h (5191133e) decreased the probability of lost
164         races to about a third, however such problems could still be observed
165         in virtual machines and openSUSE's OBS.
166         Before, nap() detected the needed time once empirically and then used
167         that delay (together with a small correction multiplier) in further
168         calls.  This problem has been reported and discussed several times,
169         including guesses about possible kernel issues:
170         https://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html
171         http://lists.gnu.org/archive/html/coreutils/2012-03/msg00088.html
172         https://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00226.html
173         http://bugs.gnu.org/12820
174         https://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html
175         https://lists.gnu.org/archive/html/bug-gnulib/2009-11/msg00007.html
176         Now, nap() avoids the race alltogether by verifying on a reference
177         file whether a timestamp difference has happened.
178         * tests/nap.h (nap_fd): Define file descriptor variable for the
179         witness file.
180         (nap_works): Change return value to bool.  Change passing
181         the old file's status by value instead of by reference as this function
182         does no longer update that timestamp; rename the function argument from
183         st to old_st.  Remove the local variables cdiff and mdiff because that
184         function now returns true/false instead of the precise delay.
185         (guess_delay): Remove function.
186         (clear_tmp_file): Add new function to close and unlink the witness file.
187         (nap): Instead of re-using the delay which has been calculated during
188         the first call, avoid the race by actually verifying that a timestamp
189         difference can be observed on the current file system.  Use an adaptive
190         approach for the delay to minimize execution time.  Assert that the
191         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
192         = 2^31 - 1 = 2.1s.
193         Use atexit to call clear_tmp_file when the process terminates.
194
195 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
196
197         sig2str: port to C++
198         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
199         Reported by Daniel J Sebald in
200         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00000.html>.
201
202 2013-05-30  Eric Blake  <eblake@redhat.com>
203
204         docs: mention cygwin shortcoming in <sys/un.h>
205         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
206
207         vasnprintf: silence mingw compiler warning
208         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
209
210 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
211
212         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
213         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
214         This fixes a porting bug I recently reintroduced in regex, and
215         some other instances that I discovered while testing the fix.
216         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
217         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
218         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
219         with an empty argument if this is a pedantic pre-C99 GCC.
220         * lib/verify.h: Do not use _Static_assert if this is a pedantic
221         pre-C11 GCC.
222
223         regex: adapt to locking regime instead of depending on pthread
224         Instead of depending on pthread, adapt to whatever thread
225         modules are in use.  Problem reported by Ludovic Courtès in
226         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00082.html>
227         and by Mats Erik Andersson in
228         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00100.html>.
229         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
230         Support either the 'lock' module, or the 'pthread' module, or
231         no module.
232         (lock_lock, lock_unlock): New macros.
233         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
234         * modules/lock, modules/pthread (configure.ac): Add module indicator.
235         * modules/regex (Depends-on): Remove pthread.
236
237 2013-05-22  Eric Blake  <eblake@redhat.com>
238
239         getgroups: document portability issues
240         * doc/glibc-functions/initgroups.texi (initgroups): Mention
241         multithread safety.
242         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
243         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
244         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
245         getugroups.
246         * doc/posix-functions/getgroups.texi (getgroups): Mention
247         multithread safety and mgetgroups.
248
249 2013-05-22  Bernhard Voelker <mail@bernhard-voelker.de>
250
251         test-lchown, test-chown: also skip test if chown fails with EPERM
252         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
253         skip this test, to handle FAT file systems.
254         * tests/test-chown.h (test_chown): Likewise.
255
256 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
257
258         regex: fix dfa race in multithreaded uses
259         Problem reported by Ludovic Courtès in
260         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00058.html>.
261         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
262         New macros.  All uses of __libc_lock_define, __libc_lock_init
263         changed to use the first two of these.
264         (__libc_lock_lock, __libc_lock_unlock): New macros, for
265         non-glibc platforms.
266         (struct re_dfa_t): Define the lock unconditionally.
267         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
268         '#ifdef _LIBC"s.
269         * modules/regex (Depends-on): Add pthread, if we use the
270         included regex.
271
272         * lib/regcomp.c: Do actions that are not needed for glibc,
273         but may be needed elsewhere.
274         (regfree, re_compile_internal): Destroy the lock.
275         (re_compile_internal): Check for lock-initialization failure.
276
277         malloca: port to compilers that reject size-zero arrays
278         This fixes a bug introduced in my previous patch.
279         * lib/malloca.c (struct preliminary_header): Use an int
280         rather than a character array of size int; that's simpler.
281         (struct header): Remove, replacing with ...
282         (union header): New type.  This avoids the need for declaring a
283         character array of size zero, which is not allowed on some platforms.
284         All uses changed.
285
286 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
287
288         parse-datetime, tests: don't use "string" + int
289         Recent versions of 'clang' complain about C source code that
290         uses expressions of the form '"string literal" + integer',
291         I guess on the theory that it's confusing for readers who are
292         used to C++.  On those grounds I suppose it's OK to make this
293         minor style change.
294         * lib/parse-datetime.y (parse_datetime):
295         * tests/test-fchdir.c (main):
296         * tests/test-snprintf-posix.h (test_function):
297         * tests/test-snprintf.c (main):
298         * tests/test-vasnprintf-posix.c (test_function):
299         * tests/test-vasnprintf.c (test_function):
300         * tests/test-vsnprintf.c (main):
301         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
302         Rewrite '"str" + E' to '&"str"[E]'.
303
304 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
305
306         argmatch: port to C++
307         * lib/argmatch.h [__cplusplus]: Add extern "C".
308
309         argp: typo fix
310         * lib/argp-help.c: Typo in comment.
311
312 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
313
314         manywarnings: update for GCC 4.8.0
315         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
316         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
317         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
318         -Wmissing-noreturn, as they are duplicates of other warnings.
319         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
320         was documented to be flaky in earlier versions of GCC.
321
322         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
323         * tests/test-spawn.c (main):
324         * tests/test-sys_socket.c (main):
325         * tests/test-sys_wait.c (main):
326         Don't have a switch value that isn't covered by a case.
327
328         getaddrinfo-tests: port --enable-gcc-warnings to clang
329         * tests/test-getaddrinfo.c (simple):
330         Avoid casts from looser to stricter-aligned pointers.
331
332         thread: port --enable-gcc-warnings to clang
333         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
334         Include <signal.h>, to pacify a warning about pthread_sigmask.
335
336         stdio: use __REDIRECT for fwrite, fwrite_unlocked
337         * lib/stdio.in.h (fwrite):
338         When working around bug 11959, use __REDIRECT rather than '#define
339         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
340         fix the -Wunused-value issue with clang, and it works with GCC too.
341         Problem with targeting reported by Eric Blake in
342         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00067.html>.
343         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
344         debugging the fwrite issue.
345
346         stdio: port --enable-gcc-warnings to clang
347         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
348         since the GCC workaround for fwrite does not pacify clang.
349
350         sig2str: port --enable-gcc-warnings to clang
351         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
352
353         obstack: port --enable-gcc-warnings to clang
354         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
355         Avoid casts from looser to stricter-aligned pointers.
356
357         memchr2: port --enable-gcc-warnings to clang
358         * lib/memchr2.c (memchr2):
359         Avoid casts from looser to stricter-aligned pointers.
360
361         mbsstr: port --enable-gcc-warnings to clang
362         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
363         Avoid casts from looser to stricter-aligned pointers.
364
365         malloca: port --enable-gcc-warnings to clang
366         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
367         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
368
369         inttostr: port --enable-gcc-warnings to clang
370         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
371
372         warnings: port to clang
373         Problem reported by Daniel P. Berrange via Eric Blake in
374         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00055.html>.
375         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
376         (gl_WARN_ADD): Use it.
377
378 2013-05-11  Jim Meyering  <meyering@fb.com>
379
380         quotearg: do not read beyond end of buffer
381         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
382         end of an ARG for which no length was specified.  With an N-byte
383         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
384         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
385         via coreutils' misc/sort-debug-keys.sh test and detected by running
386         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
387         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
388         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
389         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
390         characters correctly."
391
392 2013-05-11  Daiki Ueno  <ueno@gnu.org>
393
394         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
395         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
396         compilation target is Mac OS X 10.6.
397         Problem reported by parafin and Andoni Morales in
398         <http://savannah.gnu.org/bugs/?37844> and
399         <http://lists.gnu.org/archive/html/bug-gettext/2013-05/msg00007.html>.
400
401 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
402
403         mkdir-p: remove assumptions about umask and mode
404         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
405         umask is 0, or that MODE is a subset of MODE_BITS.
406
407 2013-05-10  Eric Blake  <eblake@redhat.com>
408
409         maint.mk: catch more abuse of HAVE_DECL in syntax-check
410         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
411
412 2012-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
413
414         deps: require Automake >= 1.9.6 in generated Makefile fragments
415
416         That is the same minimal version required in the DEPENDENCIES file.
417         Moreover, the old code generated a requirement of Automake >= 1.5,
418         and that is an insanely outdated version.
419
420         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
421         * tests/havelib/rpathlx/Makefile.am: Likewise.
422         * tests/havelib/rpathly/Makefile.am: Likewise.
423         * tests/havelib/rpathlyx/Makefile.am: Likewise.
424         * tests/havelib/rpathlz/Makefile.am: Likewise.
425         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
426         * tests/havelib/rpathx/Makefile.am: Likewise.
427         * tests/havelib/rpathy/Makefile.am: Likewise.
428         * tests/havelib/rpathz/Makefile.am: Likewise.
429
430 2013-05-08  Eric Blake  <eblake@redhat.com>
431
432         bootstrap: AC_INIT may have more than four parameters
433         * build-aux/bootstrap (extract_package_name): Correctly extract
434         non-empty tarname field.  Avoid range in regex.
435         Based on a report by Sami Kerola <kerolasa@iki.fi>.
436
437 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
438
439         qacl: port to MS-Windows port of GNU Emacs
440         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
441         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
442         port of GNU Emacs.  Problem reported by Eli Zaretskii in
443         <http://bugs.gnu.org/14295#14>.
444
445 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
446
447         acl: include quote.h
448         * lib/copy-acl.c: Include quote.h.
449         * lib/set-acl.c: Likewise.
450
451 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
452
453         fchownat, renameat, unlinkat: update statat dependencies
454         These modules use statat and lstatat, not fstatat; so depend on
455         the statat module, which was split out recently from fstatat.
456         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
457         * modules/renameat: Likewise.  Also delete fstat.
458         URL: http://bugs.gentoo.org/468790
459
460 2012-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
461
462         Assume gnulib is checked out from Git, not CVS
463
464         In fact, access to the gnulib repository through CVS has been
465         disabled, or more precisely, got broken and was never restored; see:
466         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>
467
468         Note that support for CVS is not removed completely and unthinkingly
469         by this change: only support for CVS checkouts of gnulib itself is
470         removed.  For example, the 'bootstrap' script still cater to .cvsingore
471         files and CVS directories, for the benefit of those poor gnulib clients
472         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
473
474         * gnulib-tool: Simplify accordingly.
475         * posix-modules: Likewise.
476         * MODULES.html.sh: Likewise.
477         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
478         repository.
479         * doc/gnulib-intro.texi: Likewise.
480         * doc/gnulib-readme.texi: Likewise.
481         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
482         sample '.gitignore' file rather than a sample '.cvsignore'.
483         * NEWS: Update.
484         * m4/extensions.m4: While at it, remove a comment mistakenly referring
485         to "CVS Autoconf" rather than "git Autoconf".
486
487 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
488
489         utimensat-tests, etc.: try to fix some races
490         Problem reported by Bernhard Voelker in
491         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>.
492         I don't know whether this patch fixes that race condition, but it
493         fixes *some* race conditions, so it should be a win.
494         * modules/chown-tests (Depends-on):
495         * modules/fchownat-tests (Depends-on):
496         * modules/fdutimensat-tests (Depends-on):
497         * modules/futimens-tests (Depends-on):
498         * modules/lchown-tests (Depends-on):
499         * modules/stat-time-tests (Depends-on):
500         * modules/utimens-tests (Depends-on):
501         * modules/utimensat-tests (Depends-on):
502         Depend on nanosleep, not usleep.
503         * modules/chown-tests (test_chown_LDADD):
504         * modules/lchown-tests (test_lchown_LDADD):
505         * modules/stat-time-tests (test_stat_time_LDADD):
506         New macro.
507         * modules/fchownat-tests (test_fchownat_LDADD):
508         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
509         * modules/futimens-tests (test_futimens_LDADD):
510         * modules/utimens-tests (test_utimens_LDADD):
511         * modules/utimensat-tests (test_utimensat_LDADD):
512         Add $(LIB_NANOSLEEP).
513         * modules/stat-time-tests (Files): Add tests/nap.h.
514         * tests/nap.h: Include <limits.h>, for INT_MAX.
515         (lt_mtime): Remove.
516         (diff_timespec): New function.
517         (get_stat): Rename from get_mtime.  All callers changed.
518         (nap_works): Determine the needed delay by inspecting the
519         file system's timestamp jumps; this should be more reliable.
520         Look at both mtime and ctime, and take the maximum of the two jumps.
521         (nap_works, guess_delay):
522         Return a nanosecond cound, not a microsecond count.
523         All callers changed.
524         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
525         failure.
526         (nap): Multiply the guess by 1.125, to accommodate the case where
527         the file system's clock is a bit slower than nanosleep's clock.
528         * tests/test-stat-time.c (BASE): New macro.
529         Include nap.h.
530         (nap): Remove; nap.h now defines this.  This removes a duplicate
531         implementation of 'nap'.
532
533         utimens, utimensat: work around Solaris UTIME_OMIT bug
534         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
535         Linux kernel 2.6.32 does.  Work around it in the same way.
536         * doc/posix-functions/futimens.texi (futimens):
537         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
538         * lib/utimens.c (fdutimens, lutimens):
539         * lib/utimensat.c (rpl_utimensat): Work around the bug.
540
541         gettext: now it's your responsibility to add -I$(top_builddir)/intl
542         Formerly, it was your responsibility to do this for all Makefile.ams
543         other than Gnulib's.  Now it's your responsibility to do it for
544         Gnulib's Makefile.am, too.
545         * NEWS: Document this.
546         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
547
548         acl: include errno.h to get errno
549         Reported by Daiki Ueno in
550         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00073.html>.
551         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
552
553 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
554
555         tests: don't assume getdtablesize () <= 10000000
556         * modules/cloexec-tests:
557         * modules/dup2-tests:
558         * modules/dup3-tests:
559         * modules/nonblocking-tests:
560         * modules/posix_spawn_file_actions_addclose-tests:
561         * modules/posix_spawn_file_actions_adddup2-tests:
562         * modules/posix_spawn_file_actions_addopen-tests:
563         * modules/unistd-safer-tests:
564         Depend on the getdtablesize module.
565         * tests/test-cloexec.c:
566         * tests/test-dup-safer.c:
567         * tests/test-dup2.c:
568         * tests/test-dup3.c:
569         * tests/test-fcntl.c:
570         * tests/test-nonblocking.c:
571         * tests/test-posix_spawn_file_actions_addclose.c:
572         * tests/test-posix_spawn_file_actions_adddup2.c:
573         * tests/test-posix_spawn_file_actions_addopen.c:
574         Don't assume getdtablesize () <= 10000000.
575
576 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
577
578         extern-inline: work around bug in Sun c99
579         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
580         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
581
582 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
583
584         qacl: new module, broken out from the acl module
585         This is for GNU Emacs, which wants the acl functions but does
586         not want 'error' invoked when they fail.
587         * lib/acl-internal.h: Do not include error.h, quote.h.
588         (ENOSYS, ENOTSUP): Remove; no longer needed.
589         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
590         * lib/acl.h: Include <stdbool.h>.
591         (acl_errno_valid): New function.
592         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
593         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
594         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
595         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
596         (ACL_INTERNAL_INLINE): Remove; no longer needed.
597         * lib/file-has-acl.c (file_has_acl):
598         * lib/qcopy-acl.c (qcopy_acl):
599         * lib/qset-acl.c (qset_acl):
600         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
601         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
602         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
603         lib/file-has-acl.c, m4/acl.m4 to qacl module.
604         Add lib/set-acl.c.
605         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
606         Add qacl.
607         (configure.ac): Move gl_FUNC_ACL to qacl module.
608         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
609         Rename set-mode-acl.c to set-acl.c.
610         * lib/acl-errno-valid.c: New file.
611         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
612         copy_acl function remains in copy-acl.c.
613         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
614         (_): Remove; not needed.
615         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
616         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
617         * modules/qacl: New file, moved from the old modules/acl.
618         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
619         Remove set-mode-acl.c, copy-acl.c.
620         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
621
622         alignof, intprops, malloca: port better to IBM's C compiler
623         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
624         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
625         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
626
627 2013-04-25  Daiki Ueno  <ueno@gnu.org>
628
629         wctype-h: fix gettext link error on mingw
630         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
631         <https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
632         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
633         rpl_towupper and rpl_towupper.
634
635 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
636
637         regex-tests, regex: allow glibc re_search behavior
638         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
639         re_search input data to make the multi-character collating element
640         in it clearly visible, and treat re_search return code 0 as valid.
641         * m4/regex.m4 (gl_REGEX): Likewise.
642
643 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
644
645         stdalign: doc fix
646         * doc/posix-headers/stdalign.texi (stdalign.h):
647         Gnulib doesn't support '_Alignof expr'.
648
649 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
650
651         stdalign: port to stricter ISO C11
652         ISO C11 says that _Alignof's operand must be a parenthesized type.
653         Problem reported by Eli Zaretskii in
654         <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
655         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
656         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
657
658 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
659
660         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
661         Problem reported by Marco Atzeri in
662         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
663         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
664         Simply delegate to the system <sys/select.h> in this case too.
665         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
666         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
667         be needed on Solaris either.
668         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
669         Simply delgate to the system <sys/time.h> in this case.
670
671 2013-03-19  Karl Berry  <karl@gnu.org>
672
673         * build-aux/gnupload: check for erroneous (with gnupload) use of
674         ftp-upload.gnu.org, tweak help.
675
676 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
677
678         copy-file, rpmatch: fix problems found by cppcheck
679         Reported by Arno Onken in
680         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
681         * lib/rpmatch.c (try): Fix memory leak.
682         * lib/copy-file.c: Include "ignore-value.h".
683         (qcopy_file_preserving): Ignore chown value.
684         * modules/copy-file (Depends-on): Add ignore-value.
685
686 2013-01-27  Jim Meyering  <jim@meyering.net>
687
688         prefix-gnulib-mk: give better diagnostics
689         * build-aux/prefix-gnulib-mk: Don't just "die".
690         Give better diagnostics upon failure.
691
692 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
693
694         putenv: port to Solaris 10
695         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
696         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
697         is not what is wanted here.
698         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
699         declaration, not for its existence.
700
701 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
702
703         mktime: fix configure typo
704         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
705
706 2013-03-12  Eric Blake  <eblake@redhat.com>
707
708         regex-tests: skip UTF-8 test on mingw
709         * modules/regex-tests (Depends-on): Add localcharset.
710         * tests/test-regex.c (main): Use it to skip test on mingw.
711
712 2013-03-11  Eric Blake  <eblake@redhat.com>
713
714         tests: make it easier to bypass alarm time in debugger
715         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
716         * tests/test-memmem.c (main): Likewise.
717         * tests/test-passfd.c (main): Likewise.
718         * tests/test-ptsname.c (main): Likewise.
719         * tests/test-ptsname_r.c (main): Likewise.
720         * tests/test-strcasestr.c (main): Likewise.
721         * tests/test-strstr.c (main): Likewise.
722
723         regex: port to mingw's recent addition of undeclared alarm
724         * doc/posix-functions/alarm.texi (alarm): Document that alarm
725         exists but still doesn't work in newer mingw.
726         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
727         not existence.  Ensure SIGALRM is not trapped.
728         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
729         * m4/regex.m4 (gl_REGEX): Likewise.
730         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
731         * tests/test-regex.c (main): Use correct probe for alarm.
732
733         putenv: avoid compilation warning on mingw
734         * lib/putenv.c (_unsetenv): Protect variable declaration.
735         (putenv): Fix indentation.
736
737 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
738
739         unistd: don't prevent Tru64 Unix from using gnulib strtod.
740         * lib/unistd.in.h: be careful not to include un-needed system
741         stdlib.h from here, because that prevents gnulib stdlib.h from
742         defining rpl_strtod correctly.
743
744 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
745
746         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
747         changesets, but for the 'precision 0' test.
748         * tests/test-vasprintf-posix.c (test_function): Don't insist on
749         round-to-even, since POSIX says rounding is implementation-defined
750         and OS X 10.8.2 rounds 1.51 to 1 here.
751
752         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
753         changeset.
754         * tests/test-vasprintf-posix.c (test_function): Don't insist on
755         round-to-even, since POSIX says rounding is implementation-defined
756         and OS X 10.8.2 rounds 1.5 to 1 here.
757
758 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
759
760         vasnprintf-posix-tests: allow rounding 1.5 to 1
761         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
762         round-to-even, since POSIX says rounding is implementation-defined
763         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
764         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
765
766         bootstrap: port to FreeBSD
767         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
768         that treat '--' differently.  Reported by Mats Erik Andersson in
769         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
770
771 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
772
773         regex: rename remaining __attribute calls to __attribute__.
774         2012-02-25 changed definition of __attribute, but left some uses
775         unchanged, preventing compilation of regex module on most non-gcc
776         environments.
777         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
778         (lookup_collation_sequence_value, build_range_exp)
779         (build_collating_symbol): Set attributes with newly renamed
780         __attribute__ decorator.
781         * lib/regex_internal.c (re_string_peek_byte_case)
782         (re_node_set_compare, re_node_set_contains): Likewise.
783         * lib/regexec.c (acquire_init_state_context): Likewise.
784
785 2013-03-06  Bruno Haible  <bruno@clisp.org>
786
787         execute: Revert last change, but use a different condition.
788         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
789         on Windows.
790
791 2013-03-05  Eric Blake  <eblake@redhat.com>
792
793         execute: drop dead code
794         * lib/execute.c (nonintr_close, nonintr_open): Delete.
795
796 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
797
798         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
799         * m4/non-recursive-gnulib-prefix-hack.m4
800         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
801         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
802         <http://bugs.gnu.org/10305#237>.
803
804 2013-03-04  Eric Blake  <eblake@redhat.com>
805
806         test-getsockopt: avoid compiler warning
807         * tests/test-getsockopt.c (includes): Ensure close is declared.
808
809 2013-03-02  Bruno Haible  <bruno@clisp.org>
810
811         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
812         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
813
814 2013-03-02  Bruno Haible  <bruno@clisp.org>
815
816         gettext: Update to version 0.18.2.
817         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
818         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
819                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
820
821 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
822
823         regex: merge patches from libc
824
825         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
826         * lib/regex_internal.h (__attribute__): Rename from __attribute.
827         All uses changed.
828         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
829         (re_string_wchar_at, re_string_elem_size_at):
830         Mark function as possibly unused.
831
832         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
833         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
834         elements compare against the byte sequence of it, not its name.
835
836 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
837
838         putenv: port better to native Windows
839         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
840         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
841         (_unsetenv): Use _putenv if available.
842         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
843         a bit less likely to cause damage.
844         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
845         Fix the wrong value with SetEnvironmentVariable.
846         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
847         code better.
848
849 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
850
851         regex: ignore old-style-definition warnings
852         * lib/regex.c: Add pragma to ignore these warnings.
853         Problem reported for GNU tar by Pavel Raiskup.
854
855 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
856
857         getcwd: support coreutils better
858         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
859         but this might not be correct in coreutils, which disables
860         the raw decl checks.  Problem reported by Nagendra in
861         <http://bugs.gnu.org/10305#192>.
862         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
863         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
864         Test the getcwd function, not any macro, since getcwd.c wants the
865         function.
866         * m4/getcwd.m4 (gl_FUNC_GETCWD):
867         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
868         compile, as might happen if there's a macro but no function.
869
870         strtod: support coreutils better
871         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
872         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
873         disables the raw decl checks.  This assumes there is an underlying
874         strtod, but that's a safe assumption these days.
875         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
876
877         mountlist: port to HP NonStop
878         Reported by Joachim Schmitz in
879         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
880         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
881         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
882
883 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
884
885         extern-inline: avoid compilation error with HP-UX cc
886         Reported by Richard Lloyd in
887         <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
888         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
889         Suppress extern inline with HP-UX cc.  This should be safe,
890         though it may hurt performance.  Perhaps someone with some HP-UX
891         experience can come up with a higher-performance fix.
892
893 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
894
895         putenv: fix heap corruption with mixed putenv/_putenv
896         Problem reported by Michael Goffioul in
897         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
898         * lib/putenv.c (putenv) [HAVE__PUTENV]:
899         Rely on _putenv to allocate the new environment.
900         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
901         * modules/putenv (configure.ac): Use it.
902
903 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
904
905         unsetenv etc.: port to Solaris 11 + GNU Emacs
906         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
907         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
908         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
909         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
910         idea but is too painful to fix right now), and without this gnulib
911         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
912         compiling unsetenv.c on Solaris 11.  Fix the problem for
913         unsetenv.c, and fix other similar occurrences.
914
915 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
916
917         secure_getenv: fix C++ declaration typo
918         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
919         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
920         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
921
922 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
923
924         careadlinkat: stop exporting careadlinkatcwd
925         Only Emacs used it directly, and Emacs no longer needs it.
926         * NEWS: Document this simplification.
927         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
928         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
929         for readlink.
930         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
931         Don't include stdlib.h; no longer needed.
932         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
933         * lib/relocwrapper.c: Adjust comment to match new dependencies.
934         * modules/areadlink (Depends-on): Add readlink.
935         (Maintainer): Add self.
936         * modules/careadlinkat (Depends-on): Remove readlink.
937
938         extensions: port better to HP-UX
939         This is merged from git Autoconf.
940         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
941         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
942         so that it's compatible with the value used when compiling.
943
944         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
945         Problem reported by Mats Erik Andersson in
946         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
947         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
948         openpty function exists, not merely when we intend to replace it.
949         This corrects the 2013-01-31 patch, which mistakenly defined
950         HAVE_OPENPTY even on hosts that lacked it.
951
952 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
953
954         secure_getenv: fix include typo
955         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
956
957         secure_getenv: port better to FreeBSD and Solaris
958         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
959         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
960         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
961         This works better on BSDish platforms.
962         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
963         Test for issetugid if __secure_getenv is missing.
964
965 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
966
967         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
968         Some of these changes are merged in from git Autoconf.
969         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
970         When deciding whether to define _XOPEN_SOURCE, inspect the
971         preprocessor macro __hpux instead of the more-heavyweight
972         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
973         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
974         as the key for __EXTENSIONS__.
975
976         unistd: avoid namespace pollution on non-glibc systems
977         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
978         This avoids namespace pollution on non-glibc systems, by causing
979         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
980         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
981         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
982
983 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
984
985         tmpdir: use secure_getenv
986         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
987         Define to secure_getenv, not getenv.
988         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
989         as that's now secure_getenv's job.
990         * modules/tmpdir (Depends-on): Add secure_getenv.
991
992         tempname: use secure_getenv
993         * lib/tempname.c (__secure_getenv) [!_LIBC]:
994         Define to secure_getenv, not getenv.
995         * modules/tempname (Depends-on):
996         Add secure_getenv.
997
998         secure_getenv: new module
999         * MODULES.html.sh (Extra functions based on ANSI C 89):
1000         Add secure_getenv.
1001         * doc/glibc-functions/secure_getenv.texi: New file.
1002         * doc/gnulib.texi: Include it.
1003         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
1004         New files.
1005         * lib/stdlib.in.h (secure_getenv): New decl.
1006         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
1007         * modules/stdlib (stdlib.h):
1008         Add secure_getenv checks.
1009
1010 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
1011
1012         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
1013         Reported for OS X 10.8.2 by Assaf Gordon in
1014         <http://bugs.gnu.org/13516>.
1015         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
1016         !HAVE_OPENAT && !HAVE_FDOPENDIR.
1017         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
1018         so that they can be kept in sync more easily.  Avoid PATH_MAX
1019         test on the Hurd.  Sync from test-getcwd.c for errno tests after
1020         mkdir or chdir failure.
1021         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
1022         lib/getcwd.c.
1023         (test_abort_bug): Do not test for the deep directory bug unless we
1024         have openat support.  Avoid PATH_MAX test on the Hurd.
1025
1026         regex-tests, regex: fix bug: memset undeclared
1027         * tests/test-regex.c: Don't include regex.h twice.  Include
1028         string.h, to declare memset.  Christensen's report also mentioned
1029         this issue.
1030         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
1031         test-regex.c, to avoid future problems like this.  Remove
1032         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
1033         twice.
1034
1035         regex-tests: fix link errors on older Solaris
1036         These need to link with @LIBINTL@ to get libintl_gettext.
1037         Problem reported by Tom G. Christensen in
1038         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
1039         * modules/regex-tests (test_regex_LDADD): New macro.
1040
1041 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
1042
1043         regex-tests: new module
1044         * modules/regex-tests, tests/test-regex.c: New files.
1045
1046         regex: fix off-by-one error in configure test
1047         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
1048
1049 2013-01-31  Eric Blake  <eblake@redhat.com>
1050
1051         regex: avoid infinite configure test
1052         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
1053
1054 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
1055
1056         openpty: fix bug where HAVE_OPENPTY wasn't defined
1057         See the thread starting at:
1058         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
1059         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
1060         openpty function exists, not merely when we intend to replace it.
1061
1062 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
1063
1064         sys_time: port to Solaris 2.6
1065         There is a circularity problem on Solaris 2.6, where <time.h> includes
1066         <sys/time.h> for struct timespec.  The include nesting is gnulib
1067         <time.h>, system <time.h>, gnulib <sys/time.h>, system
1068         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
1069         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
1070         <sys/siginfo.h>; the last, innermost file needs struct
1071         timestruc_t, which is defined in <sys/time.h>, which has not been
1072         fully parsed.  Problem reported by Tom G. Christensen in
1073         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
1074         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
1075         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
1076         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
1077         uses split double-inclusion guards.
1078
1079 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
1080
1081         regex: test for buffer overrun
1082         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
1083         for the just-fixed regex bug.
1084
1085 2013-01-29  Andreas Schwab  <schwab@suse.de>
1086
1087         regex: fix buffer overrun in regexp matcher [BZ #15078]
1088         * lib/regexec.c (extend_buffers): Add parameter min_len.
1089         (check_matching): Pass minimum needed length.
1090         (clean_state_log_if_needed): Likewise.
1091         (get_subexp): Likewise.
1092
1093 2013-01-28  Pádraig Brady  <P@draigBrady.com>
1094
1095         mountlist: don't consider "devtmpfs" as dummy
1096         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
1097         as there is storage associcated with it.
1098
1099 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1100
1101         futimens-tests, utimens-tests: Depend on gettext.
1102         This works around a problem introduced in my 2013-01-12 patch,
1103         which added @LIBINTL@ to these modules.
1104         * modules/futimens-tests (Depends-on):
1105         * modules/utimens-tests (Depends-on): Add gettext.
1106
1107 2013-01-26  Eric Blake  <eblake@redhat.com>
1108
1109         test-getpeername: fix typo
1110         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
1111
1112 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
1113
1114         bootstrap: remove the need for a sorted .gitignore file
1115         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
1116         rename to insert_if_absent(), so that we don't need or generate
1117         a sorted .gitignore file.  We do require a .gitignore with no
1118         existing duplicate entries and enforce that.
1119         (sort_patterns): Remove this function as we now use the simpler
1120         technigue of inserting blacklist entries at the top of the file,
1121         assuming gnulib won't be inserting !whitelist entries.
1122
1123 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1124
1125         readlinkat: don't depend on gl_FUNC_OPENAT
1126         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
1127         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
1128         renameat.m4, symlinkat.m4; but one thing at a time.
1129
1130         statat: new module, split out from fstatat
1131         GNU Emacs needs the POSIX-specified fstatat, but not the
1132         gnulib-specified statat and lstat.  Split the latter two into a
1133         new module 'statat'.
1134         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
1135         * lib/openat.h, lib/statat.c (STATAT_INLINE):
1136         Rename from FSTATAT_INLINE. All uses changed.
1137         * modules/fstatat (Files): Remove lib/statat.c.
1138         (gl_MODULE_INDICATOR([fstatat])): Remove.
1139         (lib_SOURCES): Remove.
1140         (Maintainer): Add self.
1141         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
1142         * tests/test-fstatat.c (BASE): Don't define if already defined.
1143         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
1144
1145 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
1146
1147         tests: don't assume fd 99 is closed
1148         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
1149         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
1150         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
1151         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
1152         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
1153         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
1154         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
1155         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
1156         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
1157         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
1158         * tests/test-fwrite.c, tests/test-getpeername.c:
1159         * tests/test-getsockname.c, tests/test-getsockopt.c:
1160         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
1161         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
1162         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
1163         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
1164         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
1165         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
1166         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
1167         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
1168         * tests/test-unlinkat.c, tests/test-unlockpt.c:
1169         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
1170         Close file descriptor 99, instead of assuming it's already closed.
1171
1172 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
1173
1174         stpncpy: port to OS X 10.8
1175         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
1176         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
1177
1178 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
1179
1180         unistd: port to recent mingw
1181         * lib/unistd.in.h: Remove special invocation convention for mingw,
1182         which breaks for the latest mingw version.  See John W. Eaton in
1183         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
1184
1185         largefile: port better to Mac OS X 10.5
1186         This patch is backported from Autoconf git.
1187         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
1188         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
1189         with ino_t size being different for configuration time versus
1190         build/run time.  Problem reported by PHO in
1191         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
1192
1193 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
1194
1195         doc: clarify -Werror
1196         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
1197         clarify that it's intended for developers, not for ordinary builds,
1198         and mention --enable-gcc-warnings as one possible use.
1199
1200 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
1201
1202         stdint: fix build with Android's Bionic fox x86
1203         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
1204         was already included as _SSIZE_T_DEFINED_ might also be defined
1205         in include/machine/_types.h, which is included by stdio.h
1206
1207 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
1208
1209         net_if-tests: port to Solaris 7 + GCC 3.4.6
1210         Problem reported by Tom G. Christensen in
1211         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
1212         * tests/test-net_if.c (ni): Move to next the code that uses it,
1213         so that it's declared only if needed.
1214
1215 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
1216
1217         net_if-tests: port to older Solaris
1218         Problem reported by Tom G. Christensen in
1219         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1220         * modules/net_if-tests (NET_IF_LIB): New substitution.
1221         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
1222         (HAVE_IF_NAMEINDEX): New C macro.
1223         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
1224
1225         system-quote-tests: port to older Solaris
1226         Problem reported by Tom G. Christensen in
1227         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1228         * tests/test-system-quote-child.c (fopen, fread): Undef.
1229
1230         c-xvasprintf etc.: fix link errors on older Solaris
1231         These need to link with @LIBINTL@ to get libintl_gettext.
1232         Problem reported by Tom G. Christensen in
1233         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1234         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
1235         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
1236         * modules/futimens-tests (test_futimens_LDADD):
1237         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
1238
1239 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
1240
1241         locale: port to Solaris 2.6 and 7 + GNU gettext
1242         * lib/locale.in.h: Just include_next <locale.h> when
1243         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
1244         when combining the localename module with GNU gettext 0.18.2.
1245         Problem reported by Tom G. Christensen in
1246         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
1247
1248 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
1249
1250         stdlib: port to Solaris 2.6
1251         Also, the code worked on Solaris 7 through 9 only by accident.
1252         Problem reported by Tom G. Christensen in
1253         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
1254         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
1255         simply include the system stdlib.h.
1256         * lib/getopt.in.h (__need_system_stdlib_h):
1257         * lib/pthread.in.h (__need_system_stdlib_h):
1258         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
1259         Define when including <stdlib.h>, to avoid problems at least for
1260         the pthread case on Solaris 2.6 and 7.  These .h files can get by
1261         with the system stdlib.h.
1262
1263 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
1264
1265         doc: update main copyright year
1266         * doc/gnulib.texi: Update copyright date.
1267
1268         doc: improve ISO 8601 discussion
1269         * doc/parse-datetime.texi (Combined date and time of day items):
1270         Specify more carefully what formats are supported and what is
1271         done with excess precision.
1272
1273 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1274
1275         doc: avoid small caps
1276         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
1277         they're more trouble than they're worth.  Suggested by Karl Berry
1278         in <http://bugs.gnu.org/13360>.
1279
1280         regex: conform to strict C
1281         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
1282         From Aharon Robbins.
1283
1284         gnulib-tool: fix incompatibility with autopoint 0.18.2
1285         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
1286         Problem reported by Tom G. Christensen in
1287         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
1288
1289 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1290
1291         fprintftime: bring back and reword fwrite comment
1292         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
1293
1294         stdio: remove now-unnecessary stdio.c
1295         Since stdio.in.h no longer uses inline functions, we no longer
1296         need to compile the extern versions.
1297         * lib/stdio.c: Remove.
1298         * modules/stdio (Files): Remove lib/stdio.c.
1299         (lib_SOURCES): Remove.
1300
1301         unicodeio: depend on stdio, not ignore-value
1302         * lib/unicodeio.c: Do not include ignore-value.h.
1303         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
1304         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
1305
1306         fprintftime: depend on stdio, not ignore-value
1307         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
1308         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
1309         since the stdio module arranges to silence that warning now.
1310         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
1311
1312 2012-10-04  Simon Josefsson  <simon@josefsson.org>
1313
1314         stdint-tests: Fix expanded-before-required-warning.
1315         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
1316
1317 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
1318
1319         fwrite: silence __wur only for older glibc versions
1320         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
1321         This will help us remove this workaround some time in the far future.
1322
1323 2013-01-03  Eric Blake  <eblake@redhat.com>
1324
1325         fwrite: silence __wur without using inline
1326         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
1327         just gcc, and in a way that avoids inline issues.
1328         * modules/stdio (Depends-on): Drop extern-inline.
1329
1330 2013-01-03  Jim Meyering  <jim@meyering.net>
1331
1332         update-copyright: avoid copyright notice date corruption
1333         Given a sequence of copyright year numbers in which the final
1334         one was a two-digit number that happened to be a substring of
1335         a preceding four-digit year number, we would mistakenly update
1336         the substring (from two- to four-digit) rather than the two-digit
1337         number at the end, which, combined with the addition of the current
1338         4-digit year number would yield two 5-digit year numbers, e.g.,
1339         here, it would convert the first "99" to "1999, 2013" rather than
1340         the final one:
1341           1991, 99
1342           11999, 20131, 1999
1343         * build-aux/update-copyright: Tighten a regexp.
1344         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
1345         Reported by Joseph Myers in
1346         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
1347
1348 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
1349
1350         regex: omit needless signed-pointer casts
1351         * lib/regcomp.c (build_charclass, build_charclass_op):
1352         Use char *, not unsigned char *, for class name and extra.
1353         The char values are always nonnegative so there's no need to
1354         insist on unsigned char * here, and using char * removes the need
1355         for casts.  Reported by Aharon Robbins in
1356         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1357
1358         regex: support Gawk, which never uses alloca
1359         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
1360         Do not include in this case.  Gawk doesn't supply a substitute
1361         alloca.h and doesn't need one.
1362
1363         regex: port __libc_lock_define usage to C89
1364         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
1365         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
1366         does not conform to C89, as it has an empty macro argument.
1367         Reported by Aharon Robbins in
1368         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1369
1370 2013-01-01  Eric Blake  <eblake@redhat.com>
1371
1372         maint: update all copyright year number ranges
1373         Run "make update-copyright".
1374
1375         version-etc: bump copyright year reported in --version
1376         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
1377
1378 2012-12-31  Eric Blake  <eblake@redhat.com>
1379
1380         sigprocmask-tests: skip test if pid is unexpectedly large
1381         * tests/test-sigprocmask.c (main): Add range check.
1382
1383         git-version-gen: avoid test -z portability glitch
1384         * build-aux/git-version-gen: Prefer portable test spelling, since
1385         git-version-gen is run on more than just developer machines.
1386
1387 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
1388
1389         git-version-gen: add --fallback option to use if git is not present
1390         * build-aux/git-version-gen: Add support for the new option --fallback,
1391         which comes into play when there is no $tarball_version_file and
1392         git is not working.
1393         (scriptversion): Update.
1394
1395         maint.mk: handle missing git with more grace
1396         * top/maint.mk (no-submodule-changes, public-submodule-commit):
1397         Quietly proceed if git is not present.
1398
1399 2012-12-31  Eric Blake  <eblake@redhat.com>
1400
1401         dup2: work around cygwin bug
1402         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
1403         * lib/dup2.c (rpl_dup2): Work around it.
1404         * doc/posix-functions/dup2.texi (dup2): Document it.
1405
1406 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
1407
1408         regex: remove unnecessary dependency on localcharset.h
1409         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
1410         hasn't been needed for years.
1411         * modules/regex (Depends-on): Remove localcharset.
1412
1413         regex: revert single-byte change
1414         * lib/regexec.c (check_node_accept_bytes): Revert previous change
1415         to this function.  This was alredy fixed in a different way, at
1416         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
1417         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
1418         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
1419
1420         regex: simplify based on Gawk version
1421         * lib/regex_internal.c (re_dfa_add_node): Simplify.
1422         Reported by Aharon Robbins in
1423         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1424
1425 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1426
1427         regex: check that pattern char is single-byte
1428         Reported by Aharon Robbins in
1429         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1430         * lib/regexec.c (check_node_accept_bytes):
1431         Return 0 if the pattern string has a multibyte character here.
1432
1433         regex: implement rational ranges
1434         Reported by Aharon Robbins in
1435         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1436         * lib/regcomp.c (build_range_exp) [!_LIBC]:
1437         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
1438         Implement rational ranges.
1439
1440         regex: avoid redefining __wctype
1441         Reported by Aharon Robbins in
1442         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1443         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
1444         #undef before defining.
1445
1446         regex: port to hosts where malloc (0) == NULL
1447         Reported by Aharon Robbins in
1448         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1449         * lib/regex_internal.c (re_node_set_alloc):
1450         Don't assume that malloc (0) yields nonnull.
1451         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
1452         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
1453         * modules/regex (Files): Add m4/eealloc.m4.
1454
1455         regex: port to C89
1456         Reported by Aharon Robbins in
1457         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1458         * lib/regcomp.c (init_word_char): Declaration before statement.
1459
1460         regex: merge glibc changes
1461         Also, copy the license wording from glibc.  This simplifies
1462         merging changes.  gnulib-tool will change the wording to GPL as
1463         appropriate, when importing it to other packages.  The only
1464         glibc change made since the last merge, which needs merging, is:
1465         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
1466         * lib/regex_internal.h (gettext): Remove use of INTUSE.
1467
1468         * users.txt: Add Emacs.
1469
1470         doc: omit mention of version when not needed
1471         * doc/gnulib-intro.texi (Portability and Application Code):
1472         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
1473         Don't mention particular dates or versions when not necessary, so
1474         that the documentation won't go out of date so quickly.
1475
1476         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
1477
1478 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
1479
1480         bootstrap: pass --force to autoreconf.
1481         * build-aux/bootstrap (AUTORECONFFLAGS): New.
1482         Add "--force" so that Automake's ylwrap and other such tools
1483         be updated at each bootstrap invocation.
1484         Use it.
1485
1486 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1487
1488         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
1489         The earlier patch forgot to update one of the #if conditions, causing
1490         a problem on Debian testing i386 reported by Mats Erik Andersson
1491         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
1492         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
1493         (__argp_fmtstream_puts, argp_fmtstream_puts)
1494         (__argp_fmtstream_write, argp_fmtstream_write)
1495         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
1496
1497         * doc/gnulib-readme.texi: Minor fixups.
1498         (Portability guidelines): Modernize URLs.  Remove some repetition.
1499         (Indent with spaces not TABs): Reword to avoid too-long lines.
1500         Remove some '@ifset standalone' stuff that isn't used.
1501
1502         * doc/gnulib-readme.texi (Portability guidelines):
1503         ctype.h, not ctime.h.
1504
1505         Correct name of POSIX.1-2001.
1506         * doc/posix-functions/fgetc.texi (fgetc):
1507         * doc/posix-functions/fgets.texi (fgets):
1508         * doc/posix-functions/fread.texi (fread):
1509         * doc/posix-functions/fscanf.texi (fscanf):
1510         * doc/posix-functions/getc.texi (getc):
1511         * doc/posix-functions/getchar.texi (getchar):
1512         * doc/posix-functions/scanf.texi (scanf):
1513         POSIX.1-2001, not POSIX-2001.
1514
1515         doc: move README into manual
1516         * README: Move contents to new file doc/gnulib-readme.texi.
1517         Replace with a one-line summary.
1518         * doc/gnulib.texi (Brief Overview): New section,
1519         with old intro preface.  Include gnulib-readme.texi for contents.
1520         (Philosophy): Rename from "Introduction", since this
1521         section no longer introduces the rest.  Write a new preface.
1522         * doc/gnulib-readme.texi: New file, with the old contents of
1523         README texinfo-ized.  This way, the README info appears
1524         in the online and printed manual.
1525
1526 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
1527
1528         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
1529         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
1530         c_vasprintf() prototype.
1531
1532 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
1533
1534         c-vasprintf: Fix "empty declaration" warning reported by GCC.
1535         * lib/c-vasprintf.h: Remove stray semicolon.
1536
1537 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
1538
1539         gettext: avoid obsolete macro AM_PROG_MKDIR_P
1540         It is obsolete and is planned to be removed from Automake 1.14; see
1541         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
1542         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
1543         (installdirs-data, installdirs-data-yes):
1544         Use $(MKDIR_P), not $(mkdir_p).
1545         * m4/intl.m4 (AM_INTL_SUBDIR):
1546         * m4/po.m4 (AM_PO_SUBDIRS):
1547         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
1548
1549 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
1550
1551         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
1552         On this platform, we are not optimizing but we are using
1553         the substitute for extern inlines, so compile as if
1554         C99-style extern inline, or a substitute, is available.
1555         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
1556         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
1557         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
1558         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
1559         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
1560         Declare as ARGP_FS_EI, not as extern.
1561         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
1562         (__option_is_short, _option_is_end, __option_is_end)
1563         [!_LIBC && __USE_EXTERN_INLINES]:
1564         Declare as ARGP_EI, not as extern.
1565
1566 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1567
1568         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
1569         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
1570         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
1571         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
1572         ...), as the latter is fatal with older Autoconfs.
1573         Problem reported and fix suggested by Eric Blake in thread starting at
1574         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
1575
1576 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1577
1578         AC_PROG_MKDIR_P: don't workaround if not buggy
1579         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
1580         Define only for Autoconf versions before 2.62.
1581         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
1582         undocumented m4_PACKAGE_VERSION, for consistency with the
1583         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
1584         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
1585         was introduced in 2.62.
1586
1587 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
1588
1589         New 'c-*printf' modules for formatted output in C locale.
1590
1591         New module 'c-vasnprintf'.
1592         * modules/c-vasnprintf: New file.
1593         * lib/c-vasnprintf.c: New file.
1594         * lib/c-vasnprintf.h: New file.
1595
1596         New module 'c-snprintf'.
1597         * modules/c-snprintf: New file.
1598         * modules/c-snprintf-tests: New file.
1599         * lib/c-snprintf.c: New file.
1600         * lib/c-snprintf.h: New file.
1601         * tests/test-c-snprintf.c: New file.
1602         * tests/test-c-snprintf.sh: New file.
1603
1604         New module 'c-vsnprintf'.
1605         * modules/c-vsnprintf: New file.
1606         * modules/c-vsnprintf-tests: New file.
1607         * lib/c-vsnprintf.c: New file.
1608         * lib/c-vsnprintf.h: New file.
1609         * tests/test-c-vsnprintf.c: New file.
1610         * tests/test-c-vsnprintf.sh: New file.
1611
1612         New module 'c-vasprintf'.
1613         * modules/c-vasprintf: New file.
1614         * modules/c-vasprintf-tests: New file.
1615         * lib/c-asprintf.c: New file.
1616         * lib/c-vasprintf.c: New file.
1617         * lib/c-vasprintf.h: New file.
1618         * tests/test-c-vasprintf.c  +: New file.
1619         * tests/test-c-vasprintf.sh: New file.
1620
1621         New module 'c-xvasprintf'.
1622         * modules/c-xvasprintf: New file.
1623         * modules/c-xvasprintf-tests: New file.
1624         * lib/c-xasprintf.c: New file.
1625         * lib/c-xvasprintf.c: New file.
1626         * lib/c-xvasprintf.h: New file.
1627         * tests/test-c-xvasprintf.c: New file.
1628         * tests/test-c-xvasprintf.sh: New file.
1629
1630 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1631
1632         argp: better 'inline'
1633         Use extern-inline module to declare extern inline functions.
1634         This avoids some bogus warning diagnostics.  Problem discovered
1635         when modifying GNU tar to use the manywarnings module.
1636         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
1637         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
1638         Define based on extern-inline.
1639         * modules/argp (Depends-on): Add extern-inline.
1640
1641 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1642
1643         filemode, sys_stat: Handle MPX files a la AIX.
1644         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
1645         * lib/sys_stat.in.h (S_ISMPX): New macro.
1646         * tests/test-sys_stat.c: Add tests for MPX files.
1647
1648 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
1649
1650         x-to-1: honor $PERL
1651         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
1652         a chance to use his preferred version of Perl.  This is typically
1653         required by Darwin users whose default /usr/bin/perl does not have all
1654         the libraries required by help2man, and who need to use their MacPorts
1655         installation of Perl instead.
1656
1657 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1658
1659         gnu-web-doc-update: add all the new files, even in new directories
1660         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
1661         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
1662         Use it.
1663         (main): Don't use cvsutils to get the list of unknown files,
1664         just add all the existing files and directories.
1665
1666 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1667
1668         gnu-web-doc-update: improve --help
1669         * build-aux/gnu-web-doc-update: Move comments into --help.
1670
1671 2012-12-07  Eric Wong  <normalperson@yhbt.net>
1672
1673         mountlist: recognize more "dummy" file systems
1674         * lib/mountlist.c (ME_DUMMY_0):
1675         Add these dummy FS names to the list:
1676         - "debugfs" virtual filesystem for kernel debugging
1677         - "devpts" PTY slave filesystem
1678         - "devtmpfs" device filesystem on top of tmpfs/ramfs
1679         - "fusectl" control filesystem for FUSE
1680         - "mqueue" enumerates POSIX message queues
1681         - "rpc_pipefs" kernel <-> userspace bridge for NFS
1682         - "sysfs" is for exporting kernel objects
1683         - "devfs" device filesystem for Linux 2.4 and FreeBSD
1684
1685 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1686
1687         extern-inline: avoid incompatibility with Darwin Libc
1688         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
1689         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
1690         Problem reported by Akim Demaille in
1691         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
1692
1693 2012-12-11  Simon Josefsson  <simon@josefsson.org>
1694
1695         gnupload: Work with GnuPG using gpg-agent (for smartcards).
1696         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
1697         let it handle password prompting.
1698
1699 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
1700
1701         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
1702         * lib/canonicalize.c (canonicalize_filename_mode):
1703         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
1704         fetching the current directory.  Don't overrun the beginning of
1705         rpath if there's no slashes after the MS-Windows drive letter.
1706
1707 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1708
1709         maint.mk: avoid extra forks
1710         * top/maint.mk (_cfg_mk): The GNU make manual documents that
1711         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
1712         So use that instead of "$(shell test -f FILE && echo FILE)".
1713
1714 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
1715
1716         vasnprintf: fix ASCII_ONLY typo
1717         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1718         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1719         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1720         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
1721         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
1722
1723 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1724
1725         list, oset, xlist, xoset: fix extern inline issue with C99
1726         This was introduced by my recent changes for 'inline'.
1727         Problem reported for gettext by Daiki Ueno in
1728         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
1729         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
1730         (gl_list_nx_create, gl_list_size, gl_list_node_value)
1731         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
1732         (gl_list_previous_node, gl_list_get_at)
1733         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
1734         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
1735         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
1736         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
1737         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
1738         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
1739         (gl_list_iterator_free, gl_sortedlist_search)
1740         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
1741         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
1742         (gl_sortedlist_remove):
1743         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
1744         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
1745         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
1746         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
1747         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
1748         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
1749         (gl_list_add_at, gl_sortedlist_add):
1750         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
1751         Wrap these extern decls inside "#if 0", because they are implemented
1752         as inline functions, and extern inline is not what's wanted here.
1753         It would simplify these .h files to remove the extern decls entirely,
1754         although a downside would be less-clear separation between
1755         specification and implementation.
1756
1757 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
1758
1759         sys_stat: no 'static inline'
1760         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
1761         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
1762
1763         extern-inline: no 'static inline'
1764         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
1765         Do not require AC_C_INLINE.
1766         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
1767         'static inline', for older compilers.
1768
1769         snippet/warn-on-use: no 'static inline'
1770         * build-aux/snippet/warn-on-use.h:
1771         Remove unnecessary 'inline' in comment.
1772
1773         rbtree-list, rbtreehash-list: no 'static inline'
1774         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
1775         * lib/gl_anytree_list2.h (node_at):
1776         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
1777         (gl_oset_first, add_nodes_to_buckets):
1778         Now static, not static inline.
1779
1780         regex: no 'static inline'
1781         * lib/regex_internal.c (calc_state_hash):
1782         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
1783         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1784         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
1785         Now static, not static inline.
1786         (inline) [__GNUC__ < 3 && _LIBC]:
1787         Remove macro; no longer needed.
1788
1789         xvasprintf: no 'static inline'
1790         * lib/xvasprintf.c (xstrcat):
1791         Now static, not static inline.
1792         * m4/xvasprintf.m4 (gl_XVASPRINTF):
1793         Do not require AC_C_INLINE.
1794
1795         parse-datetime, parse-duration: no 'static inline'
1796         * lib/parse-datetime.y (to_uchar):
1797         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
1798         (scale_n_add):
1799         Now static, not static inline.
1800         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
1801         * modules/parse-duration (configure.ac):
1802         Do not require AC_C_INLINE.
1803
1804         getaddrinfo: no 'static inline'
1805         * lib/getaddrinfo.c (validate_family):
1806         Now static, not static inline.
1807         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
1808         Do not require AC_C_INLINE.
1809
1810         ftruncate, fts, lstat, openat, raise: no 'static inline'
1811         * lib/ftruncate.c (chsize_nothrow):
1812         * lib/fts.c (opendirat, diropen):
1813         * lib/lstat.c (orig_lstat):
1814         * lib/openat.c (orig_openat):
1815         * lib/raise.c (raise_nothrow):
1816         Now static, not static inline.
1817         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
1818         * m4/fts.m4 (gl_FUNC_FTS_CORE):
1819         * m4/lstat.m4 (gl_PREREQ_LSTAT):
1820         * m4/openat.m4 (gl_PREREQ_OPENAT):
1821         * m4/raise.m4 (gl_PREREQ_RAISE):
1822         Do not require AC_C_INLINE.
1823
1824         fflush, stat: no 'static inline'
1825         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
1826         (clear_ungetc_buffer, disable_seek_optimization)
1827         (restore_seek_optimization, update_fpos_cache):
1828         * lib/stat.c (orig_stat):
1829         Now static, not static inline.
1830         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
1831         (update_fpos_cache):
1832         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
1833         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
1834         * m4/stat.m4 (gl_PREREQ_STAT):
1835         Do not require AC_C_INLINE.
1836
1837         error, filevercmp: no 'static inline'
1838         * lib/error.c (is_open, flush_stdout):
1839         * lib/filevercmp.c (order):
1840         Now static, not static inline.
1841         * m4/error.m4 (gl_PREREQ_ERROR):
1842         * modules/filevercmp (configure.ac):
1843         Do not require AC_C_INLINE.
1844
1845         dup, execute, fatal-signal, etc.: no 'static inline'
1846         * lib/dup.c (dup_nothrow):
1847         * lib/execute.c (nonintr_close, nonintr_open):
1848         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
1849         * lib/fopen.c (orig_fopen):
1850         * lib/freadseek.c (freadptrinc):
1851         * lib/freopen.c (orig_freopen):
1852         * lib/fstat.c (orig_fstat, fstat_nothrow):
1853         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
1854         (get_rusage_as_via_iterator):
1855         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
1856         * lib/getdtablesize.c (_setmaxstdio_nothrow):
1857         * lib/isatty.c (_isatty_nothrow):
1858         * lib/open.c (orig_open):
1859         * lib/read.c (read_nothrow):
1860         * lib/sigprocmask.c (signal_nothrow):
1861         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
1862         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
1863         * lib/wait-process.c (unregister_slave_subprocess):
1864         * lib/write.c (write_nothrow):
1865         Now static, not static inline.
1866         * lib/spawn-pipe.c (nonintr_open): Define only if
1867         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
1868         * m4/dup.m4 (gl_PREREQ_DUP):
1869         * m4/execute.m4 (gl_EXECUTE):
1870         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
1871         * m4/fopen.m4 (gl_PREREQ_FOPEN):
1872         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
1873         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
1874         * m4/fstat.m4 (gl_PREREQ_FSTAT):
1875         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
1876         * m4/isatty.m4 (gl_PREREQ_ISATTY):
1877         * m4/open.m4 (gl_PREREQ_OPEN):
1878         * m4/read.m4 (gl_PREREQ_READ):
1879         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
1880         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
1881         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
1882         * m4/wait-process.m4 (gl_WAIT_PROCESS):
1883         * m4/write.m4 (gl_PREREQ_WRITE):
1884         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
1885         Do not require AC_C_INLINE.
1886
1887         c-strtod, memcoll, readutmp: no 'static inline'
1888         * lib/c-strtod.c (c_locale):
1889         * lib/memcoll.c (strcoll_loop):
1890         * lib/readutmp.c (desirable_utmp_entry):
1891         Now static, not static inline.
1892         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
1893         * m4/memcoll.m4 (gl_MEMCOLL):
1894         * m4/readutmp.m4 (gl_READUTMP):
1895         Do not require AC_C_INLINE.
1896
1897         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
1898         * lib/arctwo.c (to_uchar):
1899         * lib/md4.c (set_uint32):
1900         * lib/md5.c (set_uint32):
1901         * lib/sha1.c (set_uint32):
1902         * lib/sha256.c (set_uint32):
1903         * lib/sha512.c (set_uint64):
1904         Now static, not static inline.  This is a bit simpler, and doesn't
1905         affect performance with GCC and default optimization.
1906         * m4/arctwo.m4 (gl_ARCTWO):
1907         * m4/md4.m4 (gl_MD4):
1908         * m4/md5.m4 (gl_MD5):
1909         * m4/sha1.m4 (gl_SHA1):
1910         * m4/sha256.m4 (gl_SHA256):
1911         * m4/sha512.m4 (gl_SHA512):
1912         Do not require AC_C_INLINE.
1913
1914         cond, lock, thread: better 'inline'
1915         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
1916         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
1917         New macros.  Use them instead of static inline, for header functions.
1918         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
1919         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1920         * lib/glthread/lock.c (gl_waitqueue_init)
1921         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1922         * lib/glthread/thread.c (get_current_thread_handle):
1923         Change 'static inline' to 'inline'.
1924         * lib/glthread/cond.h, lib/glthread/thread.h:
1925         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1926         * m4/cond.m4 (gl_COND):
1927         * m4/lock.m4 (gl_PREREQ_LOCK):
1928         * m4/thread.m4 (gl_THREAD):
1929         Do not require AC_C_INLINE.
1930         * modules/cond, modules/thread (Depends-on): Add extern-inline.
1931
1932         chdir-long, cycle-check, savewd: better 'inline'
1933         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
1934         (find_non_slash):
1935         * lib/cycle-check.c (is_zero_or_power_of_two):
1936         * lib/savewd.c (savewd_delegating):
1937         Change 'static inline' to 'inline'.
1938         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
1939         Replace all remaining uses of 'static inline' with it.
1940         * lib/savewd.h:
1941         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1942         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
1943         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
1944         * m4/savewd.m4 (gl_SAVEWD):
1945         Do not require AC_C_INLINE.
1946         * modules/savewd (Depends-on): Add extern-inline.
1947
1948         base32, base64: no need for 'inline'
1949         * lib/base32.c (to_uchar, get_8, decode_8):
1950         * lib/base64.c (to_uchar, get_4, decode_4):
1951         Change 'static inline' to 'inline'.
1952         * m4/base32.m4 (gl_PREREQ_BASE32):
1953         * m4/base64.m4 (gl_PREREQ_BASE64):
1954         Do not require AC_C_INLINE.
1955
1956         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
1957         * lib/gl_array_oset.c (gl_array_nx_add_at):
1958         (gl_array_remove_at):
1959         * lib/gl_linkedhash_list.c (hash_resize_after_add)
1960         (add_to_bucket, remove_from_bucket):
1961         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
1962         Change 'static inline' to 'static', as it's simpler to omit
1963         'inline' unless there's a significant performance advantage.
1964
1965         list, oset, xlist, xoset, xsublist: simplify via extern inline
1966         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
1967         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
1968         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
1969         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
1970         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
1971         New macro.  Replace all uses of 'static inline' with it.
1972         [HAVE_INLINE]: Implement functions as *_INLINE functions,
1973         instead of as macros FOO that are defined to static inline
1974         functions FOO_inline.
1975         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
1976         * lib/gl_xsublist.c:
1977         Reimplement from scratch, by defining the corresponding *_INLINE
1978         macro and including the corresponding .h file.  This is simpler.
1979         * modules/list, modules/oset, modules/xlist, modules/xoset:
1980         (Files): Remove m4/gl_list.m4.
1981         (configure.ac): Remove gl_LIST.
1982         * m4/gl_list.m4: Remove.
1983         * modules/list, modules/oset, modules/xlist, modules/xoset:
1984         * modules/xsublist:
1985         (Depends-on): Depend on extern-inline, not inline.
1986
1987         xalloc: better 'inline'
1988         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
1989         New macro.  Replace all uses of 'static inline' with it.
1990         (static_inline): Remove.
1991         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
1992         Let 'extern inline' do the work automatically, instead of doing
1993         it by hand.
1994         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
1995         Remove.  All uses removed.
1996         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
1997
1998         gethrxtime: better 'inline'
1999         * lib/xtime.c: New file.
2000         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
2001         * lib/xtime.h (XTIME_INCLUDE):
2002         New macros.  Replace all uses of 'static inline' with them.
2003         * lib/gethrxtime.c (gethrxtime): Define only if
2004         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
2005         this source file is now always compiled, because of the extern inline.
2006         * lib/gethrxtime.h, lib/xtime.h:
2007         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2008         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
2009         if gethrtime works, as they're not needed in that case.
2010         (gl_XTIME): Do not require AC_C_INLINE.
2011         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
2012         compiled now.  Move the check into gl_GETHRXTIME.
2013         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
2014         (Depends-on): Add extern-inline.
2015         (configure.ac): gethrxtime is always compiled now.
2016         (lib_SOURCES): Add gethrxtime.c.
2017
2018         wctype-h: better 'inline'
2019         * lib/wctype-h.c: New file.
2020         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
2021         New macro.  Replace all uses of 'static inline' with it.
2022         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2023         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
2024         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
2025         (Depends-on): Add extern-inline.
2026
2027         unistd: better 'inline'
2028         * lib/unistd.c: New file.
2029         * lib/unistd.in.h (_GL_UNISTD_INLINE):
2030         New macro.  Replace all uses of 'static inline' with it.
2031         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2032         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
2033         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
2034         (Depends-on): Add extern-inline.
2035
2036         sys_socket: better 'inline'
2037         * lib/sys_socket.c: New file.
2038         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
2039         New macro.  Replace all uses of 'static inline' with it.
2040         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2041         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
2042         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
2043         (Depends-on): Add extern-inline.
2044
2045         stdio: better 'inline'
2046         * lib/stdio.c: New file.
2047         * lib/stdio.in.h (_GL_STDIO_INLINE):
2048         New macro.  Replace all uses of 'static inline' with it.
2049         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2050         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
2051         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
2052         (Depends-on): Add extern-inline.
2053
2054         sigaction: better 'inline'
2055         * lib/sig-handler.c: New file.
2056         * lib/sig-handler.h (SIG_HANDLER_INLINE):
2057         New macro.  Replace all uses of 'static inline' with it.
2058         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2059         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
2060         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
2061         (Depends-on): Add extern-inline.
2062
2063         selinux-h: better 'inline'
2064         * lib/se-context.c, lib/se-selinux.c: New files.
2065         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
2066         * lib/se-context.in.h (SE_CONTEXT_INLINE):
2067         New macro.  Replace all uses of 'static inline' with it.
2068         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2069         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
2070         New macro.  Replace all uses of 'static inline' with it.
2071         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2072         * modules/selinux-h (Files, lib_SOURCES):
2073         Add lib/se-context.c, lib/se-selinux.c.
2074         (Depends-on): Add extern-inline.
2075         (configure.ac): Do not require AC_C_INLINE.
2076
2077         pthread: better 'inline'
2078         * lib/pthread.c: New file.
2079         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
2080         New macro.  Replace all uses of 'static inline' with it.
2081         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2082         * m4/pthread.m4 (gl_PTHREAD_CHECK):
2083         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
2084         * modules/pthread (Files): Add lib/pthread.c.
2085         (Depends-on): Add extern-inline.
2086
2087         math: better 'inline'
2088         * lib/math.c: New file.
2089         * lib/math.in.h (_GL_MATH_INLINE):
2090         New macro.  Replace all uses of 'static inline' with it.
2091         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2092         * m4/math_h.m4 (gl_MATH_H):
2093         Do not require AC_C_INLINE.
2094         * modules/math (Files, lib_SOURCES):
2095         Add lib/math.c.
2096         (Depends-on): Add extern-inline.
2097
2098         count-one-bits: better 'inline'
2099         * lib/count-one-bits.c: New file.
2100         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
2101         New macro.  Replace all uses of 'static inline' with it.
2102         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2103         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
2104         Do not require AC_C_INLINE.
2105         * modules/count-one-bits (Files, lib_SOURCES):
2106         Add lib/count-one-bits.c.
2107         (Depends-on): Add extern-inline.
2108
2109         count-leading-zeros: better 'inline'
2110         * lib/count-leading-zeros.c: New file.
2111         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
2112         New macro.  Replace all uses of 'static inline' with it.
2113         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2114         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
2115         Do not require AC_C_INLINE.
2116         * modules/count-leading-zeros (Files, lib_SOURCES):
2117         Add lib/count-leading-zeros.c.
2118         (Depends-on): Add extern-inline.
2119
2120         bitrotate: better 'inline'
2121         * lib/bitrotate.c: New file.
2122         * lib/bitrotate.h (BITROTATE_INLINE):
2123         New macros.
2124         Replace all uses of 'static inline' with them.
2125         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2126         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
2127         (Depends-on): Add extern-inline.
2128         (configure.ac): Do not require AC_C_INLINE.
2129
2130 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
2131
2132         maint.mk: avoid gratuitous failure
2133         Reported by Stefano Lattarini in
2134         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
2135         * top/maint.mk (public-submodule-commit): Quote more safely.
2136
2137 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
2138
2139         canonicalize, canonicalize-lgpl: support MS-Windows file names
2140         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
2141         for test cases, which it'd be nice to add at some point.
2142         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
2143         * lib/canonicalize.c (canonicalize_filename_mode):
2144         * lib/canonicalize-lgpl.c (__realpath):
2145         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
2146         slash is at the beginning of the file name.  Use ISSLASH, instead
2147         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
2148         the first character with '/'.  Test for
2149         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
2150         with a drive letter.
2151         * lib/canonicalize.c (SLASHES): New macro.
2152         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
2153
2154 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
2155
2156         fts: introduce FTS_VERBATIM
2157         * lib/fts_.h (FTS_VERBATIM): New bit flag.
2158         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
2159         * lib/fts.c (fts_open): Honor it.
2160
2161 2012-11-09  Pádraig Brady  <P@draigBrady.com>
2162
2163         getlogin-tests: allow errno == ENXIO
2164         * tests/test-getlogin.c (main): Skip tests if getlogin fails
2165         with errno == ENXIO (No controlling tty).
2166         getlogin_r-tests: Likewise. Also allow errno == ENOENT
2167         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
2168         with errno == ENOENT.  This was reported to happen in various
2169         situations on GNU/Linux.
2170
2171 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2172
2173         getlogin-tests: allow errno == ENOENT
2174         * tests/test-getlogin.c (main): Skip tests if getlogin fails
2175         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
2176         when running a test in an Emacs shell buffer.
2177
2178 2012-11-08  Jim Meyering  <jim@meyering.net>
2179
2180         tests/nap.h: avoid warning about unused variable
2181         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
2182
2183         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
2184         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
2185         white space before each of the special-cased file names, to avoid
2186         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
2187         in http://bugs.gnu.org/12830.
2188
2189 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
2190
2191         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
2192         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
2193         fails with errno == EBADF when fd is opened with O_PATH.
2194         Reported by Jim Meyering in
2195         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
2196         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
2197         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
2198
2199 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
2200
2201         test-utimens: speed up by taking shorter naps
2202         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
2203         New functions.
2204         (nap): Use them, to do a better job of guessing the delay.
2205         On Fedora 17 with ext4 atop md atop hard disks, this made
2206         test-utimens run 10x faster, because the test napped for
2207         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
2208         <http://bugs.gnu.org/12820#11>.
2209
2210 2012-11-07  Jim Meyering  <jim@meyering.net>
2211
2212         mountlist.c: fix a compilation failure
2213         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
2214         I introduced while transforming commit v0.0-7683-g613bcb6
2215
2216 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
2217
2218         errno: port to LynxOS 178 2.2.2
2219         Problem reported by Joel Brobecker in
2220         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
2221         * doc/posix-headers/errno.texi (errno.h): Document this.
2222         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
2223         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
2224         Supply a string for EILSEQ.
2225         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
2226
2227 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
2228
2229         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
2230         Linux kernel 2.6.39 introduced O_PATH (see
2231         <http://lwn.net/Articles/433854/>) and this is a better fallback
2232         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
2233         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
2234         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
2235         * lib/fcntl.in.h (O_ACCMODE):
2236         * tests/test-fcntl-h.c (main):
2237         Do not reject O_ACCMODE merely because it has more than the
2238         minimal number of bits, as POSIX allows extensions here.
2239
2240 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
2241
2242         mountlist: do not classify a bind-mounted dir entry as "dummy"
2243         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
2244         the "none"-testing clause.
2245         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
2246         exception for bind-mounted directories.
2247
2248 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
2249
2250         quote: provide a means to escape strings with nul characters
2251         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
2252         (quote, quote_n): Rename formal arguments for consistency with
2253         quotearg.
2254
2255 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
2256
2257         test-raise: don't assume 199 is an invalid signal
2258         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
2259
2260         sh-quote-tests: port to Solaris 9
2261         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
2262         Problem reported by Dagobert Michelsen in
2263         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
2264
2265 2012-10-28  Jim Meyering  <jim@meyering.net>
2266
2267         maint.mk: rename a new configurable variable
2268         * top/maint.mk (_gl_translatable_string_re): Rename from
2269         translation-markers: _gl_ prefix to insulate from user Makefile code,
2270         and the _re suffix to inform that it's a regular expression.
2271
2272 2012-10-26  Eric Blake  <eblake@redhat.com>
2273
2274         maint.mk: let packages tweak sc_po_check pattern
2275         * top/maint.mk (sc_po_check): Add translation-markers, to allow
2276         finding files with other translation markers.
2277
2278 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2279
2280         euidaccess: speed up 'configure' on GNU hosts
2281         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
2282         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
2283         it's needed only in this case.  Use AC_CHECK_DECLS, not
2284         AC_CHECK_DECLS_ONCE.
2285         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
2286         or AC_REQUIRE for AC_FUNC_GETGROUPS.
2287
2288         * lib/regexec.c (re_search_internal): Fix grammar in comment.
2289
2290 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2291
2292         fchmodat, fchownat, fstatat: port to non-inlining compilers
2293         Problem reported for FreeBSD 9 by Jim Meyering in
2294         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
2295         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
2296         New files, which define FCHMODAT_INLINE etc.
2297         * lib/fchmodat.c (FCHMODAT_INLINE):
2298         * lib/fchownat.c (FCHOWNAT_INLINE):
2299         * lib/fstatat.c (FSTATAT_INLINE):
2300         Remove, as chmodat.c etc. now do this.
2301         * modules/fchmodat (Files): Add lib/chmodat.c.
2302         * modules/fchownat (Files): Add lib/chownat.c.
2303         * modules/fstatat (Files): Add lib/statat.c.
2304
2305 2012-10-15  Jim Meyering  <jim@meyering.net>
2306
2307         fchmodat.c, fchownat.c: compile-impeding typos
2308         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
2309         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
2310         Introduced in commit v0.0-7636-gd202279.
2311
2312 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2313
2314         fcntl-h: support GNU flags like O_IGNORE_CTTY
2315         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
2316         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
2317         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
2318         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
2319         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
2320         Define to 0 if not already defined.
2321         * tests/test-fcntl-h.c: Test these new flags.
2322
2323 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
2324
2325         faccessat, etc.: support AT_FDCWD-only use
2326         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
2327         this function only if its first argument is AT_FDCWD.
2328         Emacs wants faccessat for AT_EACCESS but not for any first-arg
2329         values other than AT_FDCWD, so it doesn't want all the openat
2330         machinery with fchdir etc.
2331         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
2332         * modules/fstatat, modules/mkdirat, modules/openat (Files):
2333         * modules/unlinkat (Files):
2334         Remove lib/openat-priv.h, as at-internal supplies this file.
2335         Removing this file here allows us to support programs like Emacs
2336         that avoid at-internal.
2337
2338         faccessat: speed up 'configure' on mainstream hosts
2339         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
2340         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
2341         since it's only on unusual platforms that we need to check for
2342         'access', and it's better not to slow 'configure' down on all
2343         platforms.
2344
2345         faccessat: port to Solaris 10
2346         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
2347         Needed on Solaris 10, which doesn't have AT_EACCESS,
2348         so we need the Gnulib fcntl.h, which defines it.
2349
2350 2012-10-14  Pádraig Brady  <P@draigBrady.com>
2351         canonicalize: fix C89 compilation
2352         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
2353         declarations so C89 is supported.  Also remove the comment
2354         referencing memorty allocation as the suggested feature could
2355         not be implemented as suggested.
2356         Reported by Michael Goffioul.
2357
2358 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2359
2360         group-member: omit unnecessary dependencies
2361         This is for Emacs, which has its own allocator and where we
2362         don't want to use xalloc.
2363         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
2364         since we no longer use xmalloc.  Do not include stdbool.h, since
2365         the changes below happen to remove the only use of bool.
2366         (GROUPBUF_SIZE): New constant.
2367         (struct group_info): Remove n_groups member.  Add groupbuf member.
2368         This lets us get the groups without using malloc, usually.
2369         (free_group_info, get_group_info): Adjust to this.
2370         (get_group_info): Return the number of groups found, or -1 on error.
2371         Use plain malloc not xmalloc, and treat its failure as if there
2372         are no groups, as the user already loses in case of error.
2373         (group_member): Simplify, based on changes to get_group_info.
2374         * modules/group-member (Depends-on): Remove dependencies on
2375         xalloc and stdbool.  Add dependency on xalloc-oversized.
2376
2377 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
2378
2379         gethrxtime: port to C++
2380         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
2381
2382 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
2383
2384         ptsname: fix macro-name typo
2385         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
2386
2387 2012-10-03  Simon Josefsson  <simon@josefsson.org>
2388
2389         inttostr: Relax license.
2390         * modules/inttostr (License): Change from LGPL to LGPLv2+.
2391
2392 2012-10-03  Eric Blake  <eblake@redhat.com>
2393
2394         ptsname_r: support ptys returned by FreeBSD posix_openpt
2395         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
2396         lives in /dev/pts/.
2397
2398 2012-10-02  Eric Blake  <eblake@redhat.com>
2399
2400         pselect: reject invalid file descriptors
2401         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
2402         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
2403         * modules/pselect (Depends-on): Add dup2.
2404         * doc/posix-functions/pselect.texi (pselect): Document this.
2405
2406         select: reject invalid file descriptors
2407         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
2408         * lib/select.c (rpl_select) [!win32]: Work around it.
2409         * modules/select (Depends-on): Add dup2.
2410         * doc/posix-functions/select.texi (select): Document this.
2411
2412         select: enhance test
2413         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
2414         New functions.
2415         (test_function): Enhance test.
2416         (do_select_bad_fd): Avoid any stale errno values.
2417
2418         ptsname: reject invalid file descriptors
2419         http://www.austingroupbugs.net/view.php?id=503
2420         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
2421         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
2422         * modules/stdlib (Makefile.am): Replace witness.
2423         * lib/stdlib.in.h (ptsname): Allow for replacement.
2424         * modules/ptsname (configure.ac): Trigger replacement.
2425         * doc/posix-functions/ptsname.texi (ptsname): Document this.
2426
2427 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
2428
2429         hash-pjw-bare: new module
2430         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
2431         * lib/hash-pjw-bare.h: Likewise.
2432         * modules/hash-pjw-bare: New file.
2433         * MODULES.html.sh (Misc): Add it.
2434
2435 2012-10-02  Eric Blake  <eblake@redhat.com>
2436
2437         manywarnings: cater to more gcc infelicities
2438         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
2439         -Wuninitialized without -O.
2440
2441 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
2442
2443         select, poll tests: Make setsockopt invocation effective.
2444         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
2445         the bind() call.
2446         * tests/test-select.h (open_server_socket): Likewise.
2447
2448 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
2449
2450         sockets, sys_stat: restore AC_C_INLINE
2451         This undoes the 2012-09-22 patch.
2452         * m4/sockets.m4 (gl_SOCKETS):
2453         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2454         Restore AC_C_INLINE, since MSVC requires __inline or _inline
2455         and does not support plain 'inline'.  Reported by Bruno Haible in
2456         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
2457
2458 2012-09-30  Bruno Haible  <bruno@clisp.org>
2459
2460         localeconv tests: Avoid test failure on OpenIndiana.
2461         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
2462         skip the 'grouping' and 'mon_grouping' tests.
2463         Reported by Jim Meyering.
2464
2465 2012-09-30  Bruno Haible  <bruno@clisp.org>
2466
2467         havelib: Follow libtool developments.
2468         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
2469         Suggested by Simon Josefsson.
2470
2471 2012-09-29  Jim Meyering  <meyering@redhat.com>
2472
2473         fstatat.c: fix a compile-impeding typo
2474         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
2475         Introduced in commit v0.0-7636-gd202279.
2476         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
2477
2478 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
2479
2480         extern-inline: provide a -Wundef safe config.h
2481         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
2482         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
2483         to produce a -Wundef warning free config.h.
2484
2485 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2486
2487         hash-pjw: relax license to LGPLv2+
2488         * modules/hash-pjw (License): Relax, with consent of author.
2489
2490 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2491
2492         maint.mk: fix strict vs. lazy variable issues with RELEASE
2493         * top/maint.mk (_equal): New function.
2494         (member_check): Strip the result to avoid spurious spaces.
2495         (url_dir_list): Do not use ifeq, which is strict, as it will
2496         require RELEASE_TYPE to be defined.
2497         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
2498         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
2499         (announcement_Cc_alpha,announcement_mail_headers_alpha)
2500         (announcement_Cc_beta,announcement_mail_headers_beta)
2501         (announcement_Cc_stable,announcement_mail_headers_stable): these.
2502         (release): Do not depend on $(release-type), as it forces its
2503         evaluation.  Bounce to it.
2504
2505 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2506
2507         maint.mk: formatting changes
2508         * top/maint.mk: Indent bodies of if's.
2509
2510 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
2511
2512         maint.mk: factor the validation of RELEASE_TYPE
2513         With help from Jim Meyering.
2514         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
2515         * top/maint.mk (_empty, _sp): Move their definition earlier.
2516         (member-check, release-type): New.
2517         Use the latter instead of $(RELEASE_TYPE).
2518         Remove now useless local checks.
2519
2520 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2521
2522         maint.mk: provide "make upload" to ease uploading
2523         See
2524         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
2525         Do not depend simply on the current $(VERSION), as there may have been
2526         new commits since the tarball generation.  Rather, rely on $(RELEASE),
2527         as "make release-commit" already does.
2528
2529         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
2530         "make TYPE".
2531
2532         * top/maint.mk (upload_command, upload, release): New.
2533         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
2534         (VERSION): first word of $(RELEASE) is always right.
2535         (emit_upload_commands): Adjust.
2536         * top/README-release: Update.
2537
2538 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2539
2540         maint.mk: silent rules
2541         With help from Stefano Lattarini.
2542         * top/maint.mk (writable-files): Use $(AM_V_GEN).
2543         (announcement): Use $(AM_V_at).
2544
2545 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2546
2547         localename: port gl_locale_name_thread_unsafe to FreeBSD
2548         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
2549         and use the simpler FreeBSD implementation on Mac OS X as well.
2550         Original idea suggested by Ed Maste in
2551         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
2552
2553 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
2554
2555         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
2556         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
2557         * lib/mbuiter.c, lib/xsize.c: New files.
2558         * lib/binary-io.h (BINARY_IO_INLINE):
2559         * lib/eealloc.h (EEALLOC_INLINE):
2560         * lib/mbfile.h (MBFILE_INLINE):
2561         * lib/mbiter.h (MBITER_INLINE):
2562         * lib/mbuiter.h (MBUITER_INLINE):
2563         * lib/xsize.h (XSIZE_INLINE):
2564         New macros.
2565         Replace all uses of 'static inline' with them.
2566         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2567         * m4/eealloc.m4 (gl_EEALLOC):
2568         * m4/mbfile.m4 (gl_MBFILE):
2569         * m4/mbiter.m4 (gl_MBITER):
2570         * m4/xsize.m4 (gl_XSIZE):
2571         Do not require AC_C_INLINE.
2572         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
2573         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
2574         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
2575         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
2576         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
2577         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
2578         * modules/binary-io, modules/eealloc, modules/mbfile:
2579         * modules/mbiter, modules/mbuiter:
2580         (Depends-on): Add extern-inline.
2581
2582         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
2583         * lib/pipe-filter-aux.c: New file.
2584         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
2585         Replace all uses of 'static inline' with it.
2586         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2587         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
2588         (filter_retcode): No real need for inline here.
2589         * modules/pipe-filter-gi, modules/pipe-filter-ii:
2590         (Files): Add lib/pipe-filter-aux.c.
2591         (Depends-on): Add extern-inline.
2592         (configure.ac): Do not require AC_C_INLINE.
2593         (lib_SOURCES): Add pipe-filter-aux.c.
2594
2595         fdutimensat: omit unnecessary AC_C_INLINE
2596         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
2597
2598         fchmodat, fchownat, fstatat: use extern-inline
2599         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
2600         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
2601         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
2602         New macros.
2603         * lib/openat.h:
2604         Replace all uses of 'static inline' with them.
2605         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2606         * modules/fchmodat, modules/fchownat, modules/fstatat:
2607         * modules/openat-h:
2608         (Depends-on):
2609         Add extern-inline.
2610         (configure.ac): Remove AC_C_INLINE.
2611
2612         acl, mbchar, priv-set: use extern-inline
2613         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
2614         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
2615         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
2616         New macros.
2617         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
2618         Replace all uses of 'static inline' with it.
2619         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2620         * m4/acl.m4 (gl_FUNC_ACL):
2621         * m4/mbchar.m4 (gl_MBCHAR):
2622         * m4/priv-set.m4 (gl_PRIV_SET):
2623         Remove AC_C_INLINE, since 'inline' is no longer used directly.
2624         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
2625         Add extern-inline.
2626
2627         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
2628         * m4/sockets.m4 (gl_SOCKETS):
2629         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2630         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
2631         environments where it's already guaranteed to work, so we needn't
2632         check for it at 'configure'-time.
2633
2634         tls-tests: omit unnecessary 'inline'
2635         * tests/test-tls.c (perhaps_yield): No longer inline.
2636         Simplicity and portability trump efficiency in test cases.
2637
2638         utimens-tests: avoid unnecessary 'inline'
2639         * modules/fdutimensat-tests (configure.ac):
2640         * modules/futimens-tests (configure.ac):
2641         * modules/utimens-tests (configure.ac):
2642         * modules/utimensat-tests (configure.ac):
2643         Remove AC_C_INLINE.
2644         * tests/test-utimens-common.h (ctime_compare):
2645         No longer inline.  Simplicity and portability trump efficiency here.
2646
2647         misc: don't limit commentary to inline functions
2648         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
2649         * lib/xalloc-oversized.h, lib/xsize.h:
2650         Contrast macros to functions in general, not just to inline functions,
2651         when the commentary does not apply only to inline functions.
2652
2653 2012-09-20  Jim Meyering  <meyering@redhat.com>
2654
2655         non-recursive-gnulib-prefix-hack: new module
2656         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
2657         the file that originated in Bison.
2658         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
2659         largely copied from a snippet that resided in bison's configure.ac.
2660         * modules/non-recursive-gnulib-prefix-hack: New file.
2661         * MODULES.html.sh (Support for maintaining and releasing projects):
2662         Add it.
2663
2664 2012-09-18  Jim Meyering  <meyering@redhat.com>
2665
2666         maint.mk: generalize _gl_tight_scope for non-recursive make
2667         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
2668         that *.h would describe additional .h files in the directory
2669         specified by $(_gl_TS_dir).  I.e., add this...
2670         (_gl_TS_other_headers): New variable.
2671
2672         maint.mk: exempt trailing blanks found in "binary" files
2673         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
2674         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
2675         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2676
2677 2012-09-17  Jim Meyering  <meyering@redhat.com>
2678
2679         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
2680         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
2681         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
2682         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2683
2684 2012-09-17  Jim Meyering  <meyering@redhat.com>
2685
2686         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
2687         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
2688         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
2689         It is not in the same category as "exit (0)" or "exit (1)", and
2690         besides, I know of no symbolic name for that 77.  Reported by
2691         Richard W.M. Jones in
2692         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2693
2694 2012-09-17  Jim Meyering  <meyering@redhat.com>
2695
2696         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
2697         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
2698         all uses of #define, not just those that start in column 1.
2699         Richard W.M. Jones reported a false positive in
2700         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2701
2702 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
2703
2704         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
2705         * lib/localcharset.c (locale_charset) [DARWIN7]:
2706         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
2707         as these two values are incompatible.  Problem reported by Max Horn.
2708         For more discussion, please see
2709         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
2710
2711         doc: document sticky-EOF issue
2712         * doc/posix-functions/fgetc.texi (fgetc):
2713         * doc/posix-functions/fgets.texi (fgets):
2714         * doc/posix-functions/fread.texi (fread):
2715         * doc/posix-functions/fscanf.texi (fscanf):
2716         * doc/posix-functions/getc.texi (getc):
2717         * doc/posix-functions/getchar.texi (getchar):
2718         * doc/posix-functions/scanf.texi (scanf):
2719         Mention that glibc and default Solaris do not conform to
2720         C99 and POSIX-2001 or later, with respect to how getchar
2721         etc. behave when feof reports nonzero.
2722
2723 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2724
2725         poll: fix poll(0, NULL, msec)
2726         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
2727         but nfd is 0.  In that case poll should behave like select.
2728
2729 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2730             Paolo Bonzini <bonzini@gnu.org>
2731
2732         poll: fix for systems that can't recv() on a non-socket
2733         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
2734         is readable.  In this case POLLHUP will not be supported.
2735         * doc/posix-functions/poll.texi: Document this.
2736
2737 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
2738
2739         poll/select: document portability problems not fixed by Gnulib.
2740         * doc/posix-functions/poll.texi: poll does not work well on
2741         pipes under Windows.  It has the same limitations as select on
2742         BeOS.
2743         * doc/posix-functions/select.texi: select does not work well
2744         on pipes under Windows.
2745
2746 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
2747
2748         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
2749         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
2750         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
2751         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
2752
2753 2012-09-06  Eric Blake  <eblake@redhat.com>
2754
2755         net_if: give more details about the bug being fixed
2756         * doc/posix-headers/net_if.texi: Add clarification.
2757
2758 2012-09-05  Eric Blake  <eblake@redhat.com>
2759
2760         net_if: new module
2761         * modules/net_if: New module, borrowing ideas from netinet_in.
2762         * m4/net_if_h.m4: New file.
2763         * lib/net_if.in.h: Likewise.
2764         * doc/posix-headers/net_if.texi (net/if.h): Document it.
2765         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2766         * tests/test-net_if.c: Make function checks conditional.
2767         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
2768
2769 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
2770
2771         readutmp: fix non-portable UT_PID use
2772         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
2773         Use `UT_PID (u) > 0' as absolute condition.
2774
2775 2012-09-04  Jim Meyering  <meyering@redhat.com>
2776
2777         fts: reduce two or more trailing spaces to just one, usually
2778         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
2779         or more slashes, trim all but the final one.  But if a name consists
2780         solely of two slashes, don't modify it.  If it consists solely of
2781         three or more slashes, strip all but one.
2782
2783         This is part of the solution to a minor problem with rm:
2784         it would print a bogus ELOOP diagnostic when failing to remove
2785         the slash-decorated name of a symlink-to-directory:
2786
2787             $ mkdir d && ln -s d s && env rm -r s/
2788             rm: cannot remove 's': Too many levels of symbolic links
2789
2790         With the change below and a trivial don't-trim-trailing-slashes
2791         adjustment to remove.c, it does this:
2792
2793             $ env rm -r s/
2794             rm: cannot remove 's/': Not a directory
2795
2796         Improved by: Eric Blake
2797
2798         fts: when there is no risk of overlap, use memcpy, not memmove
2799         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
2800
2801 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2802
2803         stdbool: be more compatible with mixed C/C++ compiles
2804         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
2805         Define to bool, true, false, respectively, as GCC's builtin
2806         stdbool.h does.  Problem reported by Michael Goffioul in
2807         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
2808
2809 2012-08-28  Jim Meyering  <meyering@redhat.com>
2810
2811         revert last change: it was not needed
2812         * tests/test-vc-list-files-git.sh: There's already a test for
2813         a working git, just below.
2814
2815 2012-08-28  Jim Meyering  <meyering@redhat.com>
2816
2817         tests: test-vc-list-files-git.sh: skip if git is not available
2818         * tests/test-vc-list-files-git.sh: Skip this test when git is
2819         not available.
2820
2821 2012-08-26  Bruno Haible  <bruno@clisp.org>
2822
2823         gnulib-tool: Remove no-op option --no-changelog.
2824         * gnulib-tool (func_usage): Don't mention --no-changelog.
2825         (do_changelog): Remove variable.
2826         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2827
2828 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2829
2830         doc: remove fdl-1.2.texi
2831         It is no longer used or maintained, and its use of @acronym
2832         is problematic.  See the thread containing
2833         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
2834         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
2835         * doc/old-licenses/fdl-1.2.texi: Remove.
2836
2837         execinfo: port to FreeBSD
2838         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
2839         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
2840         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
2841         * modules/execinfo (Link): Add $(LIB_EXECINFO).
2842
2843 2012-08-23  Jim Meyering  <meyering@redhat.com>
2844
2845         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
2846         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
2847         to placate gcc's -Wold-style-declaration.
2848
2849 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2850
2851         doc: do not use @acronym
2852         * doc/inet_ntoa.texi (inet_ntoa):
2853         * doc/parse-datetime.texi (Seconds since the Epoch)
2854         (Specifying time zone rules):
2855         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
2856         Don't use @acronym.  Problem reported by John Darlington in
2857         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
2858
2859 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2860
2861         stdnoreturn: port to newer GCCs
2862         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
2863         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
2864         Problem reported by Jim Meyering in
2865         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
2866         Also, rename the 'test' function to a void a clash with the
2867         already-supplied 'main' function; this fixes a bug that incorrectly
2868         rejected GCC 4.7.1's <stdnoreturn.h>.
2869         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
2870         Document GCC problem.
2871
2872 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
2873
2874         pipe-filter: fix comment typo
2875         * lib/pipe-filter.h: Mention correct function.
2876
2877 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
2878
2879         execinfo: new module
2880         This is for Emacs.  Currently, it provides a no-effect stub
2881         on all platforms where it does not already work.
2882         It already works on glibc-based systems, and on Solaris 11.
2883         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
2884         New files.
2885         * doc/glibc-headers/execinfo.texi (execinfo.h):
2886         * MODULES.html.sh (Misc): Document it.
2887
2888 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2889
2890         extern-inline: support old GCC 'inline'
2891         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
2892         if available.  This applies to GCC versions 2.7 through 4.2, or
2893         when newer GCC is using -fgnu89-inline.  The goal is to address
2894         some of the performance issues mentioned by Bruno Haible in
2895         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
2896
2897 2012-08-20  Eric Blake  <eblake@redhat.com>
2898
2899         maint.mk: avoid redundant file name in message
2900         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
2901         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
2902         (sc_makefile_path_separator_check): Remove bogus $(ME).
2903
2904 2012-08-20  Mike Frysinger <vapier@gentoo.org>
2905
2906         timer-time: fix link order when static linking on glibc
2907         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
2908         _after_ -lrt so that it's significant.
2909
2910 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2911
2912         timespec: omit unnecessary AC_C_INLINE
2913         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
2914
2915         stat-time: omit unnecessary AC_C_INLINE
2916         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
2917         Do not require AC_C_INLINE.
2918
2919         ignore-value: omit unnecessary AC_C_INLINE
2920         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
2921
2922         sys_select: avoid 'static inline'
2923         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
2924
2925         mktime: avoid 'static inline'
2926         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
2927         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
2928
2929 2012-08-19  Bruno Haible  <bruno@clisp.org>
2930
2931         gnulib-tool: Improve coding style.
2932         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
2933         func_emit_lib_Makefile_am.
2934         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2935
2936 2012-08-19  Bruno Haible  <bruno@clisp.org>
2937
2938         gnulib-tool: Fix indentation.
2939         * gnulib-tool (func_import): Fix indentation.
2940
2941 2012-08-19  Bruno Haible  <bruno@clisp.org>
2942
2943         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
2944         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
2945         on the list of removed files.
2946
2947 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2948
2949         test-parse-datetime: avoid glibc leap-second glitch
2950         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
2951         with the 2012 rules.  Problem reported by Bruce Dubbs in
2952         <http://bugs.gnu.org/12206>.
2953
2954 2012-08-14  Bruno Haible  <bruno@clisp.org>
2955
2956         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
2957         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
2958         from argument.
2959         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2960
2961 2012-08-14  Eric Blake  <eblake@redhat.com>
2962
2963         ldexp: relax license
2964         * modules/ldexp (License): Trivial relax, since the module only
2965         provides a permissively licensed m4 file.
2966
2967 2012-08-13  Bruno Haible  <bruno@clisp.org>
2968
2969         gnulib-tool: Fix persistence of --witness-c-macro option.
2970         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
2971         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2972
2973 2012-08-11  Eric Blake  <eblake@redhat.com>
2974
2975         count-leading-zeros: use a lookup table on non-gcc compilers
2976         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
2977         alternate implementation, suggested by Jim Meyering.
2978
2979 2012-08-10  Eric Blake  <eblake@redhat.com>
2980
2981         count-leading-zeros: new module
2982         * modules/count-leading-zeros: New module.
2983         * m4/count-leading-zeros.m4: New file.
2984         * lib/count-leading-zeros.h: Likewise.
2985         * modules/count-leading-zeros-tests: New test.
2986         * tests/test-count-leading-zeros.c: New file.
2987         * MODULES.html.sh (Integer arithmetic functions): Document it.
2988
2989 2012-08-07  Simon Josefsson  <simon@josefsson.org>
2990             Jim Meyering  <meyering@redhat.com>
2991
2992         maintainer-makefile: Fix syntax error with dash.
2993         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
2994         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
2995
2996 2012-08-05  Jim Meyering  <meyering@redhat.com>
2997
2998         extern-inline: also ignore -Wmissing-declarations
2999         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
3000         required with gcc-4.8.0-to-be.
3001
3002         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
3003         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
3004         for /error ?([^,]*)/.  This avoids false-positives for strings like
3005         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
3006
3007 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
3008
3009         gnumakefile: better interaction with Automake-NG
3010         * modules/gnumakefile [Makefile.am]: The makefiles generated by
3011         Automake-NG always contain a definition of VPATH, even in non-VPATH
3012         builds (its value being simply '.' in that case).  So, in the
3013         'clean-GNUmakefile' rule, to determine whether running under a
3014         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
3015         '$(VPATH)' expands to the empty string.
3016
3017 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
3018
3019         base64: Use extern C scope in header file, for C++.
3020         * lib/base64.h: Add C++ namespace protection.
3021
3022 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
3023
3024         stat-time, timespec, u64: support naive out-of-dir builds
3025         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
3026         Use '#include "foo.h"', not '#include <foo.h>', when including
3027         one's own interface.  This works better when configuring with
3028         out-of-directory builds, since packages need not add an
3029         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
3030
3031 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
3032
3033         utimens: use extern-inline
3034         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
3035         * lib/utimens.h: Add copyright notice, since this is now large enough
3036         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3037         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
3038         * modules/utimens (Depends-on): Add extern-inline.
3039
3040         u64: use extern-inline
3041         * lib/u64.c: New file.
3042         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3043         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
3044         * modules/u64 (Files): Add lib/u64.c.
3045         (Depends-on): Add extern-inline.
3046         (configure.ac): No need to require AC_C_INLINE, since extern-inline
3047         does that now.
3048         (lib_SOURCES): Add u64.c.
3049
3050         timespec: use extern-inline
3051         * lib/timespec.c: New file.
3052         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3053         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
3054         * modules/timespec (Files): Add lib/timespec.c.
3055         (Depends-on): Add extern-inline.
3056         (lib_SOURCES): Add timespec.c.
3057
3058         stat-time: use extern-inline
3059         * lib/stat-time.c: New file.
3060         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3061         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
3062         * modules/stat-time (Files): Add lib/stat-time.c.
3063         (Depends-on): Add extern-inline.
3064         (lib_SOURCES): Add stat-time.c.
3065
3066         extern-inline: new module
3067         * modules/extern-inline, m4/extern-inline.m4: New files.
3068         This is for better support of 'extern inline' a la ISO C99,
3069         with a portable alternative on compilers that do not support
3070         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
3071         of the Emacs executable, when compiled with debugging disabled,
3072         which is a typical way that Emacs is built while developing.
3073
3074 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
3075
3076         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
3077         * build-aux/do-release-commit-and-tag: Move variable definitions
3078         together.
3079         ($branch): Instead of defaulting to "master", default to the current
3080         branch (as gnu-web-doc-update does).
3081         (help): Display the current values of the option arguments.
3082         * top/maint.mk (release-commit): New.
3083         * top/README-release: Simplify the corresponding step.
3084
3085 2012-07-30  Eric Blake  <eblake@redhat.com>
3086
3087         passfd: fix comment on recvfd
3088         * lib/passfd.c (recvfd): Fix comment.
3089         Reported by Jann Horn <jannhorn@googlemail.com>.
3090
3091 2012-07-30  Jim Meyering  <meyering@redhat.com>
3092
3093         maint.mk: avoid a sub-shell
3094         * top/maint.mk (release-prep): Remove unneeded sub-shell.
3095
3096 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3097
3098         maint.mk: use silent-rules support from Automake
3099         * top/maint.mk (news-check, vc-diff-check, announcement)
3100         (no-submodule-changes, alpha beta stable, release-prep)
3101         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
3102
3103 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3104
3105         maint.mk: provide a web-manual-update target
3106         * top/maint.mk: here.
3107         * top/README-release: Use it to simplify the web manual update step.
3108
3109 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3110
3111         README-release: shorten the circuit to post a news
3112         * top/README-release: Point directly to the news submission form.
3113
3114 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3115
3116         gnu-web-doc-update: fix --help
3117         * build-aux/gnu-web-doc-update: The information "top level" was written
3118         twice.
3119
3120 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3121
3122         maint.mk: absolute VPATH issue
3123         * top/maint.mk (release-prep): Help Git find .git/.
3124         From Jim Meyering.
3125
3126 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3127
3128         gitlog-to-changelog: fix previous change
3129         * build-aux/gitlog-to-changelog: Fix condition.
3130         Add missing ";".
3131
3132 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3133
3134         gitlog-to-changelog: don't expect .git to be in $srcdir
3135         Reported by Bruno Haible.
3136         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
3137         * build-aux/gitlog-to-changelog (&git_dir_option): New.
3138         Use it.
3139
3140 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3141
3142         maint.mk: absolute VPATH build fix
3143         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
3144         $(srcdir) is not a parent of $(builddir).
3145
3146 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
3147
3148         clean-temp: Fix memory leak.
3149         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
3150         'files' members of tmpdir.
3151
3152 2012-07-27  Jim Meyering  <meyering@redhat.com>
3153
3154         maint.mk: new rule: refresh-gnulib-patches
3155         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
3156         Use this rule to refresh them.
3157         * top/maint.mk (refresh-gnulib-patches): New rule.
3158
3159 2012-07-24  Bruno Haible  <bruno@clisp.org>
3160
3161         gnulib-tool: Fix handling of inctests variable.
3162         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
3163         Reported by Nick Bowler <nbowler@elliptictech.com>.
3164
3165 2012-07-22  Bruno Haible  <bruno@clisp.org>
3166
3167         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
3168         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
3169         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
3170         Remove exemption for getpass.h.
3171         Suggested by Eric Blake.
3172
3173 2012-07-20  Eric Blake  <eblake@redhat.com>
3174
3175         verify: document conflict with -Wnested-externs
3176         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
3177
3178         maint.mk: forbid exit(-1)
3179         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
3180
3181 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
3182
3183         fsusage: port back to Solaris
3184         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
3185         error (fsd not declared) on Solaris 10.  Reported privately by
3186         Andrew Borodin.
3187
3188 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
3189
3190         gnu-web-doc-update: fix error messages
3191         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
3192
3193         gnu-web-doc-update: check the requirements.
3194         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
3195         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
3196         * build-aux/bootstrap (find_tool): Comment change.
3197
3198 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
3199
3200         maint.mk: minor simplication.
3201         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
3202         for default values.
3203
3204 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
3205
3206         gitlog-to-changelog: VPATH build issues
3207         If builddir is not a subdirectory of srcdir, running git from it will
3208         fail.
3209         * build-aux/gitlog-to-changelog (--srcdir): New option.
3210
3211 2012-07-15  Bruno Haible  <bruno@clisp.org>
3212
3213         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
3214         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
3215         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
3216         Remove exemption for fpending.h.
3217         Suggested by Eric Blake.
3218
3219 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
3220
3221         pthread_sigmask: fix bug on FreeBSD 9
3222         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
3223         Include string.h.
3224         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
3225         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
3226         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
3227         but pthread_sigmask (1729, NULL, NULL) returns zero.
3228         See <http://bugs.gnu.org/11884>.
3229         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
3230         by inspecting whether the main call changed the old mask.
3231
3232 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
3233
3234         README-release: make it more legible
3235         * top/README-release: Improve typography slightly.
3236
3237 2012-07-15  Jim Meyering  <meyering@redhat.com>
3238
3239         maint: require that each sc_... command start with "@"
3240         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
3241         "make sc_maint" helps us avoid this nit.
3242
3243 2012-07-15  Jim Meyering  <meyering@redhat.com>
3244
3245         maint.mk: add leading "@" to quiet new "make syntax-check" rule
3246         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
3247
3248 2012-07-13  Eric Blake  <eblake@redhat.com>
3249
3250         maint.mk: new syntax check for HAVE_DECL checks
3251         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
3252         * cfg.mk
3253         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
3254         Exempt some false positives.
3255         Based on a report by Karel Zak.
3256
3257         argp: make HAVE_DECL usage consistent
3258         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
3259         macros, not whether they are defined.
3260         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
3261         convention with other declaration checks.
3262         Reported by Karel Zak, with suggestions from Paul Eggert.
3263
3264         stat-time: relax license to LGPLv2+
3265         * modules/stat-time (License): Relax, with consent of all authors.
3266
3267         strndup: fix m4 usage error
3268         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
3269         defined, to either 0 or 1.
3270         Reported by Karel Zak.
3271
3272 2012-07-11  Jim Meyering  <meyering@redhat.com>
3273
3274         maint: enable the sc_avoid_if_before_free syntax-check rule
3275         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
3276         (if_before_free_offenders_): Define.
3277         (if_before_free_basename_re_): Define.
3278         Exempt current files with useless if-before-free.
3279
3280 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
3281
3282         gettext: do not assume '#define ... defined ...' behavior
3283         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
3284         Do not use '#define FOO ... defined BAR ...', as the C standard says
3285         it's not portable to expect that this works after macro expansion.
3286         Problem reported for gzip by Steven M. Schweda in
3287         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
3288
3289 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
3290
3291         getloadavg: clean out old Emacs and Autoconf cruft
3292         See Glenn Morris in <http://bugs.gnu.org/11905>.
3293         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
3294         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
3295         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
3296         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
3297
3298 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
3299
3300         bootstrap: let warn be like tests/init.sh's warn_
3301         Reported by Jim Meyering.
3302         * build-aux/bootstrap (warn): Remove, replaced by...
3303         (warnf_, warn_): these.
3304         Adjust callers.
3305         Shorten messages that no longer fit in 80 columns.
3306
3307 2012-07-09  Bruno Haible  <bruno@clisp.org>
3308
3309         getopt: Simplify after Emacs changed.
3310         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
3311         (gl_GETOPT_IFELSE): Remove macro.
3312
3313 2012-07-09  Jim Meyering  <meyering@redhat.com>
3314
3315         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
3316         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
3317
3318         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
3319         Bugs in both of those conspired to make the
3320         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
3321         _sc_search_regexp's handling of non-empty $in_files would filter
3322         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
3323         choice of in_files value meant there would be no match in most
3324         projects, due to the presence of two or more Makefile.in files.
3325         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
3326         Fix a bug in how a non-empty $$in_files was processed:
3327         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
3328         in spite of the name, it's a regexp, not a list of file names.
3329
3330 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
3331
3332         getloadavg, getopt: fix commentary re configure.in
3333         Autoconf is deprecating the name 'configure.in', so change it to
3334         to the new name 'configure.ac' in a couple of places.
3335         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
3336         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
3337         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
3338         Emacs has renamed it to configure.ac, and it no longer refers
3339         to these macros anyway.
3340
3341         timespec: mark functions with const attributes
3342         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
3343         Mark with _GL_ATTRIBUTE_CONST.
3344
3345 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
3346
3347         canonicalize[-lgpl]: handle "guessing" values when cross-building
3348         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
3349         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
3350         matches "*yes" instead of just "yes".  Regression introduced in commit
3351         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
3352
3353 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
3354             Bruno Haible  <bruno@clisp.org>
3355
3356         canonicalize: make the right guess when cross-compiling to GNU
3357         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
3358         determine whether cross-compiling to glibc systems, so as to
3359         include GNU/Hurd.
3360
3361 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3362
3363         timespec-sub: avoid duplicate include
3364         * lib/timespec-sub.c: Do not include <config.h> twice.
3365         Reported by Juanma Barranquero.
3366
3367 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
3368
3369         bootstrap: use a more consistent error reporting scheme
3370         * build-aux/bootstrap (warn, die): New.
3371         Use them.
3372
3373 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
3374
3375         sys_time: allow too-wide tv_sec
3376         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
3377         timeval even if tv_sec is wider than time_t.  This allows
3378         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
3379         as without this patch gnulib replaces struct timeval
3380         and OpenBSD futimes therefore has a type mismatch.
3381         * doc/posix-headers/sys_time.texi: Mention this.
3382
3383         pthread: check for both pthread_create and pthread_join
3384         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
3385         alter the check so that it tests for both pthread_create and
3386         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
3387         Suggested by Bruno Haible and Richard Yao in
3388         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
3389
3390         parse-datetime: doc tuneup
3391         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
3392         spacing issues.
3393
3394 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
3395
3396         do-release-commit-and-tag: fix the previous commit
3397         * build-aux/do-release-commit-and-tag: Actually the test was right,
3398         but the comment and the error message were misleading.
3399         Fix comment, and improve error message.
3400         Perform check first, so that NEWS is not modified uselessly.
3401
3402         do-release-commit-and-tag: fix typo
3403         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
3404         _not_ start with a stub.
3405
3406 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
3407
3408         pthread: check for pthread_create, not pthread_join
3409         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
3410         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
3411         pthread_join in libc.  I hope this removes the need for all the
3412         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
3413         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
3414
3415 2012-07-04  Jim Meyering  <meyering@redhat.com>
3416
3417         parse-datetime: fix failure to diagnose invalid input
3418         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
3419         rather than diagnosing the invalid input.  Now it reports this:
3420         date: invalid date '\260'
3421         * lib/parse-datetime.y (to_uchar): Define.
3422         (yylex): Don't sign-extend "other" bytes.
3423         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
3424         Thanks to Bruno Haible for the patch to this file.
3425         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
3426         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
3427
3428 2012-07-03  Jim Meyering  <meyering@redhat.com>
3429
3430         bootstrap: do not require now-removed build-aux/missing
3431         Now that build-aux/missing is, er, missing, bootstrap would
3432         silently fail.
3433         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
3434         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
3435         no longer part of gnulib.
3436         Diagnose the failure.
3437
3438 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
3439
3440         alloca: add support for HP NonStop TNS/E native
3441         * lib/alloca.in.h (alloca): Support the new host.
3442         From a suggestion by Joachim Schmitz in
3443         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
3444
3445 2012-07-02  Pádraig Brady  <P@draigBrady.com>
3446
3447         fsusage: remove code not needed on non GNU/Linux systems.
3448
3449         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3450         Don't include headers no longer needed in this case.
3451         * lib/fsusage.c [STAT_STATVFS &&
3452         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
3453         STAT_STATFS2_FRSIZE to exclude code not used in this case.
3454
3455 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3456
3457         fsusage: include files needed for glibc 2.6 fallback
3458         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3459         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
3460         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
3461         Problem reported by Ludovic Courtès in
3462         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
3463
3464         fsusage: avoid needless check on GNU/Linux
3465         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
3466         on GNU/Linux systems, since it can't possibly work.
3467
3468 2012-07-01  Bruno Haible  <bruno@clisp.org>
3469
3470         log: Fix an autoconf >= 2.64 warning.
3471         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
3472         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3473
3474 2012-06-28  Bruno Haible  <bruno@clisp.org>
3475
3476         log10f: Fix possible configuration problem.
3477         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
3478         $LOGF_LIBM.
3479         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3480
3481 2012-06-28  Bruno Haible  <bruno@clisp.org>
3482
3483         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
3484         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
3485         not gl_cv_func_unlink_works.
3486         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3487
3488 2012-06-27  Eric Blake  <eblake@redhat.com>
3489
3490         config: drop scripts that automake says are not independent
3491         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
3492         * build-aux/elisp-comp: Delete.
3493         * build-aux/missing: Likewise.
3494         * build-aux/ylwrap: Likewise.
3495         * modules/elisp-comp: Likewise.
3496         * MODULES.html.sh: Drop mention of elisp-comp.
3497         * NEWS: Mention this.
3498
3499 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
3500
3501         root-uid: new module
3502         This is for portability to Tandem's NonStop Kernel.
3503         * lib/root-uid.h, modules/root-uid: New files.
3504         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
3505         * lib/write-any-file.c, tests/test-sethostname2.c:
3506         Include "root-uid.h".
3507         * lib/euidaccess.c (euidaccess):
3508         * lib/pt_chown.c (main):
3509         * lib/unlinkdir.c (cannot_unlink_dir):
3510         * lib/write-any-file.c (can_write_any_file):
3511         * m4/mknod.m4 (gl_FUNC_MKNOD):
3512         * tests/test-sethostname2.c (geteuid, main):
3513         Don't assume ROOT_UID == 0.
3514         * modules/euidaccess (Depends-on):
3515         * modules/pt_chown (Depends-on):
3516         * modules/sethostname-tests (Depends-on):
3517         * modules/unlinkdir (Depends-on):
3518         * modules/write-any-file (Depends-on):
3519         Add root-uid.
3520
3521         regex: use locale-independent comparison for codeset name
3522         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
3523         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
3524         for codeset name.
3525         * lib/regex_internal.h: Do not include <strings.h>, since we
3526         no longer use strcasecmp.
3527         * modules/regex (Depends-on): Remove strcase.
3528
3529 2012-06-23  Bruno Haible  <bruno@clisp.org>
3530
3531         getopt-posix: No longer guarantee that option processing is resettable.
3532         * doc/posix-functions/getopt.texi: Drop description of problem with
3533         internal state. Fix info about mingw and msvc9.
3534         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
3535         option processing by getopt(). Run three test programs instead of one.
3536         Simplify cross-compilation guess.
3537         * NEWS: Mention the change.
3538         Reported by Rich Felker <dalias@aerifal.cx>.
3539
3540 2012-06-26  Bruno Haible  <bruno@clisp.org>
3541
3542         argp, regex: Ensure strcasecmp gets declared.
3543         * lib/argp-help.c: Include <strings.h>.
3544         * lib/regex_internal.h: Likewise.
3545         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
3546
3547 2012-06-24  Bruno Haible  <bruno@clisp.org>
3548
3549         ptsname_r: Make it consistent with ptsname on AIX.
3550         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
3551         implementation as for OSF/1.
3552         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
3553         a pty master.
3554
3555         ptsname_r: Make it consistent with ptsname on OSF/1.
3556         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3557         OSF/1.
3558
3559 2012-06-24  Bruno Haible  <bruno@clisp.org>
3560
3561         ttyname_r: Fix result on OSF/1, Solaris.
3562         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
3563
3564 2012-06-24  Bruno Haible  <bruno@clisp.org>
3565
3566         ptsname_r: Add support for Solaris.
3567         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3568         Solaris.
3569
3570         ptsname_r: Fix test failure on native Windows.
3571         * modules/ptsname_r (Depends-on): Add isatty.
3572
3573         ptsname_r: Fix test failures on IRIX, Solaris.
3574         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
3575         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
3576         accordingly.
3577         * lib/ptsname_r.c: Include <fcntl.h>.
3578         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
3579         set errno if fd is invalid.
3580         * tests/test-isatty.c (main): Update comments.
3581
3582 2012-06-24  Bruno Haible  <bruno@clisp.org>
3583
3584         ptsname test: Extend test.
3585         * tests/test-ptsname.c: Include <errno.h>.
3586         (main): Test behaviour with invalid file descriptor.
3587
3588 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
3589
3590         time: fix obsolete comment
3591         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
3592         reference to HAVE_STRUCT_TIMESPEC in comment.
3593
3594 2012-06-23  Bruno Haible  <bruno@clisp.org>
3595
3596         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
3597         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
3598         does not handle abbreviated long options with equivalent
3599         disambiguations, set gl_replace_getopt to yes.
3600         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
3601
3602 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
3603
3604         time_r: fix typo that always overrode localtime_r decl
3605         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
3606         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
3607         not in a standard include.
3608
3609 2012-06-22  Bruno Haible  <bruno@clisp.org>
3610
3611         Write "Mac OS X" instead of "MacOS X".
3612         * README: Write "Mac OS X" instead of "MacOS X".
3613         * build-aux/bootstrap: Likewise.
3614         * build-aux/install-reloc: Likewise.
3615         * lib/acl-internal.h: Likewise.
3616         * lib/acl_entries.c: Likewise.
3617         * lib/argp-ba.c: Likewise.
3618         * lib/argp-pv.c: Likewise.
3619         * lib/config.charset: Likewise.
3620         * lib/copy-acl.c: Likewise.
3621         * lib/csharpexec.c: Likewise.
3622         * lib/euidaccess.c: Likewise.
3623         * lib/fbufmode.c: Likewise.
3624         * lib/fflush.c: Likewise.
3625         * lib/file-has-acl.c: Likewise.
3626         * lib/filemode.h: Likewise.
3627         * lib/fpurge.c: Likewise.
3628         * lib/freadable.c: Likewise.
3629         * lib/freadahead.c: Likewise.
3630         * lib/freading.c: Likewise.
3631         * lib/freadptr.c: Likewise.
3632         * lib/freadseek.c: Likewise.
3633         * lib/fseeko.c: Likewise.
3634         * lib/fseterr.c: Likewise.
3635         * lib/fsusage.c: Likewise.
3636         * lib/fwritable.c: Likewise.
3637         * lib/fwriting.c: Likewise.
3638         * lib/get-rusage-as.c: Likewise.
3639         * lib/get-rusage-data.c: Likewise.
3640         * lib/getdomainname.c: Likewise.
3641         * lib/idpriv-drop.c: Likewise.
3642         * lib/idpriv-droptemp.c: Likewise.
3643         * lib/localcharset.c: Likewise.
3644         * lib/locale.in.h: Likewise.
3645         * lib/localename.c: Likewise.
3646         * lib/mbsrtowcs-state.c: Likewise.
3647         * lib/nproc.c: Likewise.
3648         * lib/passfd.c: Likewise.
3649         * lib/posix_openpt.c: Likewise.
3650         * lib/printf-parse.c: Likewise.
3651         * lib/progreloc.c: Likewise.
3652         * lib/safe-read.h: Likewise.
3653         * lib/safe-write.h: Likewise.
3654         * lib/sched.in.h: Likewise.
3655         * lib/set-mode-acl.c: Likewise.
3656         * lib/signal.in.h: Likewise.
3657         * lib/stdint.in.h: Likewise.
3658         * lib/stdio-impl.h: Likewise.
3659         * lib/stdlib.in.h: Likewise.
3660         * lib/strtod.c: Likewise.
3661         * lib/sys_select.in.h: Likewise.
3662         * lib/tcgetsid.c: Likewise.
3663         * lib/unistd.in.h: Likewise.
3664         * lib/unlockpt.c: Likewise.
3665         * lib/vasnprintf.c: Likewise.
3666         * lib/vma-iter.c: Likewise.
3667         * lib/wcsrtombs-state.c: Likewise.
3668         * m4/acl.m4: Likewise.
3669         * m4/acosl.m4: Likewise.
3670         * m4/asinl.m4: Likewise.
3671         * m4/atanl.m4: Likewise.
3672         * m4/c-stack.m4: Likewise.
3673         * m4/cosl.m4: Likewise.
3674         * m4/expl.m4: Likewise.
3675         * m4/extensions.m4: Likewise.
3676         * m4/fdatasync.m4: Likewise.
3677         * m4/fmal.m4: Likewise.
3678         * m4/frexp.m4: Likewise.
3679         * m4/frexpf.m4: Likewise.
3680         * m4/frexpl.m4: Likewise.
3681         * m4/fsusage.m4: Likewise.
3682         * m4/getdomainname.m4: Likewise.
3683         * m4/getloadavg.m4: Likewise.
3684         * m4/getopt.m4: Likewise.
3685         * m4/gettext.m4: Likewise.
3686         * m4/gnulib-common.m4: Likewise.
3687         * m4/intdiv0.m4: Likewise.
3688         * m4/intlmacosx.m4: Likewise.
3689         * m4/largefile.m4: Likewise.
3690         * m4/ldexpl.m4: Likewise.
3691         * m4/link-follow.m4: Likewise.
3692         * m4/locale-ar.m4: Likewise.
3693         * m4/locale-fr.m4: Likewise.
3694         * m4/locale-ja.m4: Likewise.
3695         * m4/locale-tr.m4: Likewise.
3696         * m4/locale-zh.m4: Likewise.
3697         * m4/locale_h.m4: Likewise.
3698         * m4/lock.m4: Likewise.
3699         * m4/logl.m4: Likewise.
3700         * m4/mathfunc.m4: Likewise.
3701         * m4/minus-zero.m4: Likewise.
3702         * m4/mktime.m4: Likewise.
3703         * m4/mmap-anon.m4: Likewise.
3704         * m4/multiarch.m4: Likewise.
3705         * m4/nanosleep.m4: Likewise.
3706         * m4/nocrash.m4: Likewise.
3707         * m4/poll.m4: Likewise.
3708         * m4/printf-frexpl.m4: Likewise.
3709         * m4/printf.m4: Likewise.
3710         * m4/signbit.m4: Likewise.
3711         * m4/sinl.m4: Likewise.
3712         * m4/sqrtl.m4: Likewise.
3713         * m4/strerror_r.m4: Likewise.
3714         * m4/tanl.m4: Likewise.
3715         * m4/threadlib.m4: Likewise.
3716         * m4/ttyname_r.m4: Likewise.
3717         * m4/unlink.m4: Likewise.
3718         * m4/visibility.m4: Likewise.
3719         * m4/wcwidth.m4: Likewise.
3720         * tests/minus-zero.h: Likewise.
3721         * tests/test-alloca-opt.c: Likewise.
3722         * tests/test-copy-acl.sh: Likewise.
3723         * tests/test-copy-file.sh: Likewise.
3724         * tests/test-fdatasync.c: Likewise.
3725         * tests/test-file-has-acl.sh: Likewise.
3726         * tests/test-flock.c: Likewise.
3727         * tests/test-fsync.c: Likewise.
3728         * tests/test-localename.c: Likewise.
3729         * tests/test-malloca.c: Likewise.
3730         * tests/test-nonblocking-pipe.h: Likewise.
3731         * tests/test-nonblocking-socket.h: Likewise.
3732         * tests/test-openpty.c: Likewise.
3733         * tests/test-posix_openpt.c: Likewise.
3734         * tests/test-ptsname.c: Likewise.
3735         * tests/test-ptsname_r.c: Likewise.
3736         * tests/test-sameacls.c: Likewise.
3737         * tests/test-select.h: Likewise.
3738         * tests/test-set-mode-acl.sh: Likewise.
3739         * tests/test-snprintf-posix.h: Likewise.
3740         * tests/test-sprintf-posix.h: Likewise.
3741         * tests/test-strtod.c: Likewise.
3742         * tests/test-time.c: Likewise.
3743         * tests/test-vasnprintf-posix.c: Likewise.
3744         * tests/test-vasprintf-posix.c: Likewise.
3745         * doc/acl-resources.txt: Likewise.
3746         * doc/**/*.texi: Likewise.
3747         Reported by Max Horn <max@quendi.de>.
3748
3749 2012-06-22  Bruno Haible  <bruno@clisp.org>
3750
3751         grantpt: Relax requirement regarding invalid file descriptors.
3752         * lib/grantpt.c: Don't include <fcntl.h>.
3753         (grantpt): Don't verify the validity of the file descriptor.
3754         * modules/grantpt (Depends-on): Remove fcntl-h.
3755         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
3756         file descriptors.
3757         * doc/posix-functions/grantpt.texi: Document more platforms on which
3758         grantpt succeeds for invalid file descriptors.
3759         Reported by Rich Felker <dalias@aerifal.cx>.
3760
3761 2012-06-22  Bruno Haible  <bruno@clisp.org>
3762
3763         fbufmode test: Don't test unportable behaviour.
3764         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
3765         (main): Invoke it three times.
3766         Reported by Szabolcs Nagy <nsz@port70.net>
3767         and Rich Felker <dalias@aerifal.cx>.
3768
3769 2012-06-21  Bruno Haible  <bruno@clisp.org>
3770
3771         gnulib-tool: Refactor inctests variable.
3772         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
3773         (func_modules_transitive_closure,
3774         func_modules_transitive_closure_separately,
3775         func_import, func_create_testdir): Update.
3776
3777         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
3778         * gnulib-tool: Accept option --without-tests.
3779         (func_usage): Document --without-tests option. Rearrange.
3780         (inctests): Normalize according to the mode.
3781         * NEWS: Mention the change.
3782         Suggested by Simon Josefsson.
3783
3784 2012-06-21  Bruce Korb  <bkorb@gnu.org>
3785
3786         parse-duration test: Avoid spurious output.
3787         * tests/test-parse-duration.sh: Reindent with leading tabs.
3788
3789 2012-06-21  Jim Meyering  <meyering@redhat.com>
3790
3791         maint: disable the strncpy prohibition
3792         * cfg.mk: Do not prohibit strncpy here.
3793
3794 2012-06-21  Bruno Haible  <bruno@clisp.org>
3795
3796         nonblocking: Avoid compilation error on mingw64.
3797         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
3798         fscanf.
3799         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
3800         * modules/vfscanf (configure.ac): Likewise.
3801         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
3802         definition only if stdio.h has prepared it.
3803         Reported by Daniel P. Berrange <berrange@redhat.com>.
3804
3805 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
3806
3807         gnulib-tool: Use readlink if it is available.
3808         * gnulib-tool (func_readlink): Choose function more appropriately.
3809
3810 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
3811
3812         posixtm-tests: port to buggy compiler
3813         Problem reported by Simon Josefsson in
3814         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
3815         * modules/posixtm-tests (Depends-on): Add stdint.
3816         * tests/test-posixtm.c (struct posixtm_test.t_expected):
3817         Now of type int_least64_t, not int64_t, both because that's
3818         what INT64_C returns and because int_least64_t works even
3819         on 72-bit hosts.
3820         (T): Use INT64_C on constants outside the traditional int range,
3821         to work around compiler bug noted by Simon.
3822
3823         mktime: fix integer overflow in 'configure'-time test
3824         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
3825         after integer overflow.  Problem reported by Rich Felker in
3826         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
3827         Also, don't look for further instances of a bug if we've already
3828         found one instance; this helps 'configure' run faster.
3829
3830 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
3831
3832         tmpfile, clean-temp: Fix invocation of GetVersionEx.
3833         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
3834         GetVersionEx correctly.
3835         * lib/clean-temp.c (supports_delete_on_close): Likewise.
3836
3837 2012-06-20  Bruno Haible  <bruno@clisp.org>
3838
3839         fdopen: Allow implementations that don't reject invalid fd arguments.
3840         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
3841         succeeds.
3842         Reported by Rich Felker <dalias@aerifal.cx>.
3843
3844 2012-06-20  Simon Josefsson  <simon@josefsson.org>
3845
3846         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
3847         bring in LIBINTL.
3848
3849 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3850
3851         init.sh: do not rely on autoupated PWD
3852         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
3853         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
3854         Although Nelson's bug was not necessarily fixed by this patch,
3855         it seems wise to make the change for safety.
3856         * tests/init.sh (path_prepend_): Do not rely on PWD updating
3857         automagically after 'cd'; this is not reliable on older shells.
3858         (setup_): Fail if we cannot cd to temporary directory.
3859
3860 2012-06-19  Bruno Haible  <bruno@clisp.org>
3861
3862         stat, fstat: Avoid warnings on mingw64.
3863         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
3864         redefining.
3865         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
3866         Reported by Daniel P. Berrange <berrange@redhat.com>.
3867
3868 2012-06-19  Bruno Haible  <bruno@clisp.org>
3869
3870         stdioext: Add support for musl libc.
3871
3872         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
3873         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
3874
3875         * m4/fseterr.m4: New file.
3876         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
3877         function exists.
3878         * modules/fseterr (Files): Add m4/fseterr.m4.
3879         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
3880         __fseterr does not exist.
3881         (Makefile.am): Remove fseterr.c from lib_SOURCES.
3882
3883         * lib/freadable.h: Update comment.
3884
3885         * lib/fwritable.h: Update comment.
3886
3887         * lib/freading.h: Update comment.
3888
3889         * lib/fwriting.h: Update comment.
3890
3891         * m4/freadahead.m4: New file.
3892         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
3893         that function exists.
3894         * modules/freadahead (Files): Add m4/freadahead.m4.
3895         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
3896         __freadahead does not exist.
3897         (Makefile.am): Remove freadahead.c from lib_SOURCES.
3898
3899         * m4/freadptr.m4: New file.
3900         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
3901         function exists.
3902         * modules/freadptr (Files): Add m4/freadptr.m4.
3903         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
3904         __freadptr does not exist.
3905         (Makefile.am): Remove freadptr.c from lib_SOURCES.
3906
3907         * m4/freadseek.m4: New file.
3908         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
3909         exists.
3910         * modules/freadseek (Files): Add m4/freadseek.m4.
3911         (configure.ac): Invoke gl_FUNC_FREADSEEK.
3912
3913         * lib/fpurge.c (fpurge): Update comment.
3914
3915         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
3916
3917 2012-06-19  Bruno Haible  <bruno@clisp.org>
3918
3919         *printf-posix: Put more info into config.log.
3920         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
3921         exit code into config.log.
3922
3923 2012-06-19  Bruno Haible  <bruno@clisp.org>
3924
3925         getopt-gnu: Fix exit code overflow in autoconf test.
3926         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
3927         to keep them below < 128.
3928
3929 2012-06-17  Jim Meyering  <meyering@redhat.com>
3930
3931         maint.mk: fix typo in code to derive GPG key at release time
3932         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
3933
3934 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
3935
3936         regex: avoid warning when pointers are not long
3937         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
3938         and uintptr_t, not long, for portability to hosts where pointers and
3939         long have different sizes.  Issue noted by Daniel P. Berrange in
3940         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
3941         and fix suggested by Bruno Haible in
3942         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
3943
3944 2012-06-17  Bruno Haible  <bruno@clisp.org>
3945
3946         dummy: Relicense into the public domain.
3947         * modules/dummy (License): Set to "public domain".
3948         Suggested by Reuben Thomas.
3949
3950 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3951
3952         announce-gen: VPATH issues
3953         * build-aux/announce-gen (--srcdir): New option, used to trim the
3954         $srcdir part of the path from $builddir to NEWS.
3955         * top/maint.mk (announcement): Adjust.
3956
3957 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3958
3959         gnu-web-doc-update: VPATH builds
3960         * build-aux/gnu-web-doc-update (--builddir): New option.
3961         Revamp the handling of options.
3962         Prefer $(...) to `...`.
3963         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
3964         the template, and it is GNU mktemp specific.
3965         Prefer set -e to long series of &&.
3966         Restore the initial git branch, not "master".
3967         Properly initialize submodules (don't rely only on bootstrap).
3968         Do not reconfigure blindly, use config.status.
3969         * top/README-release: Update instructions for gnu-web-doc-update.
3970
3971 2012-06-11  Jim Meyering  <meyering@redhat.com>
3972
3973         maint.mk: revert most of the previous change re "all these"
3974         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
3975         For rationale, see the discussion at
3976         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
3977
3978 2012-06-10  Karl Berry  <karl@gnu.org>
3979
3980         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
3981
3982         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
3983
3984 2012-06-10  Bruce Korb  <bkorb@gnu.org>
3985
3986         parse-duration: Relicense under LGPLv2+.
3987         * modules/parse-duration (License): Change to LGPLv2+.
3988
3989 2012-06-10  Jim Meyering  <meyering@redhat.com>
3990
3991         maint.mk: prohibit common grammar error: "all these"
3992         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
3993         the list of prohibited word sequences.  It should be "all of these".
3994         * lib/tempname.c (__gen_tempname): Fix one of them.
3995
3996 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3997
3998         do-release-commit-and-tag: support VPATH builds
3999         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
4000         (noteworthy): Defined earlier to factor its value.
4001         (noteworthy_stub): New.
4002         Use it to factor.
4003         (help_version): Split into...
4004         (help, version): these.
4005         Adjust the option processing part.
4006         Support "--option=value" in addition to "--option value".
4007         (builddir): New.
4008         (--builddir): New option.
4009         * top/README-release: Document this.
4010         Reword slightly so that the reader cannot understand that he
4011         has to do these steps before calling do-release-commit-and-tag.
4012
4013 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
4014
4015         readme-release: also require announce-gen and maintainer-makefile
4016         * modules/readme-release (Depends-on): here.
4017         * modules/announce-gen, modules/do-release-commit-and-tag,
4018         modules/gnu-web-doc-update, modules/maintainer-makefile
4019         (Description): Point to readme-release.
4020
4021 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
4022
4023         maint.mk: fix VPATH issues.
4024         * top/maint.mk (news-check): GNU Make understand $< very well.
4025         (release-prep): NEWS is in $(srcdir).
4026
4027 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
4028
4029         readme-release: require the promoted modules.
4030         * modules/readme-release (Depends-on): Add
4031         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
4032         in this text.
4033
4034 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
4035             Bruno Haible  <bruno@clisp.org>
4036
4037         error, strerror-override: Support mingw64 from Fedora 17.
4038         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
4039         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
4040         EINPROGRESS.
4041         * lib/strerror-override.h (strerror_override): Test it.
4042         * lib/strerror-override.c (strerror_override): Likewise.
4043         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
4044
4045 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
4046             Bruno Haible  <bruno@clisp.org>
4047
4048         error, strerror-override: Support mingw64 from Fedora 17.
4049         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
4050         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
4051         * lib/strerror-override.h (strerror_override): Test it.
4052         * lib/strerror-override.c (strerror_override): Likewise.
4053
4054 2012-06-03  Bruno Haible  <bruno@clisp.org>
4055
4056         error, strerror-override: Support new errno values from POSIX:2008.
4057         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
4058         ENOTRECOVERABLE.
4059         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
4060         platforms.
4061         * lib/strerror-override.c (strerror_override): Conditionalize the
4062         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
4063         * lib/strerror-override.h (strerror_override): Declare also if
4064         GNULIB_defined_EOWNERDEAD is defined.
4065         * tests/test-errno.c (e130, e131): New variables.
4066         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
4067         ENOTRECOVERABLE.
4068         Reported by Paolo Bonzini.
4069
4070 2012-05-31  Jim Meyering  <meyering@redhat.com>
4071
4072         savewd: add missing dependency on sys_wait module
4073         * modules/savewd (Depends-on): Add sys_wait, needed at least
4074         for MSVC.  Report and suggested change by Michael Goffioul.
4075
4076 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4077
4078         system-quote-tests: port to CentOS 5
4079         Problem reported by Tom G. Christensen in
4080         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
4081         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
4082
4083 2012-05-29  Jim Meyering  <meyering@redhat.com>
4084
4085         maint: fix typos in comments and ChangeLog
4086         Culprits identified and fixed mostly automatically using these commands:
4087         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
4088         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
4089         using http://github.com/lyda/misspell-check
4090         * ChangeLog: Fix typos.
4091         * doc/solaris-versions: Likewise.
4092         * lib/regexec.c (re_search_stub): Likewise.
4093         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
4094
4095 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
4096
4097         manywarnings: remove duplicate -Wmultichar entry
4098         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
4099         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
4100         so keep the entry marked as documented.
4101
4102 2012-05-27  Karl Berry  <karl@gnu.org>
4103
4104         * config/srclist.txt (mktime.c): remove last libc sync,
4105         perhaps just temporarily.
4106
4107 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
4108
4109         regex: don't assume uint64_t or uint32_t
4110         * lib/regcomp.c (init_word_char): Don't assume that the types
4111         uint64_t and uint32_t exist.  The C standard doesn't guarantee
4112         them, and on some 32-bit compilers there is no uint64_t.
4113         Problem reported by Gianluigi Tiesi in
4114         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
4115
4116 2012-05-25  Jim Meyering  <meyering@redhat.com>
4117
4118         maint.mk: add strncpy-prohibiting syntax-check rule
4119         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
4120
4121 2012-05-24  Jim Meyering  <meyering@redhat.com>
4122
4123         maint.mk: compute $(gpg_key_ID) more portably
4124         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
4125         That use of sed is not portable to some fringe systems.
4126         Reported by Paul Eggert in
4127         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
4128
4129 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4130
4131         mktime: sync from glibc
4132         * config/srclist.txt: Uncomment mktime.c.
4133         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
4134         First, indent with tabs, since glibc uses tabs and doesn't want to
4135         change and we'd rather be identical to glibc.  Also, two small
4136         coding changes:
4137         (isdst_differ): Use &&, not &, as && is the usual style.
4138         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
4139         for clarity.
4140
4141 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4142
4143         announce-gen: du -h is more portable than du --human
4144         * build-aux/announce-gen (sizes): Invoke du with -h instead
4145         of --human.  Accept leading white space in its output.
4146
4147 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4148
4149         announce-gen: Improve diagnostics.
4150         * build-aux/announce-gen: When parsing command line options,
4151         prefer "announce-gen: option --release-type requires an argument"
4152         to "Option release-type requires an argument".
4153
4154 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4155
4156         maint.mk: gpg_key_ID: use sed more portably
4157         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
4158         the closing brace.
4159         (refresh-po): Fuse two sed invocations into one.
4160
4161 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
4162
4163         gitlog-to-changelog: support the log message format used in Bison.
4164         * build-aux/gitlog-to-changelog: Support --strip-tab and
4165         --strip-cherry-picked.
4166
4167 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
4168
4169         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
4170         the rest of the current time slice to another thread in the current
4171         process. So if the thread that feeds the file decscriptor we're
4172         polling is not in the current process, we get busy-waiting.
4173         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
4174         Patch from Theodore Leblond.
4175         * lib/select.c: Split polling out of the loop that sets the output
4176         fd_sets.  Check for zero result and loop if the wait timeout is
4177         infinite.
4178
4179 2012-05-21  Simon Josefsson  <simon@josefsson.org>
4180
4181         select: Fix build error on IRIX 6.5.
4182         * lib/select.c: Include stddef.h for NULL.
4183
4184 2012-05-21  Simon Josefsson  <simon@josefsson.org>
4185
4186         gc: fix libgcrypt detection on older machines.
4187         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
4188         copyright years because the file has been distributed every year
4189         since it was created.
4190
4191 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
4192
4193         crypto: fix bug in large buffer handling
4194         Problem reported by Serge Belyshev for glibc in
4195         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
4196         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
4197         * lib/md4.c (md4_process_block):
4198         * lib/md5.c (md5_process_block):
4199         * lib/sha1.c (sha1_process_block):
4200         * lib/sha256.c (sha256_process_block):
4201         Don't assume the buffer length is less than 2**32.
4202         * lib/sha512.c (sha512_process_block): Likewise.
4203         Here, the bug is present only in the rare case where the host does
4204         not support uint64_t or where size_t is wider than 64 bits.
4205         Use u64size to work around the problems.
4206         * lib/u64.h (u64size): New macro.
4207
4208 2012-05-15  Pádraig Brady  <P@draigBrady.com>
4209
4210         fsusage: fix block size returned on older Linux 2.6
4211
4212         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
4213         which is available since Linux 2.6.
4214         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
4215         when the member is available so it can be used as a fallback.
4216         * doc/posix-functions/statvfs.texi: Mention the hang issue
4217         on Linux < 2.6.36.
4218
4219 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
4220
4221         bootstrap: suppress stderr chatter
4222         * build-aux/bootstrap (insert_sorted_if_absent, main program):
4223         Omit unnecessary chatter to stderr.  The main program chatter
4224         was there only inadvertantly.
4225
4226         bootstrap: .gitignore files created by autopoint, libtool
4227         I ran into this problem when bootstrapping the latest diffutils.
4228         After './bootstrap', 'git status' reported lots of untracked files
4229         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
4230         autopoint and do not need to be version-controlled.
4231         * build-aux/bootstrap: Put into .gitignore the files that
4232         autopoint and libtool create, by keeping track of files that exist
4233         after but not before these programs are run.
4234         (version_controlled_file): Move up.  2nd arg is now full file
4235         name, not base name; this is more convenient.  Put CVS at the end,
4236         as it's now somewhat deprecated.
4237
4238 2012-05-14  Jim Meyering  <meyering@redhat.com>
4239
4240         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
4241         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
4242         definition.  Reported by Bruno Haible.
4243
4244 2012-05-13  Bruno Haible  <bruno@clisp.org>
4245             Paul Eggert  <eggert@cs.ucla.edu>
4246
4247         binary-io: Define set_binary_mode function.
4248         * lib/binary-io.h (set_binary_mode): New function.
4249         (SET_BINARY): Define in terms of set_binary_mode.
4250         * modules/binary-io (configure.ac): Require AC_C_INLINE.
4251         * tests/test-binary-io.c (main): Accept an argument, and test either
4252         set_binary_mode or SET_BINARY depending on the argument.
4253         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
4254         argument. Clean up also t-bin-out0.tmp.
4255
4256 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
4257
4258         bootstrap: take advantage of POSIX shell features
4259
4260         The 'bootstrap' script offered by Gnulib script already uses POSIX
4261         shell features (like $((...)) arithmetic expansions) that are not
4262         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
4263         means that bootstrap must already be run using a proper POSIX shell,
4264         which will thus provide more features, like ${var#pattern} parameter
4265         expansion or inversion of a command exit status with '!'.  We can
4266         thus use these features to improve the clarity and the performances
4267         of the bootstrap script.
4268
4269         Suggested by Eric Blake.
4270
4271         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
4272         of sed/expr plus command substitutions, to save some forks.  While
4273         we are at it, prefer the POSIX $(...) form of command substitution,
4274         rather than the legacy form `...` (since the former is visually
4275         clearer and interacts better with quoting), and prefer the idiom:
4276           "if ! CMD; then ACTION ..."
4277         over the idiom:
4278           "if CMD; then :; else ACTION ..."
4279         which was required by legacy Bourne shells not supporting '!'.
4280
4281 2012-05-12  Bruno Haible  <bruno@clisp.org>
4282
4283         system-quote: Add more comments.
4284         * lib/system-quote.h: Add more comments about wilcards and limitations.
4285         Suggested by Eli Zaretskii <eliz@gnu.org>.
4286
4287         sh-quote, system-quote: Add comments about wildcards.
4288         * lib/sh-quote.h: Clarify what happens with wildcard characters.
4289         * lib/system-quote.h: Likewise.
4290         Reported by Eli Zaretskii <eliz@gnu.org>.
4291
4292 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
4293
4294         fsusage: check for GNU/Linux statvfs problem dynamically
4295         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
4296         Define STAT_STATFS2_BSIZE too, since in this case the code now
4297         checks dynamically whether statvfs is reliable, falling back on
4298         Linux-style statfs otherwise.
4299         (statvfs_works): New function, for dynamically testing statvfs.
4300         (get_fs_usage) [STAT_STATVFS]: Use it.
4301         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
4302         statvfs on GNU/Linux hosts, since it's now done dynamically.
4303
4304 2012-05-10  Bruno Haible  <bruno@clisp.org>
4305
4306         system-quote, execute, spawn-pipe: Escape '?' on Windows.
4307         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
4308         '?' character.
4309         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
4310         * tests/test-system-quote-main.c (check_all): Check also strings like
4311         "??????????".
4312         Reported by Eli Zaretskii <eliz@gnu.org>.
4313
4314 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
4315
4316         _Noreturn: port config.h to gcc -Wundef
4317         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
4318         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
4319         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
4320
4321 2012-05-10  Bruno Haible  <bruno@clisp.org>
4322
4323         system-quote: Refactor.
4324         * lib/system-quote.h (system_quote_copy): Fix comment.
4325         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
4326         New functions, extracted from system_quote_copy.
4327         (system_quote_length, system_quote_copy): Use these functions.
4328         Reported by Paul Eggert.
4329
4330 2012-05-08  Bruno Haible  <bruno@clisp.org>
4331
4332         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
4333         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
4334
4335 2012-05-08  Bruno Haible  <bruno@clisp.org>
4336
4337         Tests for module 'system-quote'.
4338         * modules/system-quote-tests: New file.
4339         * tests/test-system-quote.sh: New file.
4340         * tests/test-system-quote-main.c: New file.
4341         * tests/test-system-quote-child.c: New file.
4342
4343         New module 'system-quote'.
4344         * lib/system-quote.h: New file.
4345         * lib/system-quote.c: New file.
4346         * modules/system-quote: New file.
4347
4348 2012-05-08  Bruno Haible  <bruno@clisp.org>
4349
4350         sh-quote: Make C++ safe and allow multiple inclusion.
4351         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
4352         declarations in extern "C".
4353
4354 2012-05-08  Bruno Haible  <bruno@clisp.org>
4355
4356         sh-quote tests: Make tests stricter.
4357         * tests/test-sh-quote.c (check_one): Check the return value of
4358         shell_quote_copy.
4359         (main): Check a string with a CR character. Check a string that
4360         contains UCHAR_MAX.
4361
4362 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
4363
4364         warnings.m4: provide a means to specify the program to compile.
4365         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
4366         (gl_WARN_ADD): here.
4367         Use gl_AS_VAR_APPEND.
4368         Support an argument to specify the program to compile.
4369         (gl_WARN_ADD): Accept an argument to specify the program to compile.
4370         AC_SUBST the WARN_CFLAGS when they are used.
4371         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
4372         leave this to gl_WARN_ADD.
4373
4374 2012-05-08  Eric Blake  <eblake@redhat.com>
4375
4376         doc: recommendations on gettext version
4377         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
4378         choice between versions.
4379         * DEPENDENCIES (gettext): Cover both approaches.
4380
4381 2012-05-08  Jim Meyering  <meyering@redhat.com>
4382
4383         init.sh: explain why EXEEXT support uses aliases rather than functions
4384         * tests/init.sh: Add a comment.
4385
4386         init.sh: don't let bash aliases interfere with tests
4387         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
4388         is bash.  This avoids problems for those who alias standard commands to
4389         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
4390         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
4391
4392 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
4393
4394         stdint: be more consistent with glibc, SunOS libc
4395         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
4396         (gl_int_fast16_t, gl_uint_fast16_t)
4397         (gl_int_fast32_t, gl_uint_fast32_t)
4398         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
4399         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
4400         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
4401         Be consistent with glibc by default, and with SunOS 5.10 and later
4402         if __sun is defined.  This lessens the likelihood of clashes if
4403         code compiled for older hosts is combined with code compiled for
4404         newer ones.  Problem reported by Niels Möller in
4405         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
4406
4407 2012-05-07  Eric Blake  <eblake@redhat.com>
4408
4409         isatty: relax license to LGPLv2+
4410         * modules/isatty (License): Relax license.
4411
4412 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4413
4414         stat-size: comment fix
4415         * lib/stat-size.h: Remove obsolete comment about indenting.
4416
4417 2012-05-06  Bruno Haible  <bruno@clisp.org>
4418
4419         Tests for module 'sh-quote'.
4420         * modules/sh-quote-tests: New file.
4421         * tests/test-sh-quote.c: New file.
4422
4423 2012-05-06  Bruno Haible  <bruno@clisp.org>
4424
4425         sh-quote: Improve shell_quote_argv's signature.
4426         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
4427         * lib/sh-quote.c (shell_quote_argv): Likewise.
4428
4429 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4430
4431         stdint: document issues with int_fast8_t etc.
4432         * doc/posix-headers/stdint.texi (stdint.h): Say that other
4433         stdint.h substitutes may define these types differently.  See
4434         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
4435
4436 2012-05-05  Bruno Haible  <bruno@clisp.org>
4437
4438         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
4439         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
4440         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
4441         or 'guessing no (mishandles large arguments)'.
4442
4443 2012-05-05  Bruno Haible  <bruno@clisp.org>
4444
4445         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
4446         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
4447         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4448         set gl_cv_func_link_follows_symlink to "guessing no".
4449
4450 2012-05-05  Bruno Haible  <bruno@clisp.org>
4451
4452         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
4453         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
4454         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
4455         "guessing no".
4456         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
4457
4458 2012-05-05  Bruno Haible  <bruno@clisp.org>
4459
4460         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
4461         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
4462         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4463         set gl_cv_struct_dirent_d_ino to "guessing yes".
4464
4465 2012-05-05  Bruno Haible  <bruno@clisp.org>
4466
4467         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
4468         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
4469         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
4470         "guessing yes".
4471
4472 2012-05-05  Bruno Haible  <bruno@clisp.org>
4473
4474         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
4475         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
4476         compiling to a glibc system, set gl_cv_func_signbit and
4477         gl_cv_func_signbit_gcc to "guessing yes".
4478
4479 2012-05-05  Bruno Haible  <bruno@clisp.org>
4480
4481         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
4482         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
4483         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
4484         to "guessing yes".
4485         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
4486         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
4487
4488 2012-05-05  Bruno Haible  <bruno@clisp.org>
4489
4490         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
4491         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
4492         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
4493         gl_cv_func_realpath_works to "guessing yes".
4494
4495 2012-05-05  Bruno Haible  <bruno@clisp.org>
4496
4497         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
4498         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
4499         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
4500
4501 2012-05-04  Bruno Haible  <bruno@clisp.org>
4502
4503         Tweak last commit.
4504         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
4505         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4506
4507 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
4508
4509         unistd_h: make it easier to avoid sys_types_h
4510         This is useful for Emacs, which has its own method of porting to
4511         Windows, and which therefore does not need the sys_types_h module.
4512         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
4513         code moved here from gl_SYS_TYPES_H.
4514         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
4515         using the code directly.
4516         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
4517         gl_SYS_TYPES_H.
4518         * modules/sys_types (Files):
4519         * modules/unistd (Files): Add m4/off_t.m4.
4520
4521 2012-05-03  Bruno Haible  <bruno@clisp.org>
4522
4523         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
4524         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
4525         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
4526         "guessing yes" or "guessing no".
4527         (gl_FUNC_LSTAT): Update.
4528         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
4529         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
4530         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
4531
4532 2012-05-03  Bruno Haible  <bruno@clisp.org>
4533
4534         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
4535         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
4536         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
4537         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
4538         cross-compiling, choose the first alternative on glibc systems.
4539         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
4540
4541 2012-05-03  Bruno Haible  <bruno@clisp.org>
4542
4543         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
4544         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
4545         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
4546
4547 2012-05-03  Bruno Haible  <bruno@clisp.org>
4548
4549         chown: Avoid "guessing no" when cross-compiling to glibc systems.
4550         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
4551
4552 2012-05-03  Bruno Haible  <bruno@clisp.org>
4553
4554         Avoid "guessing no" guesses when cross-compiling to glibc systems.
4555         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
4556         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
4557         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
4558         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
4559         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
4560         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
4561         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
4562         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
4563         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
4564         compiling to glibc systems, set gl_cv_func_chown_slash_works,
4565         gl_cv_func_chown_ctime_works to "guessing yes".
4566         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
4567         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
4568         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
4569         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
4570         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
4571         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
4572         compiling to glibc systems, set gl_cv_func_open_directory_works to
4573         "guessing yes".
4574         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
4575         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
4576         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
4577         "guessing yes".
4578         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
4579         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
4580         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
4581         compiling to glibc systems, set gl_cv_func_floorf_ieee to
4582         "guessing yes".
4583         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
4584         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
4585         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
4586         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
4587         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
4588         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
4589         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
4590         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
4591         "guessing yes".
4592         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
4593         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
4594         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
4595         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
4596         "guessing yes".
4597         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
4598         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
4599         "guessing yes".
4600         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
4601         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
4602         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
4603         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
4604         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
4605         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
4606         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
4607         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
4608         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
4609         compiling to glibc systems, set gl_cv_func_log10f_ieee to
4610         "guessing yes".
4611         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
4612         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
4613         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
4614         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
4615         "guessing yes".
4616         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
4617         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
4618         "guessing yes".
4619         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
4620         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
4621         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
4622         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
4623         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
4624         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
4625         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
4626         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
4627         compiling to glibc systems, set gl_cv_func_mkfifo_works to
4628         "guessing yes".
4629         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
4630         compiling to glibc systems, set gl_cv_func_mknod_works to
4631         "guessing yes".
4632         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
4633         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
4634         "guessing yes".
4635         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
4636         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
4637         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
4638         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
4639         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
4640         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
4641         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
4642         compiling to glibc systems, set gl_cv_func_svid_putenv to
4643         "guessing yes".
4644         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
4645         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
4646         "guessing yes".
4647         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
4648         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
4649         "guessing yes".
4650         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
4651         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
4652         to "guessing yes".
4653         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
4654         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
4655         to "guessing yes".
4656         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
4657         compiling to glibc systems, set gl_cv_func_rmdir_works to
4658         "guessing yes".
4659         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
4660         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
4661         gl_cv_func_unlink_parent_fails to "guessing yes".
4662         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
4663         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
4664         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
4665         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
4666         gl_cv_func_rename_dest_works to "guessing yes".
4667         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
4668         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
4669         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
4670         compiling to glibc systems, set gl_cv_func_roundf_ieee to
4671         "guessing yes".
4672         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
4673         compiling to glibc systems, set gl_cv_func_roundl_ieee to
4674         "guessing yes".
4675         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
4676         compiling to glibc systems, set gl_cv_func_setenv_works to
4677         "guessing yes".
4678         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
4679         compiling to glibc systems, set gl_cv_func_unsetenv_works to
4680         "guessing yes".
4681         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
4682         compiling to glibc systems, set gl_cv_func_sleep_works to
4683         "guessing yes".
4684         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
4685         compiling to glibc systems, set gl_cv_func_stat_file_slash to
4686         "guessing yes".
4687         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
4688         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
4689         "guessing yes".
4690         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
4691         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
4692         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
4693         compiling to glibc systems, set gl_cv_func_truncf_ieee to
4694         "guessing yes".
4695         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
4696         compiling to glibc systems, set gl_cv_func_truncl_ieee to
4697         "guessing yes".
4698         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
4699         compiling to glibc systems, set gl_cv_func_usleep_works to
4700         "guessing yes".
4701         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
4702         compiling to glibc systems, set gl_cv_func_futimesat_works to
4703         "guessing yes".
4704
4705 2012-05-03  Bruno Haible  <bruno@clisp.org>
4706
4707         Say "guessing yes" or "guessing no" when cross-compiling.
4708         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
4709         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
4710         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
4711         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
4712         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
4713         am_cv_func_working_getline to "guessing yes" or "guessing no".
4714         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
4715         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
4716         (gl_FUNC_MEMMEM): When cross-compiling, set
4717         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
4718         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
4719         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
4720         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
4721         set gl_cv_func_strcasestr_works_always to "guessing yes" or
4722         "guessing no".
4723         (gl_FUNC_STRCASESTR): When cross-compiling, set
4724         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
4725         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
4726         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
4727         (gl_FUNC_STRSTR): When cross-compiling, set
4728         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
4729         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
4730         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
4731         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
4732         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
4733
4734 2012-05-01  Bruno Haible  <bruno@clisp.org>
4735
4736         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
4737         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
4738         * build-aux/reloc-ldflags: Likewise.
4739         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
4740
4741 2012-05-01  Bruno Haible  <bruno@clisp.org>
4742
4743         gnulib-tool: Remove transitional code.
4744         * gnulib-tool: Don't warn about --import with 0 arguments any more.
4745         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
4746
4747 2012-05-01  Bruno Haible  <bruno@clisp.org>
4748
4749         getcwd: Fix misindentation.
4750         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
4751
4752 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
4753
4754         exclude: process exclude and include directives in order
4755         This restores the pre-2009 behavior, and is part of a fix of a
4756         grep bug reported by Quentin Arce in
4757         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
4758         * lib/exclude.c (struct exclude): Remove 'tail' member.
4759         (new_exclude_segment): Prepend the new segment instead of appending.
4760         Return void, since that's now more convenient.
4761         (file_pattern_matches): Renamed from excluded_file_pattern_p.
4762         (file_name_matches): Renamed from excluded_file_name_p.
4763         (file_pattern_matches, file_name_matches):
4764         Return true if the pattern matches, not if it excludes.
4765         All callers changed.
4766         (excluded_file_name): Process the list in reverse order;
4767         since the list is now reversed this restores the pre-2009 behavior.
4768         (add_exclude): Adjust to new reversed-order list.  Use local var
4769         rather than macro, for clarity.
4770         * tests/test-exclude7.sh: Adjust to corrected behavior.
4771
4772         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
4773         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
4774         it's not possible here.  Handle the case of \ at end of pattern
4775         without dumping core.
4776         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
4777
4778         _Noreturn: future-proof non-GNU and non-MSVC compilers
4779         * build-aux/snippet/_Noreturn.h (_Noreturn):
4780         * m4/gnulib-common.m4 (gl_COMMON_BODY):
4781         Do not define _Noreturn if __STDC_VERSION__ indicates this is
4782         C11 or later.  This is more likely to work with random future C
4783         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
4784         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
4785
4786         exclude: handle wildcards with FNM_EXTMATCH
4787         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
4788         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
4789         comment that "has wildcards" really means "has or may have
4790         wildcards".  Simplify by avoiding the need to call strcspn.
4791
4792 2012-04-29  Bruno Haible  <bruno@clisp.org>
4793
4794         gnulib-tool: Fix list of authors.
4795         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
4796
4797 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
4798
4799         bootstrap: support Automake-NG in $buildreq
4800         * bootstrap (check_versions): Handle automake and aclocal from
4801         Automake-NG specially.  They can be specified as respectively
4802         the "automake-ng" and "aclocal-ng" requirements.
4803
4804 2012-04-25  Eric Blake  <eblake@redhat.com>
4805
4806         bootstrap: only force latest Makefile.in.in for gettext module
4807         * build-aux/bootstrap (with_gettext): Only install latest
4808         Makefile.in.in for projects requesting bleeding edge gettext.
4809
4810 2012-04-22  Bruno Haible  <bruno@clisp.org>
4811
4812         doc: Mention reason for replacement on glibc/Linux systems.
4813         * doc/posix-functions/dprintf.texi: Mention the problem with special
4814         'long double' values.
4815         * doc/posix-functions/fprintf.texi: Likewise.
4816         * doc/posix-functions/printf.texi: Likewise.
4817         * doc/posix-functions/snprintf.texi: Likewise.
4818         * doc/posix-functions/sprintf.texi: Likewise.
4819         * doc/posix-functions/vdprintf.texi: Likewise.
4820         * doc/posix-functions/vfprintf.texi: Likewise.
4821         * doc/posix-functions/vprintf.texi: Likewise.
4822         * doc/posix-functions/vsnprintf.texi: Likewise.
4823         * doc/posix-functions/vsprintf.texi: Likewise.
4824         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
4825         platforms with F_DUPFD_CLOEXEC problems.
4826         * doc/posix-functions/glob.texi: Mention which platforms are affected
4827         by the problem with symbolic links.
4828         * doc/posix-functions/linkat.texi: Mention the problem with
4829         AT_SYMLINK_FOLLOW on Linux.
4830
4831 2012-04-22  Bruno Haible  <bruno@clisp.org>
4832
4833         pwrite: Don't replace on all platforms.
4834         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
4835
4836 2012-04-22  Bruno Haible  <bruno@clisp.org>
4837
4838         rint* tests: Avoid gcc warnings.
4839         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
4840         * tests/test-rintf.c (INFINITY, NAN): Likewise.
4841         * tests/test-rintl.c (INFINITY, NAN): Likewise.
4842
4843 2012-04-21  Bruno Haible  <bruno@clisp.org>
4844
4845         users.txt: Update.
4846         * users.txt: Add freedink, wdiff. Update URLs for projects that have
4847         switched from CVS to git, bzr, or svn.
4848
4849 2012-04-21  Bruno Haible  <bruno@clisp.org>
4850
4851         Large File Support for native Windows platforms.
4852
4853         * m4/largefile.m4 (gl_LARGEFILE): New macro.
4854         * modules/largefile (configure.ac): Require gl_LARGEFILE.
4855
4856         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
4857         type.
4858         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
4859         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
4860         * doc/posix-headers/sys_types.texi: Mention the effect of the
4861         'largefile' module.
4862
4863         * lib/fcntl.in.h: Add comments about off_t.
4864         * modules/fcntl-h (Depends-on): Add sys_types.
4865
4866         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
4867         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
4868         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
4869         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
4870         * modules/unistd (Depends-on): Add sys_types.
4871         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
4872
4873         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
4874         instead of lseek.
4875         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
4876         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
4877         * modules/lseek (Depends-on): Add sys_types.
4878
4879         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
4880         msvc-nothrow.h.
4881         (SetFileSize): New function.
4882         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
4883         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
4884         if Large File Support is requested.
4885         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
4886         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
4887
4888         * lib/stdio.in.h: Add comments about off_t.
4889         * modules/stdio (Depends-on): Add sys_types.
4890
4891         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
4892         instead of ftello.
4893         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
4894         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
4895         (gl_PREREQ_FTELLO): New macro.
4896         * modules/ftello (Depends-on): Add sys_types.
4897         (configure.ac): Incoke gl_PREREQ_FTELLO.
4898
4899         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
4900         instead of fseeko.
4901         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
4902         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
4903         (gl_PREREQ_FSEEKO): New macro.
4904         * modules/fseeko (Depends-on): Add sys_types.
4905         (configure.ac): Invoke gl_PREREQ_FSEEKO.
4906
4907         * lib/sys_stat.in.h: Add comments about off_t.
4908         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
4909         64-bit integer for st_size in 'struct stat'.
4910         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
4911         Define _GL_WINDOWS_64_BIT_ST_SIZE.
4912         * modules/sys_stat (Depends-on): Add sys_types.
4913         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
4914
4915         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
4916         instead of stat or _stat.
4917
4918         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
4919         'struct _stati64' instead of fstat and 'struct stat'.
4920         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
4921         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
4922
4923         Reported by Ray Satiro <raysatiro@yahoo.com>.
4924
4925 2012-04-19  Eric Blake  <eblake@redhat.com>
4926
4927         bootstrap: accommodate older libtool
4928         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
4929         Reported by Daniel P. Berrange.
4930
4931 2012-04-19  Jim Meyering  <meyering@redhat.com>
4932
4933         announce-gen: avoid failure due to lack of Digest::SHA1
4934         Even with the preferred Digest::SHA available, this script
4935         would fail when the backup module, Digest::SHA1, was not installed.
4936         * build-aux/announce-gen: Quote the conditional use of "use".
4937         Reported by Reuben Thomas in:
4938         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
4939
4940         bootstrap: don't let a user's CDPATH setting affect this script
4941         When CDPATH is set, cd will sometimes generate output.
4942         When "cd" is run in a subshell whose output matters, that
4943         surprising-to-some output can cause malfunction.
4944         Unsetting CDPATH turns off this shell "feature."
4945         * build-aux/bootstrap (CDPATH): Unset.
4946         Reported by Reuben Thomas in:
4947         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
4948         and inspired by his patch here:
4949         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
4950
4951 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
4952         and Jim Meyering  <meyering@redhat.com>
4953
4954         maint.mk: catch "see @xref{}" and similar
4955         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
4956         prohibit "See also @xref{", "Also see @pxref{", and similar.
4957
4958 2012-04-16  Jim Meyering  <meyering@redhat.com>
4959
4960         bootstrap: really use gnulib's po/Makefile.in.in
4961         * build-aux/bootstrap: Correct the source file name in previous change.
4962         Reported by Akim Demaille.
4963
4964         configmake: correct minor inconsistency in Makefile rule
4965         * modules/configmake (Makefile.am): All other rules like this one
4966         run the final "mv -f ..." in the same backslash-continued command
4967         as the one that does everything else.  This one put the mv -f ...
4968         command on a separate, non-backslash-continued line.
4969         Make it like the others.
4970
4971         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
4972         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
4973         the one from gettext.  Reported by Akim Demaille.
4974
4975 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
4976
4977         Fix recursion of install-* into po directories.
4978         Bison's install-pdf bug reported by Hans Aberg at
4979         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
4980         * build-aux/po/Makefile.in.in (install-dvi, install-html)
4981         (install-info, install-pdf, install-ps): New targets.
4982
4983 2012-04-16  Jim Meyering  <meyering@redhat.com>
4984
4985         maint: avoid spurious "make sc_maint" failure
4986         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
4987         exempt all *.class file names, for lib/javaversion.class.
4988
4989 2012-04-15  Bruno Haible  <bruno@clisp.org>
4990
4991         lseek: Make configure test independent of environment.
4992         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
4993         Windows, we know that lseek() on pipes is broken; skip the runtime
4994         test.
4995
4996 2012-04-14  Bruno Haible  <bruno@clisp.org>
4997
4998         stat: Bypass buggy override in mingw64.
4999         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
5000         * lib/stat.c (stat) [mingw64]: Define to _stat.
5001         * doc/posix-functions/stat.texi: Mention mingw64 bug.
5002
5003 2012-04-14  Bruno Haible  <bruno@clisp.org>
5004
5005         pathmax: Fix compilation error on MSVC 9.
5006         * modules/pathmax (Depends-on): Add unistd.
5007
5008 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
5009
5010         README: document pointer comparison assumption
5011         * README (Portability guidelines): Document assumption about
5012         pointer comparisons, in response to a recent bug-gnulib comment by
5013         Jeffrey Kegler.
5014
5015 2012-04-12  Bruno Haible  <bruno@clisp.org>
5016
5017         Tests for module 'getrusage'.
5018         * modules/getrusage-tests: New file.
5019         * tests/test-getrusage.c: New file.
5020
5021         New module 'getrusage'.
5022         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
5023         warn-on-use.h.
5024         (getrusage): New declaration.
5025         * lib/getrusage.c: New file.
5026         * m4/getrusage.m4: New file.
5027         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
5028         is declared.
5029         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
5030         HAVE_GETRUSAGE.
5031         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
5032         snippet/c++defs, snippet/warn-on-use.
5033         (Makefile.am): Update generation of sys/resource.h. Substitute
5034         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
5035         * modules/getrusage: New file.
5036         * doc/posix-functions/getrusage.texi: Mention the new module.
5037
5038 2012-04-12  Bruno Haible  <bruno@clisp.org>
5039
5040         Tests for module 'sys_resource'.
5041         * modules/sys_resource-tests: New file.
5042         * tests/test-sys_resource.c: New file.
5043
5044         New module 'sys_resource'.
5045         * lib/sys_resource.in.h: New file.
5046         * m4/sys_resource_h.m4: New file.
5047         * modules/sys_resource: New file.
5048         * doc/posix-headers/sys_resource.texi: Mention the new module.
5049
5050 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
5051
5052         ioctl: Fix compilation error on mingw.
5053         * lib/ioctl.c: Include <windows.h>.
5054         Also reported by Ray Satiro <raysatiro@yahoo.com>.
5055
5056 2012-04-04  Jim Meyering  <meyering@redhat.com>
5057
5058         regex: correct #pragma guard expression
5059         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
5060         not 4.3.  Correct its cpp guard expression.
5061
5062 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
5063
5064         regex: remove unnecessary type punning
5065         Problem reported by Vladimir Serbinenko in
5066         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
5067         * lib/regex.h (struct re_pattern_buffer): Change the type of
5068         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
5069         Fix comment to match code.
5070         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
5071         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
5072         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
5073         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
5074         (set_regs):
5075         Omit no-longer-necessary casts.
5076
5077 2012-04-03  Bruno Haible  <bruno@clisp.org>
5078
5079         Tests for module 'ilogbl'.
5080         * modules/ilogbl-tests: New file.
5081         * tests/test-ilogbl.c: New file.
5082
5083         New module 'ilogbl'.
5084         * lib/math.in.h (ilogbl): New declaration.
5085         * lib/ilogbl.c: New file.
5086         * m4/ilogbl.m4: New file.
5087         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
5088         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
5089         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
5090         Split sed invocation, to avoid the limit of 100 substitutions of
5091         HP-UX 'sed'.
5092         * modules/ilogbl: New file.
5093         * tests/test-math-c++.cc: Check the declaration of ilogbl.
5094         * doc/posix-functions/ilogbl.texi: Mention the new module.
5095
5096 2012-04-03  Bruno Haible  <bruno@clisp.org>
5097
5098         Tests for module 'ilogbf'.
5099         * modules/ilogbf-tests: New file.
5100         * tests/test-ilogbf.c: New file.
5101
5102         New module 'ilogbf'.
5103         * lib/math.in.h (ilogbf): New declaration.
5104         * lib/ilogbf.c: New file.
5105         * m4/ilogbf.m4: New file.
5106         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
5107         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
5108         REPLACE_ILOGBF.
5109         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
5110         REPLACE_ILOGBF.
5111         * modules/ilogbf: New file.
5112         * tests/test-math-c++.cc: Check the declaration of ilogbf.
5113         * doc/posix-functions/ilogbf.texi: Mention the new module.
5114
5115 2012-04-03  Bruno Haible  <bruno@clisp.org>
5116
5117         Tests for module 'ilogb'.
5118         * modules/ilogb-tests: New file.
5119         * tests/test-ilogb.c: New file.
5120         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
5121         tests/test-logb-ieee.h.
5122
5123         New module 'ilogb'.
5124         * lib/math.in.h (ilogb): New declaration.
5125         * lib/ilogb.c: New file.
5126         * m4/ilogb.m4: New file.
5127         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
5128         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
5129         REPLACE_ILOGB.
5130         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
5131         REPLACE_ILOGB.
5132         * modules/ilogb: New file.
5133         * tests/test-math-c++.cc: Check the declaration of ilogb.
5134         * doc/posix-functions/ilogb.texi: Mention the new module.
5135
5136 2012-04-03  Bruno Haible  <bruno@clisp.org>
5137
5138         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
5139         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
5140         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
5141         (main): Check their values.
5142         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
5143         problem.
5144
5145 2012-04-03  Bruno Haible  <bruno@clisp.org>
5146
5147         Tests for module 'logbl-ieee'.
5148         * modules/logbl-ieee-tests: New file.
5149         * tests/test-logbl-ieee.c: New file.
5150
5151         New module 'logbl-ieee'.
5152         * modules/logbl-ieee: New file.
5153
5154         Tests for module 'logb-ieee'.
5155         * modules/logb-ieee-tests: New file.
5156         * tests/test-logb-ieee.c: New file.
5157
5158         New module 'logb-ieee'.
5159         * modules/logb-ieee: New file.
5160
5161         Tests for module 'logbf-ieee'.
5162         * modules/logbf-ieee-tests: New file.
5163         * tests/test-logbf-ieee.c: New file.
5164         * tests/test-logb-ieee.h: New file.
5165
5166         New module 'logbf-ieee'.
5167         * modules/logbf-ieee: New file.
5168
5169 2012-04-03  Bruno Haible  <bruno@clisp.org>
5170
5171         Tests for module 'logbl'.
5172         * modules/logbl-tests: New file.
5173         * tests/test-logbl.c: New file.
5174
5175         New module 'logbl'.
5176         * lib/math.in.h (logbl): New declaration.
5177         * lib/logbl.c: New file.
5178         * m4/logbl.m4: New file.
5179         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
5180         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
5181         REPLACE_LOGBL.
5182         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
5183         REPLACE_LOGBL.
5184         * modules/logbl: New file.
5185         * tests/test-math-c++.cc: Check the declaration of logbl.
5186         * doc/posix-functions/logbl.texi: Mention the new module.
5187
5188 2012-04-02  Bruno Haible  <bruno@clisp.org>
5189
5190         Tests for module 'logbf'.
5191         * modules/logbf-tests: New file.
5192         * tests/test-logbf.c: New file.
5193
5194         New module 'logbf'.
5195         * lib/math.in.h (logbf): New declaration.
5196         * lib/logbf.c: New file.
5197         * m4/logbf.m4: New file.
5198         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
5199         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
5200         REPLACE_LOGBF.
5201         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
5202         REPLACE_LOGBF.
5203         * modules/logbf: New file.
5204         * tests/test-math-c++.cc: Check the declaration of logbf.
5205         * doc/posix-functions/logbf.texi: Mention the new module.
5206
5207 2012-04-02  Bruno Haible  <bruno@clisp.org>
5208
5209         logb tests: More tests.
5210         * tests/test-logb.h: New file, based on tests/test-logb.c and
5211         tests/test-frexp.h.
5212         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
5213         (main): Just invoke test_function.
5214         * modules/logb-tests (Files): Add tests/test-logb.h,
5215         tests/minus-zero.h, tests/randomd.c.
5216         (Makefile.am): Add randomd.c to test_logb_SOURCES.
5217
5218         logb: Provide replacement and workarounds.
5219         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
5220         is 1.
5221         * lib/logb.c: New file.
5222         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
5223         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
5224         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
5225         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
5226         * modules/logb (Files): Add lib/logb.c.
5227         (Depends-on): Add isfinite, frexp, isnand.
5228         (configure.ac): Compile the replacement code logb.c if needed.
5229         * tests/test-math-c++.cc: Check the declaration of logb.
5230         * doc/posix-functions/logb.texi: Mention the replacement and the bug
5231         with subnormal numbers.
5232
5233 2012-04-02  Bruno Haible  <bruno@clisp.org>
5234
5235         log10* tests: Speed up.
5236         * tests/test-log10.h (test_function): Reduce amount of random numbers
5237         to test.
5238
5239 2012-04-01  Bruno Haible  <bruno@clisp.org>
5240
5241         logf-ieee: Fix test whether logf works.
5242         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
5243
5244 2012-04-01  Bruno Haible  <bruno@clisp.org>
5245
5246         log10l: Work around log10l-ieee test failure on IRIX 6.5.
5247         * lib/log10l.c: Include <float.h>
5248         (log10l): On IRIX, normalize the +Infinity value.
5249         * modules/log10l (Depends-on): Add 'float'.
5250         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
5251         +Infinity.
5252
5253         log10f-ieee: Work around test failure on NetBSD 5.1.
5254         * m4/log10f-ieee.m4: New file.
5255         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
5256         test whether log10f works with a negative argument. Replace it if not.
5257         * lib/log10f.c (log10f): For negative arguments, return NaN.
5258         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
5259         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
5260         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
5261
5262         log10f-ieee: Work around test failure on Solaris 9.
5263         * modules/log10f-ieee (Depends-on): Add log10-ieee.
5264         (configure.ac): Require gl_FUNC_LOG10F.
5265
5266         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5267         * m4/log10-ieee.m4: New file.
5268         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
5269         whether log10 works with a negative argument. Replace it if not.
5270         * lib/log10.c (log10): For negative arguments, return NaN.
5271         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
5272         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
5273         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
5274
5275         Tests for module 'log10l-ieee'.
5276         * modules/log10l-ieee-tests: New file.
5277         * tests/test-log10l-ieee.c: New file.
5278
5279         New module 'log10l-ieee'.
5280         * modules/log10l-ieee: New file.
5281
5282         Tests for module 'log10-ieee'.
5283         * modules/log10-ieee-tests: New file.
5284         * tests/test-log10-ieee.c: New file.
5285
5286         New module 'log10-ieee'.
5287         * modules/log10-ieee: New file.
5288
5289         Tests for module 'log10f-ieee'.
5290         * modules/log10f-ieee-tests: New file.
5291         * tests/test-log10f-ieee.c: New file.
5292         * tests/test-log10-ieee.h: New file.
5293
5294         New module 'log10f-ieee'.
5295         * modules/log10f-ieee: New file.
5296
5297 2012-04-01  Bruno Haible  <bruno@clisp.org>
5298
5299         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
5300         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
5301         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
5302         workaround.
5303         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
5304         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
5305         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
5306         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
5307         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
5308         (Depends-on): Update conditions.
5309         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
5310         IRIX 6.5, OSF/1 5.1 problems.
5311
5312 2012-04-01  Bruno Haible  <bruno@clisp.org>
5313
5314         log10f: Work around OSF/1 5.1 bug.
5315         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
5316         * lib/log10f.c (log10f): If logf exists, use it and provide just the
5317         workaround.
5318         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
5319         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
5320         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
5321         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
5322         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
5323         (Depends-on): Update conditions.
5324         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
5325
5326 2012-04-01  Bruno Haible  <bruno@clisp.org>
5327
5328         log10: Work around OSF/1 5.1 bug.
5329         * lib/math.in.h (log10): New declaration.
5330         * lib/log10.c: New file.
5331         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
5332         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
5333         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
5334         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
5335         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
5336         * modules/log10 (Files): Add lib/log10.c.
5337         (Depends-on): Add math.
5338         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
5339         * tests/test-math-c++.cc: Check the declaration of log10.
5340         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
5341
5342 2012-03-31  Bruno Haible  <bruno@clisp.org>
5343
5344         log10l tests: More tests.
5345         * modules/log10l-tests (Files): Add tests/test-log10l.h,
5346         tests/minus-zero.h, tests/randoml.c.
5347         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
5348         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
5349         (main): Invoke test_function.
5350
5351         log10f tests: More tests.
5352         * modules/log10f-tests (Files): Add tests/test-log10.h,
5353         tests/minus-zero.h, tests/randomf.c.
5354         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
5355         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
5356         (main): Invoke test_function.
5357
5358         log10 tests: More tests.
5359         * tests/test-log10.h: New file.
5360         * modules/log10-tests (Files): Add tests/test-log10.h,
5361         tests/minus-zero.h, tests/randomd.c.
5362         (Makefile.am): Add randomd.c to test_log10_SOURCES.
5363         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
5364         (main): Invoke test_function.
5365
5366 2012-03-31  Simon Josefsson  <simon@josefsson.org>
5367
5368         fflush: Fix syntax error.
5369         * lib/fflush.c: Include unused-parameter.h, needed for
5370         _GL_UNUSED_PARAMETER.
5371         * modules/fflush (Depends-on): Add snippet/unused-parameter.
5372
5373 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
5374
5375         regex: pacify GCC when compiling GRUB
5376         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
5377         a diagnostic.  Reported by Vladimir Serbinenko in
5378         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
5379
5380 2012-03-29  Eric Blake  <eblake@redhat.com>
5381
5382         stdio: don't assume gets any more
5383         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
5384         support.
5385         * modules/stdio (Makefile.am): Likewise.
5386         * lib/stdio-read.c (gets): Likewise.
5387         * tests/test-stdio-c++.cc: Likewise.
5388         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
5389         * lib/stdio.in.h (gets): Make warning occur in more places.
5390         * doc/posix-functions/gets.texi (gets): Update documentation.
5391         Reported by Christer Solskogen.
5392
5393         maint.mk: fix syntax checks without exclusions
5394         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
5395         Reported by Daniel P. Berrange.
5396
5397         strerror_r: avoid compiler warning
5398         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
5399         level.
5400
5401         fflush: avoid compiler warning
5402         * lib/fflush.c (update_fpos_cache): Mark variables that are
5403         potentially unused.
5404
5405 2012-03-25  Bruno Haible  <bruno@clisp.org>
5406
5407         Tests for module 'localeconv'.
5408         * modules/localeconv-tests: New file.
5409         * tests/test-localeconv.c: New file.
5410
5411         New module 'localeconv'.
5412         * lib/locale.in.h (localeconv): New declaration.
5413         * lib/localeconv.c: New file.
5414         * m4/localeconv.m4: New file.
5415         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
5416         REPLACE_LOCALECONV.
5417         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
5418         REPLACE_LOCALECONV.
5419         * modules/localeconv: New file.
5420         * modules/nl_langinfo (Depends-on): Add localeconv.
5421         * modules/human (Depends-on): Likewise.
5422         * doc/posix-functions/localeconv.texi: Mention the new module.
5423
5424 2012-03-25  Bruno Haible  <bruno@clisp.org>
5425
5426         locale: Provide a complete 'struct lconv'.
5427         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5428         'struct lconv' does not contain int_p_cs_precedes.
5429         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5430         * doc/posix-headers/locale.texi: Update.
5431
5432         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
5433         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
5434         * doc/posix-headers/locale.texi: Update.
5435
5436         locale: Provide a working 'struct lconv'.
5437         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
5438         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5439         'struct lconv' does not even contain decimal_point.
5440         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
5441         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
5442         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5443         * doc/posix-headers/locale.texi: Mention the problems with
5444         'struct lconv'.
5445         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
5446
5447 2012-03-24  Bruno Haible  <bruno@clisp.org>
5448
5449         Enable common subexpression optimization in GCC.
5450         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
5451         macros.
5452         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
5453         GCC attribute 'const'.
5454         (uc_locale_language): Declare with GCC attribute 'pure'.
5455         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
5456         with GCC attribute 'const'.
5457         * lib/unictype.in.h (uc_is_general_category_withtable,
5458         uc_combining_class, uc_combining_class_name,
5459         uc_combining_class_long_name, uc_bidi_class_name,
5460         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
5461         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
5462         uc_decimal_value, uc_digit_value, uc_numeric_value,
5463         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
5464         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
5465         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
5466         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
5467         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
5468         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
5469         Declare with GCC attribute 'const'.
5470         (uc_general_category_name, uc_general_category_long_name,
5471         uc_general_category_byname, uc_general_category,
5472         uc_is_general_category, uc_combining_class_byname,
5473         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
5474         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
5475         Declare with GCC attribute 'pure'.
5476         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
5477         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
5478         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
5479         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
5480         with GCC attribute 'pure'.
5481         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
5482         'const'.
5483         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
5484         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
5485         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
5486         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
5487         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
5488         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
5489         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
5490         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
5491         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
5492         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
5493         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
5494         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
5495         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
5496         GCC attribute 'pure'.
5497         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
5498         'const'.
5499         * lib/uniwidth.in.h (uc_width): Simplify declaration.
5500         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
5501         u32_strwidth): Declare with GCC attribute 'pure'.
5502
5503         Enable common subexpression optimization in GCC.
5504         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5505         (alphasort): Declare with GCC attribute 'pure'.
5506         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5507         (atoll): Declare with GCC attribute 'pure'.
5508         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
5509         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
5510         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
5511         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5512         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
5513         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
5514         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
5515
5516 2012-03-24  Bruno Haible  <bruno@clisp.org>
5517
5518         gnulib-tool: Avoid unintended error output from 'cmp'.
5519         * gnulib-tool (func_add_file, func_update_file, func_import): Use
5520         "cmp -s", not "cmp > /dev/null".
5521
5522 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5523
5524         gnulib-tool: fix imprecise comments w.r.t. an automake bug
5525
5526         It's not just Automake versions < 1.9b that creates an empty
5527         pkgdatadir at installation time if pkgdata_DATA is specified
5528         to empty; modern automake versions do this as well, at least
5529         until automake 1.11.4 (not yet released at the moment of writing,
5530         but soon to appear).  That behaviour was generally considered a
5531         feature rather than a bug, at least until this discussion:
5532         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
5533
5534         See also automake bugs #10997 and #11030.
5535
5536         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
5537         reference to relevant automake bug numbers.
5538         (func_emit_tests_Makefile_am): Likewise.
5539
5540 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5541
5542         announce-gen: use Digest::SHA when possible
5543         * build-aux/announce-gen: Use Digest::SHA when possible, falling
5544         back to Digest::SHA1 if necessary.
5545
5546 2012-03-20  Jim Meyering  <meyering@redhat.com>
5547
5548         tests: avoid gcc warnings about argv vs. const initializers
5549         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
5550         warnings about discarding 'const' qualifier from pointer target type.
5551         * tests/test-posix_spawn2.c (main): Likewise.
5552
5553 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5554
5555         README-release: simplify slightly
5556         * top/README-release: Run "git checkout master" only once.
5557
5558 2012-03-15  Mark Wielaard  <mark@klomp.org>
5559
5560         git-merge-changelog: add specific example on how to use with hg.
5561         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
5562
5563 2012-03-18  Mark Wielaard  <mark@klomp.org>
5564
5565         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
5566
5567 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
5568
5569         git-version-gen: don't let "prefix" envvar cause trouble
5570         * build-aux/git-version-gen (prefix): Initialize properly,
5571         so as not to use a value specified via the environment.
5572         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
5573
5574 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5575
5576         regex: diagnose too-large repeat counts in EREs
5577         Previously, the code did not diagnose the too-large repeat count
5578         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
5579         as if it were 'b\{1000000000}', which is unexpected.
5580         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
5581         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
5582         is a reasonable one for this problem.  Another option would be to
5583         create a new REG_OVERFLOW error for repeat counts that are too large.
5584         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
5585         count is too large, so that the caller can distinguish the two cases.
5586         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
5587         "Too large" return code, and that repeat counts are one example of this.
5588
5589 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5590
5591         doc: some glibc x32 integer width issues
5592         * doc/posix-headers/sys_types.texi (sys/types.h):
5593         * doc/posix-headers/time.texi (time.h):
5594         Mention that glibc x32 does not conform to POSIX in a couple of
5595         areas related to integer widths.
5596
5597 2012-03-15  Bruno Haible  <bruno@clisp.org>
5598
5599         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
5600         * lib/fma.c (VOLATILE): New macro.
5601         (FUNC): Use it to work around a GCC compiler bug.
5602
5603 2012-03-13  Bruno Haible  <bruno@clisp.org>
5604
5605         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5606         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
5607         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
5608         REPLACE_HYPOTL to 1.
5609         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
5610
5611 2012-03-13  Bruno Haible  <bruno@clisp.org>
5612
5613         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5614         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
5615         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
5616         REPLACE_REMAINDERL to 1.
5617         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
5618         bug.
5619
5620 2012-03-13  Bruno Haible  <bruno@clisp.org>
5621
5622         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5623         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
5624         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
5625         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
5626         too big rounding errors.
5627         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
5628         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
5629         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
5630         (Depends-on): Update conditions.
5631         * tests/test-sqrtl.c (my_ldexpl): New function.
5632         (main): Add test of a particular value.
5633         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5634
5635 2012-03-13  Pádraig Brady  <P@draigBrady.com>
5636
5637         doc: Update timer_* platform portability notes.
5638         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
5639         that always return ENOSYS.
5640         * doc/posix-functions/timer_delete.texi: Likewise.
5641         * doc/posix-functions/timer_gettime.texi: Likewise.
5642         * doc/posix-functions/timer_settime.texi: Likewise.
5643
5644 2012-03-13  Bruno Haible  <bruno@clisp.org>
5645
5646         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5647         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
5648         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
5649         REPLACE_CBRTL to 1.
5650         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5651
5652 2012-03-13  Bruno Haible  <bruno@clisp.org>
5653
5654         remainderl: Avoid compilation error on AIX >= 5.2.
5655         * lib/math.in.h (remainderl): Undefine macro from the system header.
5656
5657 2012-03-13  Bruno Haible  <bruno@clisp.org>
5658
5659         Avoid compilation errors with MSVC option -fp:strict.
5660         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
5661         * lib/cbrtf.c: Likewise.
5662         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5663
5664 2012-03-12  Bruno Haible  <bruno@clisp.org>
5665
5666         uninorm: Don't crash in out-of-memory conditions.
5667         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
5668         gracefully.
5669         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
5670         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
5671
5672 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
5673
5674         quote: fix syntax-check
5675         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
5676         also exports quote_quoting_options.
5677
5678 2012-03-12  Simon Josefsson  <simon@josefsson.org>
5679
5680         Collapse list of copyright years to ranges.  See
5681         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
5682         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
5683         build-aux/csharpexec.sh.in, build-aux/gnupload,
5684         build-aux/install-reloc, build-aux/javacomp.sh.in,
5685         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
5686         build-aux/move-if-change, build-aux/reloc-ldflags,
5687         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
5688
5689 2012-03-11  Bruno Haible  <bruno@clisp.org>
5690
5691         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5692         * m4/log2f-ieee.m4: New file.
5693         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
5694         whether log2f works with a minus zero argument. Replace it if not.
5695         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
5696         (Depends-on): Add log2-ieee.
5697         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
5698         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
5699
5700         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5701         * m4/log2-ieee.m4: New file.
5702         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
5703         whether log2 works with a minus zero argument. Replace it if not.
5704         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
5705         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
5706         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
5707
5708         Tests for module 'log2l-ieee'.
5709         * modules/log2l-ieee-tests: New file.
5710         * tests/test-log2l-ieee.c: New file.
5711
5712         New module 'log2l-ieee'.
5713         * modules/log2l-ieee: New file.
5714
5715         Tests for module 'log2-ieee'.
5716         * modules/log2-ieee-tests: New file.
5717         * tests/test-log2-ieee.c: New file.
5718
5719         New module 'log2-ieee'.
5720         * modules/log2-ieee: New file.
5721
5722         Tests for module 'log2f-ieee'.
5723         * modules/log2f-ieee-tests: New file.
5724         * tests/test-log2f-ieee.c: New file.
5725         * tests/test-log2-ieee.h: New file.
5726
5727         New module 'log2f-ieee'.
5728         * modules/log2f-ieee: New file.
5729
5730 2012-03-11  Bruno Haible  <bruno@clisp.org>
5731
5732         Tests for module 'log2l'.
5733         * modules/log2l-tests: New file.
5734         * tests/test-log2l.c: New file.
5735
5736         New module 'log2l'.
5737         * lib/math.in.h (log2l): New declaration.
5738         * lib/log2l.c: New file.
5739         * m4/log2l.m4: New file.
5740         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
5741         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
5742         REPLACE_LOG2L.
5743         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
5744         REPLACE_LOG2L.
5745         * modules/log2l: New file.
5746         * tests/test-math-c++.cc: Check the declaration of log2l.
5747         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
5748         and OSF/1 problems.
5749
5750 2012-03-11  Bruno Haible  <bruno@clisp.org>
5751
5752         Tests for module 'log2f'.
5753         * modules/log2f-tests: New file.
5754         * tests/test-log2f.c: New file.
5755
5756         New module 'log2f'.
5757         * lib/math.in.h (log2f): New declaration.
5758         * lib/log2f.c: New file.
5759         * m4/log2f.m4: New file.
5760         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
5761         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
5762         REPLACE_LOG2F.
5763         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
5764         REPLACE_LOG2F.
5765         * modules/log2f: New file.
5766         * tests/test-math-c++.cc: Check the declaration of log2f.
5767         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
5768         and OSF/1 and Cygwin problems.
5769
5770 2012-03-11  Bruno Haible  <bruno@clisp.org>
5771
5772         Tests for module 'log2'.
5773         * modules/log2-tests: New file.
5774         * tests/test-log2.c: New file.
5775         * tests/test-log2.h: New file.
5776
5777         New module 'log2'.
5778         * lib/math.in.h (log2): New declaration.
5779         * lib/log2.c: New file.
5780         * m4/log2.m4: New file.
5781         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
5782         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
5783         REPLACE_LOG2.
5784         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
5785         REPLACE_LOG2.
5786         * modules/log2: New file.
5787         * tests/test-math-c++.cc: Check the declaration of log2.
5788         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
5789         and OSF/1 and Cygwin problems.
5790
5791 2012-03-11  Bruno Haible  <bruno@clisp.org>
5792
5793         exp2* tests: More tests.
5794         * tests/test-exp2.h (test_function): Test all integral arguments that
5795         don't need to overflow or denormalized numbers.
5796         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
5797         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
5798         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
5799
5800 2012-03-10  Bruno Haible  <bruno@clisp.org>
5801
5802         log1pl-ieee: Work around test failure on AIX 7.1.
5803         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
5804
5805         log1pl-ieee: Work around test failure on IRIX 6.5.
5806         * m4/log1pl-ieee.m4: New file.
5807         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
5808         test whether log1pl works with a minus zero argument. Replace it if
5809         not.
5810         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
5811         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
5812         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
5813         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
5814         (Depends-on): Update conditions.
5815         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5816         m4/signbit.m4.
5817         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
5818         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
5819
5820         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
5821         * m4/log1pf-ieee.m4: New file.
5822         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
5823         test whether log1pf works with a minus zero argument. Replace it if
5824         not.
5825         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
5826         m4/signbit.m4.
5827         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
5828         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
5829
5830         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
5831         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
5832         (configure.ac): Require gl_FUNC_LOG1PF.
5833
5834         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
5835         * m4/log1p-ieee.m4: New file.
5836         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
5837         whether log1p works with a minus zero argument. Replace it if not.
5838         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
5839         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
5840         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
5841         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
5842         (Depends-on): Update conditions.
5843         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5844         m4/signbit.m4.
5845         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
5846         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
5847
5848         Tests for module 'log1pl-ieee'.
5849         * modules/log1pl-ieee-tests: New file.
5850         * tests/test-log1pl-ieee.c: New file.
5851
5852         New module 'log1pl-ieee'.
5853         * modules/log1pl-ieee: New file.
5854
5855         Tests for module 'log1p-ieee'.
5856         * modules/log1p-ieee-tests: New file.
5857         * tests/test-log1p-ieee.c: New file.
5858
5859         New module 'log1p-ieee'.
5860         * modules/log1p-ieee: New file.
5861
5862         Tests for module 'log1pf-ieee'.
5863         * modules/log1pf-ieee-tests: New file.
5864         * tests/test-log1pf-ieee.c: New file.
5865         * tests/test-log1p-ieee.h: New file.
5866
5867         New module 'log1pf-ieee'.
5868         * modules/log1pf-ieee: New file.
5869
5870 2012-03-10  Bruno Haible  <bruno@clisp.org>
5871
5872         Tests for module 'log1pl'.
5873         * modules/log1pl-tests: New file.
5874         * tests/test-log1pl.c: New file.
5875
5876         New module 'log1pl'.
5877         * lib/math.in.h (log1pl): New declaration.
5878         * lib/log1pl.c: New file.
5879         * m4/log1pl.m4: New file.
5880         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
5881         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
5882         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
5883         * modules/log1pl: New file.
5884         * tests/test-math-c++.cc: Check the declaration of log1pl.
5885         * doc/posix-functions/log1pl.texi: Mention the new module.
5886
5887 2012-03-10  Bruno Haible  <bruno@clisp.org>
5888
5889         Tests for module 'log1pf'.
5890         * modules/log1pf-tests: New file.
5891         * tests/test-log1pf.c: New file.
5892
5893         New module 'log1pf'.
5894         * lib/math.in.h (log1pf): New declaration.
5895         * lib/log1pf.c: New file.
5896         * m4/log1pf.m4: New file.
5897         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
5898         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
5899         REPLACE_LOG1PF.
5900         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
5901         REPLACE_LOG1PF.
5902         * modules/log1pf: New file.
5903         * tests/test-math-c++.cc: Check the declaration of log1pf.
5904         * doc/posix-functions/log1pf.texi: Mention the new module.
5905
5906 2012-03-10  Bruno Haible  <bruno@clisp.org>
5907
5908         log1p tests: More tests.
5909         * tests/test-log1p.h: New file.
5910         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
5911         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
5912         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
5913         (main): Invoke test_function.
5914
5915         log1p: Provide replacement for Minix and MSVC.
5916         * lib/math.in.h (log1p): New declaration.
5917         * lib/log1p.c: New file.
5918         * m4/log1p.m4: New file.
5919         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
5920         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
5921         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
5922         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
5923         (Depends-on): Add math, isnand, log, round.
5924         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
5925         HAVE_LOG1P is 0.
5926         * tests/test-math-c++.cc: Check the declaration of log1p.
5927         * doc/posix-functions/log1p.texi: Mention the replacement.
5928
5929 2012-03-10  Bruno Haible  <bruno@clisp.org>
5930
5931         math tests: Small simplification.
5932         * tests/test-exp.h (test_function): Use the same err_bound for
5933         'double' on platforms with sizeof (long double) == sizeof (double)
5934         than on platforms with sizeof (long double) > sizeof (double).
5935         * tests/test-exp2.h (test_function): Likewise.
5936         * tests/test-expm1.h (test_function): Likewise.
5937         * tests/test-log.h (test_function): Likewise.
5938
5939 2012-03-10  Bruno Haible  <bruno@clisp.org>
5940
5941         Fix some comments.
5942         * lib/expl.c: Fix an ambiguous comment.
5943         * lib/expm1.c: Likewise.
5944         * lib/expm1l.c: Likewise.
5945         * lib/exp2.c: Likewise.
5946         * lib/exp2l.c: Likewise.
5947
5948 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
5949
5950         regex: allow inclusion of <regex.h> before <limits.h>
5951         Without this patch, portable programs had to include <limits.h> before
5952         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
5953         I ran into this problem with a test version of GNU grep on Solaris 8.
5954         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
5955         This is done conditionally so that this change can be merged
5956         back to glibc.
5957         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
5958         using the included regex.
5959
5960         fts: depend on fdopendir
5961         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
5962         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
5963         problem was introduced when fdopendir was split out.
5964
5965 2012-03-10  Bruno Haible  <bruno@clisp.org>
5966
5967         Remove unused variables.
5968         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
5969         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5970
5971 2012-03-10  Bruno Haible  <bruno@clisp.org>
5972
5973         isnanf-nolibm: Fix last commit.
5974         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
5975
5976         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
5977         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
5978
5979 2012-03-10  Bruno Haible  <bruno@clisp.org>
5980
5981         logf-ieee: Work around test failure on NetBSD 5.1.
5982         * m4/logf-ieee.m4: New file.
5983         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
5984         whether logf works with a negative argument. Replace it if not.
5985         * lib/logf.c (logf): For negative arguments, return NaN.
5986         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
5987         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
5988         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
5989
5990         logf-ieee: Work around test failure on Solaris 9.
5991         * modules/logf-ieee (Depends-on): Add log-ieee.
5992         (configure.ac): Require gl_FUNC_LOGF.
5993
5994         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5995         * m4/log-ieee.m4: New file.
5996         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
5997         log works with a negative argument. Replace it if not.
5998         * lib/log.c (log): For negative arguments, return NaN.
5999         * modules/log-ieee (Files): Add m4/log-ieee.m4.
6000         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
6001         * doc/posix-functions/log.texi: Mention the log-ieee module.
6002
6003         Tests for module 'logl-ieee'.
6004         * modules/logl-ieee-tests: New file.
6005         * tests/test-logl-ieee.c: New file.
6006
6007         New module 'logl-ieee'.
6008         * modules/logl-ieee: New file.
6009
6010         Tests for module 'log-ieee'.
6011         * modules/log-ieee-tests: New file.
6012         * tests/test-log-ieee.c: New file.
6013
6014         New module 'log-ieee'.
6015         * modules/log-ieee: New file.
6016
6017         Tests for module 'logf-ieee'.
6018         * modules/logf-ieee-tests: New file.
6019         * tests/test-logf-ieee.c: New file.
6020         * tests/test-log-ieee.h: New file.
6021
6022         New module 'logf-ieee'.
6023         * modules/logf-ieee: New file.
6024
6025 2012-03-10  Bruno Haible  <bruno@clisp.org>
6026
6027         log: Fix bug introduced on 2012-03-09.
6028         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
6029
6030 2012-03-10  Pádraig Brady  <P@draigBrady.com>
6031
6032         timer-time: link explicitly with pthreads on glibc
6033         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
6034         to support static linking, when newer glibc is
6035         detected, as that contains pthread emulation of
6036         POSIX timer functions where required.
6037         * modules/timer-time: Depend on threadlib to
6038         pull in the appropriate library to link.
6039
6040 2012-03-10  Bruno Haible  <bruno@clisp.org>
6041
6042         log* tests: More tests.
6043         * tests/test-log.h: New file.
6044         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
6045         (main): Invoke test_function.
6046         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
6047         (main): Invoke test_function.
6048         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
6049         (main): Invoke test_function.
6050         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
6051         tests/randomd.c.
6052         (Makefile.am): Add randomd.c to test_log_SOURCES.
6053         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
6054         tests/randomf.c.
6055         (Makefile.am): Add randomf.c to test_logf_SOURCES.
6056         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
6057         tests/randoml.c.
6058         (Depends-on): Add 'float'.
6059         (Makefile.am): Add randoml.c to test_logl_SOURCES.
6060
6061 2012-03-09  Bruno Haible  <bruno@clisp.org>
6062
6063         logl: Work around OSF/1 5.1 bug.
6064         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
6065         * lib/logl.c (logl): If logl exists, use it and provide just the
6066         workaround.
6067         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
6068         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
6069         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
6070         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
6071         * modules/logl (configure.ac): Consider REPLACE_LOGL.
6072         (Depends-on): Update conditions.
6073         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
6074
6075 2012-03-09  Bruno Haible  <bruno@clisp.org>
6076
6077         logf: Work around OSF/1 5.1 bug.
6078         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
6079         * lib/logf.c (logf): If logf exists, use it and provide just the
6080         workaround.
6081         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
6082         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
6083         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
6084         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
6085         * modules/logf (configure.ac): Consider REPLACE_LOGF.
6086         (Depends-on): Update conditions.
6087         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
6088
6089 2012-03-09  Bruno Haible  <bruno@clisp.org>
6090
6091         log: Work around OSF/1 5.1 bug.
6092         * lib/math.in.h (log): New declaration.
6093         * lib/log.c: New file.
6094         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
6095         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
6096         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
6097         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
6098         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
6099         * modules/log (Files): Add lib/log.c.
6100         (Depends-on): Add math.
6101         (configure.ac): If REPLACE_LOG is 1, compile an override.
6102         * tests/test-math-c++.cc: Check the declaration of log.
6103         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
6104
6105 2012-03-09  Jim Meyering  <meyering@redhat.com>
6106
6107         readtokens.c: adjust wording in a comment
6108         * lib/readtokens.c: Insert omitted "that" in a comment.
6109
6110 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
6111
6112         modechange: add notations +40, 00440, etc.
6113         * lib/modechange.c (mode_compile): Support new notations
6114         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
6115
6116 2012-03-08  Bruno Haible  <bruno@clisp.org>
6117
6118         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
6119         * m4/exp2l-ieee.m4: New file.
6120         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
6121         test whether exp2l works with a NaN argument and with a negative
6122         infinity argument. Replace it if not.
6123         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
6124         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
6125         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
6126         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
6127         (Depends-on): Update conditions.
6128         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
6129         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
6130         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
6131
6132         Tests for module 'exp2l-ieee'.
6133         * modules/exp2l-ieee-tests: New file.
6134         * tests/test-exp2l-ieee.c: New file.
6135
6136         New module 'exp2l-ieee'.
6137         * modules/exp2l-ieee: New file.
6138
6139         Tests for module 'exp2-ieee'.
6140         * modules/exp2-ieee-tests: New file.
6141         * tests/test-exp2-ieee.c: New file.
6142
6143         New module 'exp2-ieee'.
6144         * modules/exp2-ieee: New file.
6145
6146         Tests for module 'exp2f-ieee'.
6147         * modules/exp2f-ieee-tests: New file.
6148         * tests/test-exp2f-ieee.c: New file.
6149         * tests/test-exp2-ieee.h: New file.
6150
6151         New module 'exp2f-ieee'.
6152         * modules/exp2f-ieee: New file.
6153
6154 2012-03-08  Bruno Haible  <bruno@clisp.org>
6155
6156         Tests for module 'exp2l'.
6157         * modules/exp2l-tests: New file.
6158         * tests/test-exp2l.c: New file.
6159
6160         New module 'exp2l'.
6161         * lib/math.in.h (exp2l): New declaration.
6162         * lib/exp2l.c: New file.
6163         * lib/expl-table.c: New file, extracted from lib/expl.c.
6164         * lib/expl.c (gl_expl_table): New declaration.
6165         (expl): Remove expl_table. Update reference.
6166         * m4/exp2l.m4: New file.
6167         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
6168         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
6169         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
6170         * modules/exp2l: New file.
6171         * modules/expl (Files): Add lib/expl-table.c.
6172         (configure.ac): Compile also expl-table.c.
6173         * tests/test-math-c++.cc: Check the declaration of exp2l.
6174         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
6175         problem.
6176
6177 2012-03-08  Bruno Haible  <bruno@clisp.org>
6178
6179         Tests for module 'exp2f'.
6180         * modules/exp2f-tests: New file.
6181         * tests/test-exp2f.c: New file.
6182
6183         New module 'exp2f'.
6184         * lib/math.in.h (exp2f): New declaration.
6185         * lib/exp2f.c: New file.
6186         * m4/exp2f.m4: New file.
6187         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
6188         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
6189         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
6190         * modules/exp2f: New file.
6191         * tests/test-math-c++.cc: Check the declaration of exp2f.
6192         * doc/posix-functions/exp2f.texi: Mention the new module and the
6193         IRIX problem.
6194
6195 2012-03-08  Bruno Haible  <bruno@clisp.org>
6196
6197         Tests for module 'exp2'.
6198         * modules/exp2-tests: New file.
6199         * tests/test-exp2.c: New file.
6200         * tests/test-exp2.h: New file.
6201
6202         New module 'exp2'.
6203         * lib/math.in.h (exp2): New declaration.
6204         * lib/exp2.c: New file.
6205         * m4/exp2.m4: New file.
6206         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
6207         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
6208         REPLACE_EXP2.
6209         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
6210         REPLACE_EXP2.
6211         * modules/exp2: New file.
6212         * tests/test-math-c++.cc: Check the declaration of exp2.
6213         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
6214         and OpenBSD problems.
6215
6216 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
6217
6218         savedir: fix comment typo
6219         * lib/savedir.c (savedirstream): Fix typo in comment.
6220
6221 2012-03-08  Bruno Haible  <bruno@clisp.org>
6222
6223         test-readtokens.c: use const; remove unwarranted cast
6224         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
6225
6226 2012-03-08  Bruno Haible  <bruno@clisp.org>
6227
6228         fmal: Avoid compilation error on AIX.
6229         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
6230         AIX 5.2..7.1.
6231
6232 2012-03-08  Bruno Haible  <bruno@clisp.org>
6233
6234         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
6235         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
6236         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
6237         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
6238         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
6239         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
6240         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
6241
6242 2012-03-08  Bruno Haible  <bruno@clisp.org>
6243
6244         remainderf: Override buggy system function on IRIX 6.5.
6245         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
6246         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
6247         when it exists.
6248         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
6249
6250 2012-03-08  Jim Meyering  <meyering@redhat.com>
6251
6252         test-readtokens.c: avoid const-related compilation warnings
6253         * tests/test-readtokens.c: Avoid const-related compilation warnings.
6254
6255 2012-03-07  Jim Meyering  <meyering@redhat.com>
6256             Bruno Haible  <bruno@clisp.org>
6257
6258         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
6259         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
6260         tests/randomd.c.
6261         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
6262         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
6263         tests/randoml.c.
6264         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
6265
6266 2012-03-07  Bruno Haible  <bruno@clisp.org>
6267
6268         expm1l: Avoid compilation error on AIX.
6269         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
6270         AIX 5.2..7.1.
6271
6272 2012-03-07  Bruno Haible  <bruno@clisp.org>
6273
6274         expm1l: Don't override undeclared system function on IRIX 6.5.
6275         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
6276         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
6277         it exists. Set HAVE_DECL_EXPM1L.
6278         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
6279         HAVE_EXPM1L.
6280         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
6281         HAVE_EXPM1L.
6282         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
6283
6284 2012-03-07  Bruno Haible  <bruno@clisp.org>
6285
6286         remainderl: Don't override undeclared system function on IRIX 6.5.
6287         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
6288         HAVE_REMAINDERL.
6289         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
6290         declared when it exists. Set HAVE_DECL_REMAINDERL.
6291         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
6292         not HAVE_REMAINDERL.
6293         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
6294         HAVE_REMAINDERL.
6295         * doc/posix-functions/remainderl.texi: Mention missing declaration
6296         problem.
6297
6298 2012-03-07  Bruno Haible  <bruno@clisp.org>
6299
6300         rintf: Don't override undeclared system function on IRIX 6.5.
6301         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
6302         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
6303         exists. Set HAVE_DECL_RINTF.
6304         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
6305         HAVE_RINTF.
6306         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
6307         HAVE_RINTF.
6308         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
6309
6310 2012-03-07  Bruno Haible  <bruno@clisp.org>
6311
6312         roundl: Avoid compilation error on AIX.
6313         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
6314         AIX 5.2..7.1.
6315
6316 2012-03-07  Bruno Haible  <bruno@clisp.org>
6317
6318         roundl: Don't override undeclared system function on IRIX 6.5.
6319         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
6320         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
6321         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
6322         * modules/roundl (configure.ac): For replacement code, test
6323         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
6324         (Depends-on): Update conditions.
6325         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
6326
6327 2012-03-07  Bruno Haible  <bruno@clisp.org>
6328
6329         roundf: Don't override undeclared system function on IRIX 6.5.
6330         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
6331         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
6332         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
6333         * modules/roundf (configure.ac): For replacement code, test
6334         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
6335         (Depends-on): Update conditions.
6336         * modules/roundf-ieee (Depends-on): Update conditions.
6337         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
6338
6339 2012-03-07  Bruno Haible  <bruno@clisp.org>
6340
6341         round: Don't override undeclared system function on IRIX 6.5.
6342         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
6343         argument.
6344         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
6345         also when it is not declared. Set HAVE_ROUND. For replacement code,
6346         test HAVE_ROUND, not HAVE_DECL_ROUND.
6347         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
6348         not HAVE_DECL_ROUND.
6349         (Depends-on): Update conditions.
6350         * modules/round-ieee (Depends-on): Update conditions.
6351         * doc/posix-functions/round.texi: Mention the IRIX problem.
6352
6353 2012-03-07  Bruno Haible  <bruno@clisp.org>
6354
6355         copysignf: Don't override undeclared system function on IRIX 6.5.
6356         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
6357         HAVE_COPYSIGNF.
6358         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
6359         declared when it exists. Set HAVE_DECL_COPYSIGNF.
6360         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
6361         not HAVE_COPYSIGNF.
6362         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
6363         HAVE_COPYSIGNF.
6364         * doc/posix-functions/copysignf.texi: Mention missing declaration
6365         problem.
6366
6367 2012-03-07  Jim Meyering  <meyering@redhat.com>
6368
6369         readtokens: add tests
6370         * modules/readtokens-tests: New file.
6371         * tests/test-readtokens.c: New file.
6372
6373 2012-03-07  Jim Meyering  <meyering@redhat.com>
6374
6375         quotearg: the module must now include quote.h
6376         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
6377         So must the module.
6378         * modules/quotearg (Files): Add quote.h.
6379
6380 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
6381
6382         readtokens: avoid core dumps with unusual calling patterns
6383         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
6384         * lib/readtokens.c: Include limits.h.
6385         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
6386         (readtoken): Don't cache the delimiters; the cache code was buggy
6387         if !delim && saved_delim, or if the new n_delim differs from the old.
6388         Also, it wasn't thread-safe.
6389
6390 2012-03-07  Bruno Haible  <bruno@clisp.org>
6391
6392         quote: Adhere to common module description layout.
6393         * modules/quote (Makefile.am): Add back empty section.
6394
6395 2012-03-06  Akim Demaille  <demaille@gostai.com>
6396
6397         quote: fuse into quotearg
6398         This patch is made for the benefit of Bison.
6399         quote does not leave the choice of the quoting style to the user.
6400         quoting_style provides poor customizability, yet quoting_options,
6401         which is very rich, is hidden inside quotearg.c.  So in order to
6402         allow quote customization, move its implementation to quotearg.c.
6403         * lib/quote.c: Remove.
6404         * modules/quote: Adjust.
6405         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
6406         warning: provide all the members of literal structs.
6407         (quote_quoting_options): New.
6408         (quote, quote_n): Import implementation from quote.c.
6409         * lib/quote.h: Import the comments from quote.c.
6410         (quote_quoting_options): New.
6411
6412 2012-03-06  Bruno Haible  <bruno@clisp.org>
6413
6414         Tests for module 'expm1l-ieee'.
6415         * modules/expm1l-ieee-tests: New file.
6416         * tests/test-expm1l-ieee.c: New file.
6417
6418         New module 'expm1l-ieee'.
6419         * modules/expm1l-ieee: New file.
6420
6421         Tests for module 'expm1f-ieee'.
6422         * modules/expm1f-ieee-tests: New file.
6423         * tests/test-expm1f-ieee.c: New file.
6424
6425         New module 'expm1f-ieee'.
6426         * modules/expm1f-ieee: New file.
6427
6428         Tests for module 'expm1-ieee'.
6429         * modules/expm1-ieee-tests: New file.
6430         * tests/test-expm1-ieee.c: New file.
6431         * tests/test-expm1-ieee.h: New file.
6432
6433         New module 'expm1-ieee'.
6434         * modules/expm1-ieee: New file.
6435         * m4/expm1-ieee.m4: New file.
6436         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
6437         whether expm1 works with a minus zero argument. Replace it if not.
6438         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
6439         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
6440         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
6441         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
6442         (Depends-on): Update conditions.
6443         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
6444         AIX problem.
6445
6446 2012-03-06  Bruno Haible  <bruno@clisp.org>
6447
6448         Work around expm1f bug on IRIX 6.5.
6449         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
6450         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
6451         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
6452         not work.
6453         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
6454         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
6455         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
6456         (Depends-on): Update conditions.
6457         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
6458
6459 2012-03-06  Bruno Haible  <bruno@clisp.org>
6460
6461         Tests for module 'expm1l'.
6462         * modules/expm1l-tests: New file.
6463         * tests/test-expm1l.c: New file.
6464
6465         New module 'expm1l'.
6466         * lib/math.in.h (expm1l): New declaration.
6467         * lib/expm1l.c: New file.
6468         * m4/expm1l.m4: New file.
6469         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
6470         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
6471         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
6472         * modules/expm1l: New file.
6473         * tests/test-math-c++.cc: Check the declaration of expm1l.
6474         * doc/posix-functions/expm1l.texi: Mention the new module.
6475
6476 2012-03-06  Bruno Haible  <bruno@clisp.org>
6477
6478         Tests for module 'expm1f'.
6479         * modules/expm1f-tests: New file.
6480         * tests/test-expm1f.c: New file.
6481
6482         New module 'expm1f'.
6483         * lib/math.in.h (expm1f): New declaration.
6484         * lib/expm1f.c: New file.
6485         * m4/expm1f.m4: New file.
6486         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
6487         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
6488         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
6489         * modules/expm1f: New file.
6490         * tests/test-math-c++.cc: Check the declaration of expm1f.
6491         * doc/posix-functions/expm1f.texi: Mention the new module.
6492
6493 2012-03-06  Bruno Haible  <bruno@clisp.org>
6494
6495         Tests for module 'expm1'.
6496         * modules/expm1-tests: New file.
6497         * tests/test-expm1.c: New file.
6498         * tests/test-expm1.h: New file.
6499
6500         New module 'expm1'.
6501         * lib/math.in.h (expm1): New declaration.
6502         * lib/expm1.c: New file.
6503         * m4/expm1.m4: New file.
6504         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
6505         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
6506         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
6507         * modules/expm1: New file.
6508         * tests/test-math-c++.cc: Check the declaration of expm1.
6509         * doc/posix-functions/expm1.texi: Mention the new module.
6510
6511 2012-03-06  Bruno Haible  <bruno@clisp.org>
6512
6513         math: Ensure declarations of math functions.
6514         * modules/acosf (Depends-on): Add 'extensions'.
6515         * modules/asinf (Depends-on): Likewise.
6516         * modules/atan2f (Depends-on): Likewise.
6517         * modules/atanf (Depends-on): Likewise.
6518         * modules/cbrt (Depends-on): Likewise.
6519         * modules/cbrtf (Depends-on): Likewise.
6520         * modules/cbrtl (Depends-on): Likewise.
6521         * modules/copysignf (Depends-on): Likewise.
6522         * modules/copysignl (Depends-on): Likewise.
6523         * modules/cosf (Depends-on): Likewise.
6524         * modules/coshf (Depends-on): Likewise.
6525         * modules/expf (Depends-on): Likewise.
6526         * modules/fabsf (Depends-on): Likewise.
6527         * modules/fabsl (Depends-on): Likewise.
6528         * modules/fmaf (Depends-on): Likewise.
6529         * modules/fmal (Depends-on): Likewise.
6530         * modules/fmodf (Depends-on): Likewise.
6531         * modules/fmodl (Depends-on): Likewise.
6532         * modules/frexpf (Depends-on): Likewise.
6533         * modules/frexpl (Depends-on): Likewise.
6534         * modules/hypot (Depends-on): Likewise.
6535         * modules/hypotf (Depends-on): Likewise.
6536         * modules/hypotl (Depends-on): Likewise.
6537         * modules/ldexpf (Depends-on): Likewise.
6538         * modules/ldexpl (Depends-on): Likewise.
6539         * modules/log10f (Depends-on): Likewise.
6540         * modules/log10l (Depends-on): Likewise.
6541         * modules/log1p (Depends-on): Likewise.
6542         * modules/logb (Depends-on): Likewise.
6543         * modules/logf (Depends-on): Likewise.
6544         * modules/modff (Depends-on): Likewise.
6545         * modules/modfl (Depends-on): Likewise.
6546         * modules/powf (Depends-on): Likewise.
6547         * modules/remainderf (Depends-on): Likewise.
6548         * modules/remainderl (Depends-on): Likewise.
6549         * modules/rintf (Depends-on): Likewise.
6550         * modules/rintl (Depends-on): Likewise.
6551         * modules/sinf (Depends-on): Likewise.
6552         * modules/sinhf (Depends-on): Likewise.
6553         * modules/sqrtf (Depends-on): Likewise.
6554         * modules/tanf (Depends-on): Likewise.
6555         * modules/tanhf (Depends-on): Likewise.
6556         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
6557         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
6558         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
6559         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
6560         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
6561         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
6562         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
6563         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
6564         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
6565         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
6566         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
6567         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
6568         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
6569         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
6570         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
6571         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
6572         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
6573         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6574         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
6575         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
6576         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
6577         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
6578         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
6579         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
6580         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6581         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
6582         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
6583         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6584         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
6585         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
6586         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6587         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
6588         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
6589         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6590         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
6591         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
6592         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
6593         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
6594         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
6595         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
6596         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
6597
6598 2012-03-06  Bruno Haible  <bruno@clisp.org>
6599
6600         math: Update module names in warnings.
6601         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
6602         tanl): Use specific module name in warn-on-use warning.
6603
6604 2012-03-06  Bruno Haible  <bruno@clisp.org>
6605
6606         expl: Simplify computation.
6607         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
6608
6609 2012-03-05  Bruno Haible  <bruno@clisp.org>
6610
6611         exp* tests: More tests.
6612         * tests/test-exp.h: New file.
6613         * tests/test-exp.c: Include <float.h> and test-exp.h.
6614         (main): Invoke test_function.
6615         * tests/test-expf.c: Include <float.h> and test-exp.h.
6616         (main): Invoke test_function.
6617         * tests/test-expl.c: Include <float.h> and test-exp.h.
6618         (main): Invoke test_function.
6619         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
6620         (Makefile.am): Add randomd.c to test_exp_SOURCES.
6621         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
6622         (Makefile.am): Add randomf.c to test_expf_SOURCES.
6623         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
6624         (Depends-on): Add 'float'.
6625         (Makefile.am): Add randoml.c to test_expl_SOURCES.
6626
6627         expl: Fix precision of computed result.
6628         * lib/expl.c: Completely rewritten.
6629         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
6630         (Maintainer): Add me.
6631         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
6632
6633 2012-03-05  Bruno Haible  <bruno@clisp.org>
6634
6635         cbrt* tests: More tests.
6636         * tests/test-cbrt.h: New file.
6637         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
6638         (main): Invoke test_function.
6639         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
6640         (main): Invoke test_function.
6641         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
6642         (main): Invoke test_function.
6643         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
6644         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
6645         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
6646         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
6647         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
6648         (Depends-on): Add 'float'.
6649         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
6650
6651 2012-03-05  Bruno Haible  <bruno@clisp.org>
6652
6653         hypot* tests: More tests.
6654         * tests/test-hypot.h: New file, partially extracted from
6655         tests/test-hypotl.c.
6656         * tests/test-hypot.c: Include test-hypot.h.
6657         (main): Invoke test_function.
6658         * tests/test-hypotf.c: Include test-hypot.h.
6659         (main): Invoke test_function.
6660         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
6661         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
6662         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
6663         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
6664         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
6665         tests/randomf.c.
6666         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
6667         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
6668         tests/randoml.c.
6669         (Depends-on): Add 'fpucw', 'float'.
6670         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
6671
6672 2012-03-05  Bruno Haible  <bruno@clisp.org>
6673
6674         fpucw: Doc about FreeBSD.
6675         * lib/fpucw.h: Mention FreeBSD in comments.
6676
6677 2012-03-04  Bruno Haible  <bruno@clisp.org>
6678
6679         sqrt* tests: More tests.
6680         * tests/test-sqrt.h: New file.
6681         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
6682         (main): Invoke test_function.
6683         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
6684         (main): Invoke test_function.
6685         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
6686         (main): Invoke test_function.
6687         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
6688         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
6689         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
6690         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
6691         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
6692         (Depends-on): Add 'float'.
6693         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
6694
6695 2012-03-04  Bruno Haible  <bruno@clisp.org>
6696
6697         remainder* tests: More tests.
6698         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
6699         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
6700         (main): Invoke test_function.
6701         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
6702         (main): Invoke test_function.
6703         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
6704         (main): Invoke test_function.
6705         * modules/remainder-tests (Files): Add tests/test-remainder.h,
6706         tests/randomd.c.
6707         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
6708         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
6709         tests/randomf.c.
6710         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
6711         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
6712         tests/randoml.c.
6713         (Depends-on): Add 'float'.
6714         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
6715
6716 2012-03-04  Bruno Haible  <bruno@clisp.org>
6717
6718         remainder, remainderf, remainderl: Fix computation for large quotients.
6719         * lib/remainder.c: Completely rewritten.
6720         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
6721         USE_FLOAT.
6722         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
6723         USE_LONG_DOUBLE.
6724         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
6725         isnand, isinf. Remove round, fma.
6726         * modules/remainderf (Files): Add lib/remainder.c.
6727         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
6728         Remove roundf, fmaf.
6729         * modules/remainderl (Files): Add lib/remainder.c.
6730         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
6731         isinf. Remove roundl, fmal.
6732         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
6733         REMAINDER_LIBM.
6734         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
6735         REMAINDERF_LIBM.
6736         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
6737         REMAINDERL_LIBM.
6738
6739 2012-03-04  Bruno Haible  <bruno@clisp.org>
6740
6741         fmod* tests: More tests.
6742         * tests/test-fmod.h (my_ldexp): New function.
6743         (test_function): Reduce amount of random numbers to test. Add tests
6744         of very large quotients x / y.
6745         * tests/test-fmod.c (MAX_EXP): New macro.
6746         * tests/test-fmodf.c (MAX_EXP): Likewise.
6747         * tests/test-fmodl.c (MAX_EXP): Likewise.
6748
6749 2012-03-04  Bruno Haible  <bruno@clisp.org>
6750
6751         fmod, fmodl: Fix computation for large quotients x / y.
6752         * lib/fmod.c: Completely rewritten.
6753         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
6754         USE_LONG_DOUBLE.
6755         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
6756         isnand. Remove fma.
6757         * modules/fmodl (Files): Add lib/fmod.c.
6758         (Depends-on): Add float, isfinite, signbit, fabsl,
6759         frexpl, ldexpl, isnanl. Remove fma.
6760         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
6761         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
6762
6763 2012-03-03  Bruno Haible  <bruno@clisp.org>
6764
6765         fmod* tests: More tests.
6766         * tests/test-fmod.h: New file.
6767         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
6768         (main): Invoke test_function.
6769         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
6770         (main): Invoke test_function.
6771         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
6772         (main): Invoke test_function.
6773         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
6774         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
6775         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
6776         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
6777         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
6778         (Depends-on): Add 'float'.
6779         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
6780
6781 2012-03-03  Bruno Haible  <bruno@clisp.org>
6782
6783         rint* tests: More tests.
6784         * tests/test-rint.h: New file, partially extracted from
6785         tests/test-rintl.c.
6786         * tests/test-rint.c: Include test-rint.h.
6787         (main): Invoke test_function.
6788         * tests/test-rintf.c: Include test-rint.h.
6789         (main): Invoke test_function.
6790         * tests/test-rintl.c: Include test-rint.h.
6791         (main): Invoke test_function.
6792         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
6793         (Makefile.am): Add randomd.c to test_rint_SOURCES.
6794         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
6795         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
6796         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
6797         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
6798
6799 2012-03-03  Bruno Haible  <bruno@clisp.org>
6800
6801         modf* tests: More tests.
6802         * tests/test-modf.h: New file.
6803         * tests/test-modf.c: Include <float.h> and test-modf.h.
6804         (main): Invoke test_function.
6805         * tests/test-modff.c: Include <float.h> and test-modf.h.
6806         (main): Invoke test_function.
6807         * tests/test-modfl.c: Include <float.h> and test-modf.h.
6808         (main): Invoke test_function.
6809         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
6810         (Makefile.am): Add randomd.c to test_modf_SOURCES.
6811         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
6812         (Makefile.am): Add randomf.c to test_modff_SOURCES.
6813         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
6814         (Depends-on): Add 'float'.
6815         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
6816
6817 2012-03-03  Bruno Haible  <bruno@clisp.org>
6818
6819         fabs* tests: More tests.
6820         * tests/test-fabs.h: New file, partially extracted from
6821         tests/test-fabsl.c.
6822         * tests/test-fabs.c (RANDOM): New macro.
6823         * tests/test-fabsf.c (RANDOM): New macro.
6824         * tests/test-fabsl.c (RANDOM): New macro.
6825         * modules/fabs-tests (Files): Add tests/randomd.c.
6826         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
6827         * modules/fabsf-tests (Files): Add tests/randomf.c.
6828         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
6829         * modules/fabsl-tests (Files): Add tests/randoml.c.
6830         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
6831
6832 2012-03-03  Bruno Haible  <bruno@clisp.org>
6833
6834         ldexp* tests: More tests.
6835         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
6836         * tests/test-ldexp.c (RANDOM): New macro.
6837         * tests/test-ldexpf.c (RANDOM): New macro.
6838         * tests/test-ldexpl.c (RANDOM): New macro.
6839         * modules/ldexp-tests (Files): Add tests/randomd.c.
6840         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
6841         * modules/ldexpf-tests (Files): Add tests/randomf.c.
6842         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
6843         * modules/ldexpl-tests (Files): Add tests/randoml.c.
6844         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
6845
6846 2012-03-03  Bruno Haible  <bruno@clisp.org>
6847
6848         frexp* tests: More tests.
6849         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
6850         * tests/test-frexp.c (RANDOM): New macro.
6851         * tests/test-frexpf.c (RANDOM): New macro.
6852         * tests/test-frexpl.c (RANDOM): New macro.
6853         * modules/frexp-tests (Files): Add tests/randomd.c.
6854         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
6855         * modules/frexpf-tests (Files): Add tests/randomf.c.
6856         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
6857         * modules/frexpl-tests (Files): Add tests/randoml.c.
6858         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
6859
6860 2012-03-03  Bruno Haible  <bruno@clisp.org>
6861
6862         Support for pseudo-random numbers in tests.
6863         * tests/randomf.c: New file.
6864         * tests/randomd.c: New file.
6865         * tests/randoml.c: New file.
6866         * tests/macros.h (randomf, randomd, randoml): New declarations.
6867
6868 2012-03-03  Bruno Haible  <bruno@clisp.org>
6869
6870         frexp* tests: Refactor.
6871         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
6872         * tests/test-frexp.c: Include and use it.
6873         * tests/test-frexpf.c: Likewise.
6874         * tests/test-frexpl.c: Likewise.
6875         * modules/frexp-tests (Files): Add tests/test-frexp.h.
6876         * modules/frexpf-tests (Files): Likewise.
6877         * modules/frexpl-tests (Files): Likewise.
6878
6879 2012-03-02  Jim Meyering  <meyering@redhat.com>
6880
6881         maint: don't specify XZ_OPT=-9ev in dist-related rule
6882         Using xz's -9 option is warranted only if you have a very large
6883         tarball (see xz's documentation for the sizes vs. presets), and
6884         requires 64MiB of memory at decompression time.
6885         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
6886         Automake's default of just "-e" is fine.  Override on a
6887         per-package basis by setting XZ_OPT e.g., in cfg.mk.
6888
6889 2012-03-01  Eric Blake  <eblake@redhat.com>
6890
6891         maint.mk: allow announcement for non-gnulib project
6892         * maint.mk (announcement): Skip gnulib version if not used.
6893
6894 2012-03-01  Jim Meyering  <meyering@redhat.com>
6895
6896         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
6897         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
6898         envvar settings cannot interfere.  Otherwise, setting envvars like
6899         prohibit=foo require=bar, etc. would cause spurious test failures.
6900
6901 2012-03-01  Eric Blake  <eblake@redhat.com>
6902
6903         maint.mk: add per-line exclusions to prohibitions
6904         * maint.mk (_sc_search_regexp): Add $exclude parameter.
6905         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
6906         (sc_const_long_option): Use it.
6907
6908 2012-03-01  Bruno Haible  <bruno@clisp.org>
6909
6910         Tests for module 'expl-ieee'.
6911         * modules/expl-ieee-tests: New file.
6912         * tests/test-expl-ieee.c: New file.
6913
6914         New module 'expl-ieee'.
6915         * modules/expl-ieee: New file.
6916
6917         Tests for module 'exp-ieee'.
6918         * modules/exp-ieee-tests: New file.
6919         * tests/test-exp-ieee.c: New file.
6920
6921         New module 'exp-ieee'.
6922         * modules/exp-ieee: New file.
6923
6924         Tests for module 'expf-ieee'.
6925         * modules/expf-ieee-tests: New file.
6926         * tests/test-expf-ieee.c: New file.
6927         * tests/test-exp-ieee.h: New file.
6928
6929         New module 'expf-ieee'.
6930         * modules/expf-ieee: New file.
6931
6932 2012-02-29  Bruno Haible  <bruno@clisp.org>
6933
6934         cbrtl-ieee: Work around test failure on IRIX 6.5.
6935         * m4/cbrtl-ieee.m4: New file.
6936         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
6937         test whether cbrtl works with a minus zero argument. Replace it if not.
6938         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
6939         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
6940         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
6941         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
6942         (Depends-on): Update conditions.
6943         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
6944         m4/signbit.m4.
6945         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
6946         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
6947         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
6948
6949         Tests for module 'cbrtl-ieee'.
6950         * modules/cbrtl-ieee-tests: New file.
6951         * tests/test-cbrtl-ieee.c: New file.
6952
6953         New module 'cbrtl-ieee'.
6954         * modules/cbrtl-ieee: New file.
6955
6956         Tests for module 'cbrt-ieee'.
6957         * modules/cbrt-ieee-tests: New file.
6958         * tests/test-cbrt-ieee.c: New file.
6959
6960         New module 'cbrt-ieee'.
6961         * modules/cbrt-ieee: New file.
6962
6963         Tests for module 'cbrtf-ieee'.
6964         * modules/cbrtf-ieee-tests: New file.
6965         * tests/test-cbrtf-ieee.c: New file.
6966         * tests/test-cbrt-ieee.h: New file.
6967
6968         New module 'cbrtf-ieee'.
6969         * modules/cbrtf-ieee: New file.
6970
6971 2012-02-29  Bruno Haible  <bruno@clisp.org>
6972
6973         cbrtf: Work around bug in IRIX 6.5 system function.
6974         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
6975         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
6976         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
6977         work.
6978         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
6979         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
6980         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
6981         (Depends-on): Update conditions.
6982         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
6983
6984 2012-02-29  Bruno Haible  <bruno@clisp.org>
6985
6986         Tests for module 'cbrtl'.
6987         * modules/cbrtl-tests: New file.
6988         * tests/test-cbrtl.c: New file.
6989
6990         New module 'cbrtl'.
6991         * lib/math.in.h (cbrtl): New declaration.
6992         * lib/cbrtl.c: New file.
6993         * m4/cbrtl.m4: New file.
6994         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
6995         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
6996         HAVE_DECL_CBRTL.
6997         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
6998         HAVE_DECL_CBRTL.
6999         * modules/cbrtl: New file.
7000         * tests/test-math-c++.cc: Check the declaration of cbrtl.
7001         * doc/posix-functions/cbrtl.texi: Mention the new module.
7002
7003 2012-02-29  Bruno Haible  <bruno@clisp.org>
7004
7005         Tests for module 'cbrtf'.
7006         * modules/cbrtf-tests: New file.
7007         * tests/test-cbrtf.c: New file.
7008
7009         New module 'cbrtf'.
7010         * lib/math.in.h (cbrtf): New declaration.
7011         * lib/cbrtf.c: New file.
7012         * m4/cbrtf.m4: New file.
7013         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
7014         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
7015         HAVE_DECL_CBRTF.
7016         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
7017         HAVE_DECL_CBRTF.
7018         * modules/cbrtf: New file.
7019         * tests/test-math-c++.cc: Check the declaration of cbrtf.
7020         * doc/posix-functions/cbrtf.texi: Mention the new module.
7021
7022 2012-02-29  Bruno Haible  <bruno@clisp.org>
7023
7024         cbrt: Provide replacement on MSVC and Minix.
7025         * lib/math.in.h (cbrt): New declaration.
7026         * lib/cbrt.c: New file.
7027         * m4/cbrt.m4: New file.
7028         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
7029         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
7030         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
7031         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
7032         (Depends-on): Add dependencies.
7033         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
7034         * tests/test-math-c++.cc: Check the declaration of cbrt.
7035         * doc/posix-functions/cbrt.texi: Mention that the module provides a
7036         replacement.
7037
7038 2012-02-29  Bruno Haible  <bruno@clisp.org>
7039
7040         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
7041         * m4/hypotl-ieee.m4: New file.
7042         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
7043         test whether hypotl works with mixed NaN and Infinity arguments.
7044         Replace it if not.
7045         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
7046         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
7047         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
7048         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
7049         (Depends-on): Update conditions.
7050         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
7051         (Depends-on): Add hypot-ieee.
7052         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
7053         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
7054
7055         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
7056         * m4/hypotf-ieee.m4: New file.
7057         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
7058         test whether hypotf works with mixed NaN and Infinity arguments.
7059         Replace it if not.
7060         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
7061         (Depends-on): Add hypot-ieee.
7062         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
7063         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
7064
7065         hypot-ieee: Work around test failure on OSF/1 and native Windows.
7066         * lib/math.in.h (hypot): New declaration.
7067         * lib/hypot.c: New file.
7068         * m4/hypot-ieee.m4: New file.
7069         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
7070         whether hypot works with mixed NaN and Infinity arguments. Replace it
7071         if not.
7072         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
7073         REPLACE_HYPOT.
7074         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
7075         * modules/hypot (Files): Add lib/hypot.c.
7076         (Depends-on): Add dependencies.
7077         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
7078         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
7079         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
7080         * tests/test-math-c++.cc: Check the declaration of hypot.
7081         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
7082
7083         Tests for module 'hypotl-ieee'.
7084         * modules/hypotl-ieee-tests: New file.
7085         * tests/test-hypotl-ieee.c: New file.
7086
7087         New module 'hypotl-ieee'.
7088         * modules/hypotl-ieee: New file.
7089
7090         Tests for module 'hypot-ieee'.
7091         * modules/hypot-ieee-tests: New file.
7092         * tests/test-hypot-ieee.c: New file.
7093
7094         New module 'hypot-ieee'.
7095         * modules/hypot-ieee: New file.
7096
7097         Tests for module 'hypotf-ieee'.
7098         * modules/hypotf-ieee-tests: New file.
7099         * tests/test-hypotf-ieee.c: New file.
7100         * tests/test-hypot-ieee.h: New file.
7101
7102         New module 'hypotf-ieee'.
7103         * modules/hypotf-ieee: New file.
7104
7105 2012-02-29  Bruno Haible  <bruno@clisp.org>
7106
7107         Remove unused variables.
7108         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
7109         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
7110         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
7111         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
7112
7113 2012-02-29  Eric Blake  <eblake@redhat.com>
7114
7115         termios: fix pid_t always, not just for tcgetsid
7116         * doc/posix-headers/termios.texi (termios.h): Mention problem.
7117         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
7118         just when building tcgetsid.
7119
7120 2012-02-29  Bruno Haible  <bruno@clisp.org>
7121
7122         Tests for module 'hypotl'.
7123         * modules/hypotl-tests: New file.
7124         * tests/test-hypotl.c: New file.
7125
7126         New module 'hypotl'.
7127         * lib/math.in.h (hypotl): New declaration.
7128         * lib/hypotl.c: New file.
7129         * m4/hypotl.m4: New file.
7130         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
7131         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
7132         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
7133         * modules/hypotl: New file.
7134         * tests/test-math-c++.cc: Check the hypotl declaration.
7135         * doc/posix-functions/hypotl.texi: Mention the new module.
7136
7137 2012-02-29  Eric Blake  <eblake@redhat.com>
7138
7139         tcgetsid: fix cygwin header bug
7140         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
7141
7142         docs: update cygwin progress
7143         * doc/posix-functions/llround.texi (llround): Added in cygwin
7144         1.7.8.
7145         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
7146         * doc/glibc-functions/program_invocation_name.texi
7147         (program_invocation_name): Likewise.
7148         * doc/glibc-functions/program_invocation_short_name.texi
7149         (program_invocation_short_name): Likewise.
7150         * doc/glibc-functions/madvise.texi (madvise): Likewise.
7151         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
7152         Likewise.
7153         * doc/posix-functions/pthread_spin_destroy.texi
7154         (pthread_spin_destroy): Added in cygwin 1.7.10.
7155         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
7156         Likewise.
7157         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
7158         Likewise.
7159         * doc/posix-functions/pthread_spin_trylock.texi
7160         (pthread_spin_trylock): Likewise.
7161         * doc/posix-functions/pthread_spin_unlock.texi
7162         (pthread_spin_unlock): Likewise.
7163         * doc/posix-functions/pthread_setschedprio.texi
7164         (pthread_setschedprio): Likewise.
7165         * doc/posix-functions/pthread_attr_getstack.texi
7166         (pthread_attr_getstack): Likewise.
7167         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
7168         (pthread_attr_getstackaddr): Likewise.
7169         * doc/glibc-functions/pthread_getattr_np.texi
7170         (pthread_getattr_np): Likewise.
7171         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
7172         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
7173         * doc/posix-functions/clock_settime.texi (clock_settime):
7174         Likewise.
7175         * doc/posix-functions/pthread_attr_getguardsize.texi
7176         (pthread_attr_getguardsize): Likewise.
7177         * doc/posix-functions/pthread_attr_setguardsize.texi
7178         (pthread_attr_setguardsize): Likewise.
7179         * doc/posix-functions/pthread_attr_setstack.texi
7180         (pthread_attr_setstack): Likewise.
7181         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
7182         (pthread_attr_setstackaddr): Likewise.
7183         * doc/posix-functions/clock_getcpuclockid.texi
7184         (clock_getcpuclockid): Likewise.
7185         * doc/posix-functions/pthread_getcpuclockid.texi
7186         (pthread_getcpuclockid): Likewise.
7187         * doc/glibc-functions/error.texi (error): Likewise.
7188         * doc/glibc-functions/error_at_line.texi (error_at_line):
7189         Likewise.
7190         * doc/glibc-functions/error_message_count.texi
7191         (error_message_count): Likewise.
7192         * doc/glibc-functions/error_one_per_line.texi
7193         (error_one_per_line): Likewise.
7194         * doc/glibc-functions/error_print_progname.texi
7195         (error_print_progname): Likewise.
7196         * doc/posix-functions/pthread_condattr_getclock.texi
7197         (pthread_condattr_getclock): Likewise.
7198         * doc/posix-functions/pthread_condattr_setclock.texi
7199         (pthread_condattr_setclock): Likewise.
7200         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
7201         Likewise.
7202         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
7203         * doc/glibc-functions/getpt.texi (getpt): Likewise.
7204         * doc/glibc-functions/get_current_dir_name.texi
7205         (get_current_dir_name): Likewise.
7206         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
7207         Likewise.
7208         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
7209         wrong return type.
7210         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
7211         1.7.11.
7212
7213 2012-02-29  Bruno Haible  <bruno@clisp.org>
7214
7215         Tests for module 'hypotf'.
7216         * modules/hypotf-tests: New file.
7217         * tests/test-hypotf.c: New file.
7218
7219         New module 'hypotf'.
7220         * lib/math.in.h (hypotf): New declaration.
7221         * lib/hypotf.c: New file.
7222         * m4/hypotf.m4: New file.
7223         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
7224         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
7225         REPLACE_HYPOTF.
7226         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
7227         REPLACE_HYPOTF.
7228         * modules/hypotf: New file.
7229         * tests/test-math-c++.cc: Check the hypotf declaration.
7230         * doc/posix-functions/hypotf.texi: Mention the new module.
7231
7232         hypot: Prepare for hypotf module.
7233         * m4/hypot.m4: New file.
7234         * modules/hypot (Files): Add m4/hypot.m4.
7235         (configure.ac): Invoke gl_FUNC_HYPOT.
7236
7237 2012-02-29  Bruno Haible  <bruno@clisp.org>
7238
7239         hypot tests: More tests.
7240         * tests/test-hypot.c: Include <float.h>.
7241         (main): Add tests about overflow and underflow.
7242
7243 2012-02-29  Bruno Haible  <bruno@clisp.org>
7244
7245         math code: Add comments.
7246         * lib/acosl.c: Add comment about related glibc source files.
7247         * lib/asinl.c: Likewise.
7248         * lib/atanl.c: Likewise.
7249         * lib/expl.c: Likewise.
7250         * lib/logl.c: Likewise.
7251         * lib/sincosl.c: Likewise.
7252         * lib/sinl.c: Likewise.
7253         * lib/tanl.c: Likewise.
7254         * lib/trigl.c: Likewise.
7255         * lib/cosl.c: Likewise. Fix comments.
7256
7257 2012-02-28  Bruno Haible  <bruno@clisp.org>
7258
7259         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
7260         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
7261         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
7262         HUGE_VALL are defined.
7263         (numeric_equald): Renamed from numeric_equal.
7264         (numeric_equalf, numeric_equall): New functions.
7265         (main): Check also HUGE_VALF, HUGE_VALL.
7266         * modules/math-tests (Files): Add tests/macros.h.
7267         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
7268         HUGE_VALL.
7269
7270 2012-02-28  Bruno Haible  <bruno@clisp.org>
7271
7272         doc: Move ISO C11 feature notes into POSIX chapters.
7273         * doc/posix-functions/aligned_alloc.texi: Renamed from
7274         doc/glibc-functions/aligned_alloc.texi.
7275         * doc/posix-functions/quick_exit.texi: Renamed from
7276         doc/glibc-functions/quick_exit.texi.
7277         * doc/posix-headers/uchar.texi: Renamed from
7278         doc/glibc-headers/uchar.texi.
7279         * doc/posix-functions/c16rtomb.texi: Renamed from
7280         doc/glibc-functions/c16rtomb.texi.
7281         * doc/posix-functions/c32rtomb.texi: Renamed from
7282         doc/glibc-functions/c32rtomb.texi.
7283         * doc/posix-functions/mbrtoc16.texi: Renamed from
7284         doc/glibc-functions/mbrtoc16.texi.
7285         * doc/posix-functions/mbrtoc32.texi: Renamed from
7286         doc/glibc-functions/mbrtoc32.texi.
7287         * doc/gnulib.texi: Update.
7288         (Glibc uchar.h): Remove section.
7289         Suggested by Eric Blake.
7290
7291 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
7292
7293         stdnoreturn: port to MSVC better
7294         MSVC standard headers use __declspec(noreturn), so #define noreturn
7295         to empty on that platform.  Reported by Bruno Haible in
7296         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
7297         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
7298         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
7299
7300 2012-02-28  Bruno Haible  <bruno@clisp.org>
7301
7302         doc: Mention new glibc headers and functions.
7303         * doc/glibc-headers/uchar.texi: New file.
7304         * doc/glibc-functions/aligned_alloc.texi: New file.
7305         * doc/glibc-functions/c16rtomb.texi: New file.
7306         * doc/glibc-functions/c32rtomb.texi: New file.
7307         * doc/glibc-functions/clock_adjtime.texi: New file.
7308         * doc/glibc-functions/fanotify_init.texi: New file.
7309         * doc/glibc-functions/fanotify_mark.texi: New file.
7310         * doc/glibc-functions/inet6_opt_append.texi: New file.
7311         * doc/glibc-functions/inet6_opt_find.texi: New file.
7312         * doc/glibc-functions/inet6_opt_finish.texi: New file.
7313         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
7314         * doc/glibc-functions/inet6_opt_init.texi: New file.
7315         * doc/glibc-functions/inet6_opt_next.texi: New file.
7316         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
7317         * doc/glibc-functions/inet6_rth_add.texi: New file.
7318         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
7319         * doc/glibc-functions/inet6_rth_init.texi: New file.
7320         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
7321         * doc/glibc-functions/inet6_rth_segments.texi: New file.
7322         * doc/glibc-functions/inet6_rth_space.texi: New file.
7323         * doc/glibc-functions/login.texi: New file.
7324         * doc/glibc-functions/mbrtoc16.texi: New file.
7325         * doc/glibc-functions/mbrtoc32.texi: New file.
7326         * doc/glibc-functions/name_to_handle_at.texi: New file.
7327         * doc/glibc-functions/ntp_gettimex.texi: New file.
7328         * doc/glibc-functions/open_by_handle_at.texi: New file.
7329         * doc/glibc-functions/prlimit.texi: New file.
7330         * doc/glibc-functions/process_vm_readv.texi: New file.
7331         * doc/glibc-functions/process_vm_writev.texi: New file.
7332         * doc/glibc-functions/recvmmsg.texi: New file.
7333         * doc/glibc-functions/scandirat.texi: New file.
7334         * doc/glibc-functions/sendmmsg.texi: New file.
7335         * doc/glibc-functions/setns.texi: New file.
7336         * doc/glibc-functions/timespec_get.texi: New file.
7337         * doc/gnulib.texi: Include them.
7338         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
7339         sections.
7340         Reported by Eric Blake.
7341
7342 2012-02-28  Bruno Haible  <bruno@clisp.org>
7343
7344         Avoid compilation errors with MSVC option -fp:strict.
7345         * lib/floor.c: Use MSVC specific pragma fenv_access.
7346         * lib/ceil.c: Likewise.
7347         * lib/trunc.c: Likewise.
7348         * lib/round.c: Likewise.
7349         * lib/rint.c: Likewise.
7350         * lib/fma.c: Likewise.
7351         * lib/integer_length.c: Likewise.
7352         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
7353         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7354         * tests/test-floor2.c: Likewise.
7355         * tests/test-floorf2.c: Likewise.
7356         * tests/test-ceil2.c: Likewise.
7357         * tests/test-ceilf2.c: Likewise.
7358         * tests/test-trunc2.c: Likewise.
7359         * tests/test-truncf2.c: Likewise.
7360         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7361
7362 2012-02-27  Bruno Haible  <bruno@clisp.org>
7363
7364         Tests for module 'sqrtl-ieee'.
7365         * modules/sqrtl-ieee-tests: New file.
7366         * tests/test-sqrtl-ieee.c: New file.
7367
7368         New module 'sqrtl-ieee'.
7369         * modules/sqrtl-ieee: New file.
7370
7371         Tests for module 'sqrt-ieee'.
7372         * modules/sqrt-ieee-tests: New file.
7373         * tests/test-sqrt-ieee.c: New file.
7374
7375         New module 'sqrt-ieee'.
7376         * modules/sqrt-ieee: New file.
7377
7378         Tests for module 'sqrtf-ieee'.
7379         * modules/sqrtf-ieee-tests: New file.
7380         * tests/test-sqrtf-ieee.c: New file.
7381         * tests/test-sqrt-ieee.h: New file.
7382
7383         New module 'sqrtf-ieee'.
7384         * modules/sqrtf-ieee: New file.
7385
7386 2012-02-27  Bruno Haible  <bruno@clisp.org>
7387
7388         remainderl-ieee: Work around test failure on OSF/1.
7389         * m4/remainderl-ieee.m4: New file.
7390         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
7391         present, test whether remainderl works with a zero second argument.
7392         Replace it if not.
7393         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
7394         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
7395         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
7396         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
7397         (Depends-on): Update conditions.
7398         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
7399         (Depends-on): Add remainder-ieee.
7400         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
7401         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
7402         module.
7403
7404         remainderf-ieee: Work around test failure on OSF/1.
7405         * m4/remainderf-ieee.m4: New file.
7406         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
7407         present, test whether remainderf works with a zero second argument.
7408         Replace it if not.
7409         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
7410         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
7411         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
7412         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
7413         (Depends-on): Update conditions.
7414         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
7415         (Depends-on): Add remainder-ieee.
7416         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
7417         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
7418         module.
7419
7420         remainder-ieee: Work around test failure on OSF/1.
7421         * m4/remainder-ieee.m4: New file.
7422         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
7423         present, test whether remainder works with a zero second argument.
7424         Replace it if not.
7425         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
7426         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
7427         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
7428         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
7429         (Depends-on): Update dependencies.
7430         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
7431         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
7432         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
7433
7434         Tests for module 'remainderl-ieee'.
7435         * modules/remainderl-ieee-tests: New file.
7436         * tests/test-remainderl-ieee.c: New file.
7437
7438         New module 'remainderl-ieee'.
7439         * modules/remainderl-ieee: New file.
7440
7441         Tests for module 'remainder-ieee'.
7442         * modules/remainder-ieee-tests: New file.
7443         * tests/test-remainder-ieee.c: New file.
7444
7445         New module 'remainder-ieee'.
7446         * modules/remainder-ieee: New file.
7447
7448         Tests for module 'remainderf-ieee'.
7449         * modules/remainderf-ieee-tests: New file.
7450         * tests/test-remainderf-ieee.c: New file.
7451         * tests/test-remainder-ieee.h: New file.
7452
7453         New module 'remainderf-ieee'.
7454         * modules/remainderf-ieee: New file.
7455
7456 2012-02-27  Bruno Haible  <bruno@clisp.org>
7457
7458         modff, modfl: Fix configure syntax error.
7459         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
7460         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
7461
7462 2012-02-27  Bruno Haible  <bruno@clisp.org>
7463
7464         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
7465         * m4/fmodl-ieee.m4: New file.
7466         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
7467         whether fmodl works with zero arguments. Replace it if not.
7468         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
7469         (Depends-on): Add fmod-ieee.
7470         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
7471         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
7472
7473         fmodf-ieee: Work around test failure on OSF/1.
7474         * m4/fmodf-ieee.m4: New file.
7475         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
7476         whether fmodf works with zero arguments. Replace it if not.
7477         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
7478         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
7479         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
7480         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
7481         (Depends-on): Update dependencies.
7482         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
7483         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
7484         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
7485
7486         fmodf-ieee: Work around test failure on MSVC 9.
7487         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
7488         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
7489
7490         fmod-ieee: Work around test failures on OSF/1, mingw.
7491         * m4/fmod-ieee.m4: New file.
7492         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
7493         whether fmod works with zero arguments. Replace it if not.
7494         * lib/math.in.h (fmod): New declaration.
7495         * lib/fmod.c: New file.
7496         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
7497         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
7498         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
7499         * modules/fmod (Files): Add lib/fmod.c.
7500         (Depends-on): Add math, isinf, trunc, fma.
7501         (configure.ac): Arrange to compile lib/fmod.c if needed.
7502         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
7503         m4/signbit.m4.
7504         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
7505         * tests/test-math-c++.cc: Check the declaration of fmod.
7506         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
7507
7508         fmodl-ieee: Fix test failures.
7509         * lib/fmodl.c (fmodl): Treat Inf specially.
7510         * modules/fmodl (Depends-on): Add isinf.
7511
7512         Tests for module 'fmodl-ieee'.
7513         * modules/fmodl-ieee-tests: New file.
7514         * tests/test-fmodl-ieee.c: New file.
7515
7516         New module 'fmodl-ieee'.
7517         * modules/fmodl-ieee: New file.
7518
7519         Tests for module 'fmod-ieee'.
7520         * modules/fmod-ieee-tests: New file.
7521         * tests/test-fmod-ieee.c: New file.
7522
7523         New module 'fmod-ieee'.
7524         * modules/fmod-ieee: New file.
7525
7526         Tests for module 'fmodf-ieee'.
7527         * modules/fmodf-ieee-tests: New file.
7528         * tests/test-fmodf-ieee.c: New file.
7529         * tests/test-fmod-ieee.h: New file.
7530
7531         New module 'fmodf-ieee'.
7532         * modules/fmodf-ieee: New file.
7533
7534 2012-02-27  Bruno Haible  <bruno@clisp.org>
7535
7536         Tests for module 'rintl-ieee'.
7537         * modules/rintl-ieee-tests: New file.
7538         * tests/test-rintl-ieee.c: New file.
7539
7540         New module 'rintl-ieee'.
7541         * modules/rintl-ieee: New file.
7542
7543         Tests for module 'rint-ieee'.
7544         * modules/rint-ieee-tests: New file.
7545         * tests/test-rint-ieee.c: New file.
7546
7547         New module 'rint-ieee'.
7548         * modules/rint-ieee: New file.
7549
7550         Tests for module 'rintf-ieee'.
7551         * modules/rintf-ieee-tests: New file.
7552         * tests/test-rintf-ieee.c: New file.
7553         * tests/test-rint-ieee.h: New file.
7554
7555         New module 'rintf-ieee'.
7556         * modules/rintf-ieee: New file.
7557
7558 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
7559
7560         regex: re_search etc. should return -2 when memory exhausted
7561         This bug was uncovered when testing 'grep'.  Without the fix,
7562         re_search and friends return -1 when memory is exhausted, but -1
7563         means no match, and this causes grep to falsely report no-match
7564         instead of memory-exhaustion.  See
7565         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
7566         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
7567         trouble; this can occur if re_search_internal ran out of memory.
7568
7569 2012-02-26  Bruno Haible  <bruno@clisp.org>
7570
7571         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
7572         * m4/modfl-ieee.m4: New file.
7573         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
7574         whether modfl works with Inf. Replace it if not.
7575         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
7576         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
7577         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
7578         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
7579         (Depends-on): Update dependencies.
7580         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
7581         m4/signbit.m4.
7582         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
7583         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
7584
7585         modfl-ieee: Fix dependencies.
7586         * modules/modfl-ieee (Depends-on): Add modf-ieee.
7587
7588         modfl-ieee: Fix test failures.
7589         * lib/modfl.c (modfl): Treat NaN and Inf specially.
7590         * modules/modfl (Depends-on): Add isfinite, isinf.
7591
7592         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
7593         * m4/modff-ieee.m4: New file.
7594         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
7595         whether modff works with NaN and Inf. Replace it if not.
7596         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
7597         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
7598         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
7599         * modules/modff (configure.ac): Consider REPLACE_MODFF.
7600         (Depends-on): Update dependencies.
7601         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
7602         m4/signbit.m4.
7603         (Depends-on): Add modf-ieee.
7604         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
7605         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
7606
7607         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
7608         * m4/modf-ieee.m4: New file.
7609         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
7610         whether modf works with NaN and Inf. Replace it if not.
7611         * lib/math.in.h (modf): New declaration.
7612         * lib/modf.c: New file.
7613         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
7614         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
7615         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
7616         * modules/modf (Files): Add lib/modf.c.
7617         (Depends-on): Add math, isfinite, trunc, isinf.
7618         (configure.ac): Addrange to compile lib/modf.c if needed.
7619         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
7620         m4/signbit.m4.
7621         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
7622         * tests/test-math-c++.cc: Check the declaration of modf.
7623         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
7624
7625         Tests for module 'modfl-ieee'.
7626         * modules/modfl-ieee-tests: New file.
7627         * tests/test-modfl-ieee.c: New file.
7628
7629         New module 'modfl-ieee'.
7630         * modules/modfl-ieee: New file.
7631
7632         Tests for module 'modf-ieee'.
7633         * modules/modf-ieee-tests: New file.
7634         * tests/test-modf-ieee.c: New file.
7635
7636         New module 'modf-ieee'.
7637         * modules/modf-ieee: New file.
7638
7639         Tests for module 'modff-ieee'.
7640         * modules/modff-ieee-tests: New file.
7641         * tests/test-modff-ieee.c: New file.
7642         * tests/test-modf-ieee.h: New file.
7643
7644         New module 'modff-ieee'.
7645         * modules/modff-ieee: New file.
7646
7647 2012-02-26  Bruno Haible  <bruno@clisp.org>
7648
7649         Tests for module 'fabsl-ieee'.
7650         * modules/fabsl-ieee-tests: New file.
7651         * tests/test-fabsl-ieee.c: New file.
7652
7653         New module 'fabsl-ieee'.
7654         * modules/fabsl-ieee: New file.
7655
7656         Tests for module 'fabs-ieee'.
7657         * modules/fabs-ieee-tests: New file.
7658         * tests/test-fabs-ieee.c: New file.
7659
7660         New module 'fabs-ieee'.
7661         * modules/fabs-ieee: New file.
7662
7663         Tests for module 'fabsf-ieee'.
7664         * modules/fabsf-ieee-tests: New file.
7665         * tests/test-fabsf-ieee.c: New file.
7666         * tests/test-fabs-ieee.h: New file.
7667
7668         New module 'fabsf-ieee'.
7669         * modules/fabsf-ieee: New file.
7670
7671 2012-02-26  Bruno Haible  <bruno@clisp.org>
7672
7673         Tests for module 'fmal-ieee'.
7674         * modules/fmal-ieee-tests: New file.
7675         * tests/test-fmal-ieee.c: New file.
7676
7677         New module 'fmal-ieee'.
7678         * modules/fmal-ieee: New file.
7679
7680         Tests for module 'fma-ieee'.
7681         * modules/fma-ieee-tests: New file.
7682         * tests/test-fma-ieee.c: New file.
7683
7684         New module 'fma-ieee'.
7685         * modules/fma-ieee: New file.
7686
7687         Tests for module 'fmaf-ieee'.
7688         * modules/fmaf-ieee-tests: New file.
7689         * tests/test-fmaf-ieee.c: New file.
7690         * tests/test-fma-ieee.h: New file.
7691
7692         New module 'fmaf-ieee'.
7693         * modules/fmaf-ieee: New file.
7694
7695 2012-02-26  Bruno Haible  <bruno@clisp.org>
7696
7697         Tests for module 'ldexpl-ieee'.
7698         * modules/ldexpl-ieee-tests: New file.
7699         * tests/test-ldexpl-ieee.c: New file.
7700
7701         New module 'ldexpl-ieee'.
7702         * modules/ldexpl-ieee: New file.
7703
7704         Tests for module 'ldexp-ieee'.
7705         * modules/ldexp-ieee-tests: New file.
7706         * tests/test-ldexp-ieee.c: New file.
7707
7708         New module 'ldexp-ieee'.
7709         * modules/ldexp-ieee: New file.
7710
7711         Tests for module 'ldexpf-ieee'.
7712         * modules/ldexpf-ieee-tests: New file.
7713         * tests/test-ldexpf-ieee.c: New file.
7714         * tests/test-ldexp-ieee.h: New file.
7715
7716         New module 'ldexpf-ieee'.
7717         * modules/ldexpf-ieee: New file.
7718
7719 2012-02-26  Bruno Haible  <bruno@clisp.org>
7720
7721         Refactor frexp*-ieee tests.
7722         * tests/test-frexp-ieee.h: New file.
7723         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
7724         (main): Just call test_function.
7725         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
7726         (main): Just call test_function.
7727         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
7728         (main): Just call test_function.
7729         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
7730         * modules/frexp-ieee-tests (Files): Likewise.
7731         * modules/frexpl-ieee-tests (Files): Likewise.
7732
7733         Tests for module 'frexpl-ieee'.
7734         * modules/frexpl-ieee-tests: New file.
7735         * tests/test-frexpl-ieee.c: New file.
7736
7737         New module 'frexpl-ieee'.
7738         * modules/frexpl-ieee: New file.
7739
7740         Tests for module 'frexp-ieee'.
7741         * modules/frexp-ieee-tests: New file.
7742         * tests/test-frexp-ieee.c: New file.
7743
7744         New module 'frexp-ieee'.
7745         * modules/frexp-ieee: New file.
7746
7747         Tests for module 'frexpf-ieee'.
7748         * modules/frexpf-ieee-tests: New file.
7749         * tests/test-frexpf-ieee.c: New file.
7750
7751         New module 'frexpf-ieee'.
7752         * modules/frexpf-ieee: New file.
7753
7754 2012-02-26  Bruno Haible  <bruno@clisp.org>
7755
7756         roundl-ieee tests: More tests.
7757         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7758         (main): Add tests for [MX] shaded specification in POSIX.
7759         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7760         (Depends-on): Add isnanl-nolibm.
7761
7762         round-ieee tests: More tests.
7763         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7764         (main): Add tests for [MX] shaded specification in POSIX.
7765         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7766         (Depends-on): Add isnand-nolibm.
7767
7768         roundf-ieee tests: More tests.
7769         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7770         (main): Add tests for [MX] shaded specification in POSIX.
7771         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7772         (Depends-on): Add isnanf-nolibm.
7773
7774         truncl-ieee tests: More tests.
7775         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7776         (main): Add tests for [MX] shaded specification in POSIX.
7777         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7778         (Depends-on): Add isnanl-nolibm.
7779
7780         trunc-ieee tests: More tests.
7781         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7782         (main): Add tests for [MX] shaded specification in POSIX.
7783         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7784         (Depends-on): Add isnand-nolibm.
7785
7786         truncf-ieee tests: More tests.
7787         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7788         (main): Add tests for [MX] shaded specification in POSIX.
7789         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7790         (Depends-on): Add isnanf-nolibm.
7791
7792         ceill-ieee tests: More tests.
7793         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7794         (main): Add tests for [MX] shaded specification in POSIX.
7795         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7796         (Depends-on): Add isnanl-nolibm.
7797
7798         ceil-ieee tests: More tests.
7799         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7800         (main): Add tests for [MX] shaded specification in POSIX.
7801         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7802         (Depends-on): Add isnand-nolibm.
7803
7804         ceilf-ieee tests: More tests.
7805         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7806         (main): Add tests for [MX] shaded specification in POSIX.
7807         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7808         (Depends-on): Add isnanf-nolibm.
7809
7810         floorl-ieee tests: More tests.
7811         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7812         (main): Add tests for [MX] shaded specification in POSIX.
7813         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7814         (Depends-on): Add isnanl-nolibm.
7815
7816         floor-ieee tests: More tests.
7817         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7818         (main): Add tests for [MX] shaded specification in POSIX.
7819         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7820         (Depends-on): Add isnand-nolibm.
7821
7822         floorf-ieee tests: More tests.
7823         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7824         (main): Add tests for [MX] shaded specification in POSIX.
7825         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7826         (Depends-on): Add isnanf-nolibm.
7827
7828 2012-02-26  Bruno Haible  <bruno@clisp.org>
7829
7830         fpieee: More comments.
7831         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
7832
7833 2012-02-25  Bruno Haible  <bruno@clisp.org>
7834
7835         Tests for module 'log10l'.
7836         * modules/log10l-tests: New file.
7837         * tests/test-log10l.c: New file.
7838         * tests/test-math-c++.cc: Check the declaration of log10l.
7839
7840         New module 'log10l'.
7841         * lib/math.in.h (log10l): New declaration.
7842         * lib/log10l.c: New file.
7843         * m4/log10l.m4: New file.
7844         * modules/log10l: New file.
7845         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
7846         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
7847         HAVE_DECL_LOG10L.
7848         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
7849         HAVE_DECL_LOG10L.
7850         * doc/posix-functions/log10l.texi: Mention the new module.
7851
7852 2012-02-25  Bruno Haible  <bruno@clisp.org>
7853
7854         fmodl, remainder*: Avoid wrong results due to rounding errors.
7855         * lib/fmodl.c (fmodl): Correct the result if it is not within the
7856         expected bounds.
7857         * lib/remainderf.c (remainderf): Likewise.
7858         * lib/remainder.c (remainder): Likewise.
7859         * lib/remainderl.c (remainderl): Likewise.
7860
7861 2012-02-25  Bruno Haible  <bruno@clisp.org>
7862
7863         Tests for module 'remainderl'.
7864         * modules/remainderl-tests: New file.
7865         * tests/test-remainderl.c: New file.
7866         * tests/test-math-c++.cc: Check the declaration of remainderl.
7867
7868         New module 'remainderl'.
7869         * lib/math.in.h (remainderl): New declaration.
7870         * lib/remainderl.c: New file.
7871         * m4/remainderl.m4: New file.
7872         * modules/remainderl: New file.
7873         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
7874         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
7875         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
7876         HAVE_REMAINDERL.
7877         * doc/posix-functions/remainderl.texi: Mention the new module.
7878
7879 2012-02-25  Bruno Haible  <bruno@clisp.org>
7880
7881         Tests for module 'remainderf'.
7882         * modules/remainderf-tests: New file.
7883         * tests/test-remainderf.c: New file.
7884         * tests/test-math-c++.cc: Check the declaration of remainderf.
7885
7886         New module 'remainderf'.
7887         * lib/math.in.h (remainderf): New declaration.
7888         * lib/remainderf.c: New file.
7889         * m4/remainderf.m4: New file.
7890         * modules/remainderf: New file.
7891         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
7892         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
7893         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
7894         HAVE_REMAINDERF.
7895         * doc/posix-functions/remainderf.texi: Mention the new module.
7896
7897 2012-02-25  Bruno Haible  <bruno@clisp.org>
7898
7899         remainder: Support for MSVC.
7900         * lib/math.in.h (remainder): New declaration.
7901         * lib/remainder.c: New file.
7902         * m4/remainder.m4: New file.
7903         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
7904         (Depends-on): Add math, round, fma.
7905         (configure.ac): Use results of gl_FUNC_REMAINDER.
7906         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
7907         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
7908         HAVE_DECL_REMAINDER.
7909         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
7910         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
7911         * tests/test-math-c++.cc: Check the declaration of remainder.
7912         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
7913         problems are fixed.
7914
7915 2012-02-25  Bruno Haible  <bruno@clisp.org>
7916
7917         Tests for module 'fmodl'.
7918         * modules/fmodl-tests: New file.
7919         * tests/test-fmodl.c: New file.
7920         * tests/test-math-c++.cc: Check the declaration of fmodl.
7921
7922         New module 'fmodl'.
7923         * lib/math.in.h (fmodl): New declaration.
7924         * lib/fmodl.c: New file.
7925         * m4/fmodl.m4: New file.
7926         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
7927         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
7928         REPLACE_FMODL.
7929         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
7930         REPLACE_FMODL.
7931         * modules/fmodl: New file.
7932         * doc/posix-functions/fmodl.texi: Mention the new module.
7933
7934 2012-02-25  Bruno Haible  <bruno@clisp.org>
7935
7936         Tests for module 'modfl'.
7937         * modules/modfl-tests: New file.
7938         * tests/test-modfl.c: New file.
7939         * tests/test-math-c++.cc: Check the declaration of modfl.
7940
7941         New module 'modfl'.
7942         * lib/math.in.h (modfl): New declaration.
7943         * lib/modfl.c: New file.
7944         * m4/modfl.m4: New file.
7945         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
7946         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
7947         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
7948         * modules/modfl: New file.
7949         * doc/posix-functions/modfl.texi: Mention the new module.
7950
7951 2012-02-25  Bruno Haible  <bruno@clisp.org>
7952
7953         Tests for module 'fabsl'.
7954         * modules/fabsl-tests: New file.
7955         * tests/test-fabsl.c: New file.
7956         * tests/test-math-c++.cc: Check the declaration of fabsl.
7957
7958         New module 'fabsl'.
7959         * lib/math.in.h (fabsl): New declaration.
7960         * lib/fabsl.c: New file.
7961         * m4/fabsl.m4: New file.
7962         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
7963         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
7964         REPLACE_FABSL.
7965         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
7966         REPLACE_FABSL.
7967         * modules/fabsl: New file.
7968         * doc/posix-functions/fabsl.texi: Mention the new module.
7969
7970 2012-02-25  Bruno Haible  <bruno@clisp.org>
7971
7972         fabs tests: More tests.
7973         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
7974         (zero): New variable.
7975         (main): Add tests for signed zero.
7976         * modules/fabs-tests (Files): Add tests/minus-zero.h.
7977
7978         fabsf tests: More tests.
7979         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
7980         (zero): New variable.
7981         (main): Add tests for signed zero.
7982         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
7983
7984 2012-02-24  Bruno Haible  <bruno@clisp.org>
7985
7986         atanl: Provide function definition on MSVC.
7987         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
7988         function pointer.
7989         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
7990
7991 2012-02-24  Bruno Haible  <bruno@clisp.org>
7992
7993         acosl: Provide function definition on MSVC.
7994         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
7995         function pointer.
7996         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
7997
7998 2012-02-24  Bruno Haible  <bruno@clisp.org>
7999
8000         asinl: Provide function definition on MSVC.
8001         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
8002         function pointer.
8003         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
8004
8005 2012-02-24  Bruno Haible  <bruno@clisp.org>
8006
8007         tanl: Provide function definition on MSVC.
8008         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
8009         function pointer.
8010         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
8011
8012 2012-02-24  Bruno Haible  <bruno@clisp.org>
8013
8014         cosl: Provide function definition on MSVC.
8015         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
8016         function pointer.
8017         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
8018
8019 2012-02-24  Bruno Haible  <bruno@clisp.org>
8020
8021         sinl: Provide function definition on MSVC.
8022         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
8023         function pointer.
8024         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
8025
8026 2012-02-24  Bruno Haible  <bruno@clisp.org>
8027
8028         logl: Provide function definition on MSVC.
8029         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
8030         function pointer.
8031         * lib/math.in.h (logl): Undefine if it does not exist as a function.
8032
8033 2012-02-24  Bruno Haible  <bruno@clisp.org>
8034
8035         expl: Provide function definition on MSVC.
8036         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
8037         function pointer.
8038         * lib/math.in.h (expl): Undefine if it does not exist as a function.
8039
8040 2012-02-24  Bruno Haible  <bruno@clisp.org>
8041
8042         sqrtl: Provide function definition on MSVC.
8043         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
8044         a function pointer.
8045         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
8046
8047 2012-02-24  Bruno Haible  <bruno@clisp.org>
8048
8049         ceill: Provide function definition on MSVC.
8050         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
8051         used as a function pointer.
8052         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
8053
8054 2012-02-24  Bruno Haible  <bruno@clisp.org>
8055
8056         floorl: Provide function definition on MSVC.
8057         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
8058         used as a function pointer.
8059         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
8060
8061 2012-02-24  Bruno Haible  <bruno@clisp.org>
8062
8063         ceilf: Provide function definition on MSVC.
8064         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
8065         used as a function pointer.
8066         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
8067
8068 2012-02-24  Bruno Haible  <bruno@clisp.org>
8069
8070         floorf: Provide function definition on MSVC.
8071         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
8072         used as a function pointer.
8073         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
8074
8075 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8076
8077         stdnoreturn: new module
8078         This implements a replacement for C11's <stdnoreturn.h>.
8079         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
8080         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
8081         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
8082         * tests/test-stdnoreturn.c: New files.
8083
8084 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
8085
8086         regex: fix false multibyte matches in some regular expressions
8087         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
8088         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
8089         * lib/regex_internal.c (re_string_skip_chars):
8090         Fix miscomputation of remain_len that may cause incomplete
8091         multi-byte character and false match.
8092
8093 2012-02-24  Jim Meyering  <meyering@redhat.com>
8094
8095         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
8096         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
8097         uses with "==" *before* the call, e.g., 0 == strcmp (...)
8098         Remove now-unnecessary str''cmp obfuscation.
8099         Suggested by Akim Demaille.
8100
8101 2012-02-24  Bruno Haible  <bruno@clisp.org>
8102
8103         streq: Rename macro.
8104         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
8105         * NEWS: Mention the change.
8106         * lib/mbrtowc.c (mbrtowc): Update.
8107         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
8108         * lib/wcwidth.c (wcwidth): Update.
8109         Suggested by Akim Demaille and Jim Meyering.
8110
8111 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
8112
8113         regex: fix typo in definition of MIN
8114         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
8115         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
8116
8117 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
8118             Bruno Haible  <bruno@clisp.org>
8119
8120         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
8121         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
8122         entries into a stack-allocated buffer directly.
8123         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
8124
8125 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
8126             Bruno Haible  <bruno@clisp.org>
8127
8128         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
8129
8130          - There were several instances of this pattern:
8131
8132              for (;;) {
8133                n = acl (f, GETACLCNT, 0, NULL);
8134                [ allocate an array A of size N ]
8135                if (acl (f, GETACL, n, a) == n)
8136                  break;
8137              }
8138
8139            This loop might never terminate if some other process is constantly
8140            manipulating the file's ACL.  The loop should be rewritten to
8141            terminate.
8142
8143          - The acl (... GETACLNT ...) call is merely an optimization; its value
8144            is merely a hint as to how big to make the array.  A better
8145            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
8146            and just guess a reasonably-big size, growing the size and trying
8147            again if it's not large enough.  This guarantees termination, and
8148            saves a system call.
8149
8150         * lib/acl-internal.h: Include <limits.h>.
8151         (MIN, SIZE_MAX): New macros.
8152         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
8153         a stack-allocated buffer, and use malloc if it does not fit. Don't
8154         use GETACLCNT.
8155         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
8156
8157 2012-02-19  Bruno Haible  <bruno@clisp.org>
8158
8159         acl: Fix endless loop on Solaris with vxfs.
8160         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
8161         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
8162         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
8163         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
8164         * tests/test-sameacls.c (main)[Solaris]: Likewise.
8165         Reported by Bill Jones in
8166         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
8167
8168 2012-02-19  Bruno Haible  <bruno@clisp.org>
8169
8170         acl: Fix copy-acl test failure on Solaris 11 2011-11.
8171         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
8172         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
8173         that this function returns 0 in some more cases.
8174
8175 2012-02-19  Bruno Haible  <bruno@clisp.org>
8176
8177         acl: Update doc references.
8178         * doc/acl-resources.txt: Update links to Solaris documentation.
8179
8180 2012-02-19  Bruno Haible  <bruno@clisp.org>
8181
8182         Fix test failure in many locales on Solaris 11.
8183         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
8184         'tr' arguments.
8185         * tests/test-pipe-filter-ii1.c (main): Likewise.
8186         * build-aux/bootstrap (check_versions): Run 'tr' command with range
8187         expressions in the C locale.
8188         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
8189         * m4/host-os.m4 (gl_HOST_OS): Likewise.
8190
8191 2012-02-19  Bruno Haible  <bruno@clisp.org>
8192
8193         gnulib-tool: Improve usage message.
8194         * gnulib-tool (func_usage): Move doc of --help and --version to the
8195         section "Operation modes".
8196
8197 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
8198
8199         README-release: make it easier to execute commands
8200         * top/README-release: break commands out on to separate lines.
8201
8202 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
8203
8204         GNUmakefile: simplify detection of unconfigured trees
8205         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
8206         whether the tree make is being run from is already configured or
8207         not.  Related simplifications.
8208
8209 2012-02-13  Simon Josefsson  <simon@josefsson.org>
8210
8211         * gnulib-tool (func_usage): Document --help and --version.
8212
8213 2012-02-11  Jim Meyering  <meyering@redhat.com>
8214
8215         bootstrap: don't exit 0 upon gnulib-tool failure
8216         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
8217         its exit status, not 0.
8218
8219 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
8220
8221         README-release: various improvements
8222         * top/README-release: Give a command to push changes for the
8223         release.  Add "distcheck" to list of other pre-release checks.
8224         Fix instance of "make stable" which should be "make TYPE".
8225
8226 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
8227
8228         maint: replace FSF snail-mail addresses with URLs
8229         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
8230         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
8231         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
8232         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
8233         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
8234         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
8235         * lib/check-version.c, lib/check-version.h, lib/config.charset:
8236         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
8237         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
8238         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
8239         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
8240         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
8241         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
8242         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
8243         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
8244         * lib/glthread/thread.c, lib/glthread/thread.h:
8245         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
8246         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
8247         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
8248         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
8249         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
8250         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
8251         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
8252         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
8253         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
8254         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
8255         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
8256         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
8257         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
8258         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
8259         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
8260         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
8261         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
8262         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
8263         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
8264         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
8265         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
8266         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
8267         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
8268         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
8269         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
8270         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
8271         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
8272         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
8273         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
8274         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
8275         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
8276         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
8277         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
8278         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
8279         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
8280         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
8281         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
8282         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
8283         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
8284         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
8285         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
8286         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
8287         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
8288         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
8289         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
8290         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
8291         * tests/test-poll.c, tests/test-quotearg-simple.c:
8292         * tests/test-quotearg.c, tests/test-quotearg.h:
8293         * tests/test-round-ieee.c, tests/test-round1.c:
8294         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
8295         * tests/test-roundl-ieee.c, tests/test-roundl.c:
8296         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
8297         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
8298         * tests/test-strerror.c, tests/test-strerror_r.c:
8299         * tests/test-strsignal.c, tests/test-strverscmp.c:
8300         * tests/test-xmemdup0.c:
8301         Replace FSF snail mail addresses with URLs, as per GNU coding
8302         standards.  See glibc bug
8303         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
8304
8305 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
8306
8307         README-release: capitalize a word and split a line
8308         * top/README-release: Fix punctuation and spacing.
8309
8310 2012-02-08  Akim Demaille  <demaille@gostai.com>
8311
8312         fatal-signal: use C prototypes (with explicit void).
8313         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
8314         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
8315
8316 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8317
8318         regex: spelling fix
8319         * lib/regexec.c: spelling fix
8320
8321         regex: rely on stdint.h for SIZE_MAX
8322         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
8323
8324 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8325
8326         regex: merge glibc changes
8327
8328         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
8329         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
8330         (init_word_char): Work even if bitset words are not exactly 32 or
8331         64 bits wide.  Don't assume there are no padding bits.
8332         * lib/regex.c [_LIBC]: Do not include <config.h>.
8333         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
8334         and -Wtype-limits.
8335         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
8336         needless disagreement with glibc.  All uses changed.  Define it to
8337         1 only if _GNU_SOURCE, to match glibc.
8338         (_REG_RM_NAME): Remove; no longer needed, since the names in
8339         question are now all protected by __USE_GNU.
8340         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
8341         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
8342         * lib/regex_internal.h (MIN): New macro.
8343
8344         2012-01-03 Ulrich Drepper <drepper@gmail.com>
8345         * lib/regcomp.c (init_word_char): Optimize regex a bit.
8346
8347         2011-12-30 Jakub Jelinek <jakub@redhat.com>
8348         * lib/regex_internal.c (re_string_fetch_byte_case):
8349         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
8350         is miscompiled, and it turns out it is because of an incorrect
8351         attribute on re_string_fetch_byte_case.  Unlike
8352         re_string_peek_byte_case, this one is really not pure, it modifies
8353         memory (increments pstr->cur_idx), and with the pure attribute GCC
8354         assumed it doesn't and it cached the presumed value of
8355         regexp->cur_idx in a variable across the
8356          for (;; ++i)
8357            {
8358              if (i >= BRACKET_NAME_BUF_SIZE)
8359                return REG_EBRACK;
8360              if (token->type == OP_OPEN_CHAR_CLASS)
8361                ch = re_string_fetch_byte_case (regexp);
8362              else
8363                ch = re_string_fetch_byte (regexp);
8364              if (re_string_eoi(regexp))
8365                return REG_EBRACK;
8366              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
8367                break;
8368              elem->opr.name[i] = ch;
8369            }
8370
8371         2011-11-29 Andreas Schwab <schwab@redhat.com>
8372         * lib/regcomp.c (build_equiv_class):
8373         Fix access after end of search string in regex matcher.
8374
8375         2011-11-12 Ulrich Drepper <drepper@redhat.com>
8376         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
8377
8378         2011-10-12 Ulrich Drepper <drepper@redhat.com>
8379         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
8380
8381         2011-10-11 Ulrich Drepper <drepper@redhat.com>
8382         * lib/regcomp.c (parse_branch, parse_sub_exp):
8383         More regex memory leak fixes and tests.
8384         (parse_sub_exp, parse_bracket_exp):
8385         Fix memory leak for some invalid regular expressions.
8386
8387         2011-05-28 Ulrich Drepper <drepper@gmail.com>
8388         * lib/regex_internal.c, lib/regexec.c:
8389         Fix unnecessary overallocation due to incomplete character.  When
8390         incomplete characters are found at the end of a string the code
8391         ran amok and allocated lots of memory.  Stricter limits are now in
8392         place.
8393
8394         2011-05-20 Reuben Thomas <rrt@sc3d.org>
8395         * lib/regex.h: Update documentation.
8396
8397         2011-05-16 Aharon Robbins <arnold@skeeve.com>
8398         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
8399
8400         2010-05-05 Andreas Schwab <schwab@redhat.com>
8401         * lib/regexec.c (find_collation_sequence_value):
8402         Fix lookup of collation sequence value during regexp matching.
8403
8404         2010-01-22 Ulrich Drepper <drepper@redhat.com>
8405         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
8406
8407         2008-01-16 Ulrich Drepper <drepper@redhat.com>
8408         * lib/regex.h: Cleanup namespace.
8409
8410         2007-11-26 Ulrich Drepper <drepper@redhat.com>
8411         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
8412
8413         2007-08-26 Ulrich Drepper <drepper@redhat.com>
8414         * lib/regex_internal.h: Prevent some declarations and definitions
8415         to be seen when used in tests.
8416
8417         2005-05-06 Ulrich Drepper <drepper@redhat.com>
8418         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
8419         __libc_lock_* macros if not _LIBC.
8420         (struct re_dfa_t): Add lock.
8421
8422 2012-02-07  Eric Blake  <eblake@redhat.com>
8423
8424         maint.mk: also prohibit lower-case @var@
8425         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
8426         lower case, like @top_srcdir@.
8427
8428 2012-02-04  Eric Blake  <eblake@redhat.com>
8429
8430         canonicalize: avoid uninitialized memory use
8431         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
8432         random '/' left in dest.
8433         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
8434
8435 2012-02-04  Bruno Haible  <bruno@clisp.org>
8436
8437         isatty: Fix test failure of ptsname_r on native Windows.
8438         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
8439         and don't set errno.
8440         (isatty): Test first whether fd is valid. Set errno when returning 0.
8441
8442 2012-02-04  Bruno Haible  <bruno@clisp.org>
8443
8444         spawn-pipe tests: Fix a NULL program name in a diagnostic.
8445         * tests/test-spawn-pipe-main.c: Include progname.h.
8446         (main): Invoke set_program_name.
8447         * modules/spawn-pipe-tests (Depends-on): Add progname.
8448
8449         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
8450         * tests/test-nonblocking-socket-main.c: Include progname.h.
8451         (main): Invoke set_program_name.
8452         * modules/nonblocking-socket-tests (Depends-on): Add progname.
8453
8454         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
8455         * tests/test-nonblocking-pipe-main.c: Include progname.h.
8456         (main): Invoke set_program_name.
8457         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
8458
8459 2012-02-04  Eric Blake  <eblake@redhat.com>
8460
8461         canonicalize-lgpl: fix // handling
8462         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
8463
8464         canonicalize: fix // handling
8465         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
8466         /// to //, since only // is special.
8467
8468 2012-02-04  Bruno Haible  <bruno@clisp.org>
8469
8470         ioctl: Fix test failure on native Windows.
8471         * lib/ioctl.c: Include msvc-nothrow.h.
8472         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
8473
8474 2012-02-04  Bruno Haible  <bruno@clisp.org>
8475
8476         fsync: Avoid test failure on native Windows.
8477         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
8478         read-only.
8479
8480 2012-02-04  Bruno Haible  <bruno@clisp.org>
8481
8482         sys_select: Avoid syntax error on OpenBSD 5.0.
8483         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
8484         currently being included, just include the system's <sys/select.h>.
8485
8486 2012-02-04  Bruno Haible  <bruno@clisp.org>
8487
8488         sys_select: Avoid syntax error on OpenBSD 5.0.
8489         * lib/sys_select.in.h: Include <signal.h> only after the include_next
8490         <sys/select.h>, not before.
8491         Reported by Jiri B <jirib@devio.us>.
8492
8493 2012-02-04  Bruno Haible  <bruno@clisp.org>
8494
8495         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
8496         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
8497         global variables.
8498         * tests/test-get-rusage-data.c (main): Likewise.
8499         Reported by Jim Meyering.
8500
8501 2012-02-04  Bruno Haible  <bruno@clisp.org>
8502
8503         stdioext: Fix last commit.
8504         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
8505
8506 2012-02-03  Bruno Haible  <bruno@clisp.org>
8507
8508         stdioext: Add tentative support for Plan9.
8509         * lib/stdio-impl.h: Include <errno.h>.
8510         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
8511         * lib/freadable.c (freadable): Likewise.
8512         * lib/fwritable.c (fwritable): Likewise.
8513         * lib/fbufmode.c (fbufmode): Likewise.
8514         * lib/freading.c (freading): Likewise.
8515         * lib/fwriting.c (fwriting): Likewise.
8516         * lib/freadptr.c (freadptr): Likewise.
8517         * lib/freadseek.c (freadptrinc): Likewise.
8518         * lib/freadahead.c (freadahead): Likewise.
8519         * lib/fpurge.c (fpurge): Likewise.
8520         * lib/fseeko.c (rpl_fseeko): Likewise.
8521         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
8522         Reported by Jens Staal <staal1978@gmail.com>.
8523
8524 2012-02-02  Jim Meyering  <meyering@redhat.com>
8525
8526         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
8527         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
8528         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
8529         not even to try to add the attribute.  Instead, add a pragma to suppress
8530         the suggestion/warning.
8531
8532 2012-01-31  Karl Berry  <karl@gnu.org>
8533
8534         setstate doc: typo.
8535         * doc/posix-functions/setstate.texi (setstate): { not (.
8536
8537 2012-01-31  Bruno Haible  <bruno@clisp.org>
8538
8539         popen: Make more robust on Windows.
8540         * lib/popen.c: On native Windows, use the _popen based code even if
8541         HAVE_POPEN is set.
8542         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
8543         environment variable on native Windows.
8544
8545 2012-01-30  Bruno Haible  <bruno@clisp.org>
8546
8547         pclose: Fix typo.
8548         * lib/stdio.in.h (pclose): Fix typo in warning message.
8549
8550 2012-01-30  Bruno Haible  <bruno@clisp.org>
8551
8552         doc about getlogin_r, setstate.
8553         * doc/posix-functions/getlogin_r.texi: List the incompatible
8554         declaration problem under "not fixed by gnulib".
8555         * doc/posix-functions/setstate.texi: Mention incompatible declaration
8556         problem on Solaris 11 and other platforms.
8557
8558 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
8559             Bruno Haible  <bruno@clisp.org>
8560
8561         poll tests: Make test more robust.
8562         * tests/test-poll.c: Include macros.h.
8563         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
8564         return value of various I/O operations.
8565         * modules/poll-tests (Files): Add tests/macros.h.
8566
8567 2012-01-30  Bruno Haible  <bruno@clisp.org>
8568
8569         sys_stat: Fix support for mingw64 and MSVC.
8570         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
8571         header files already do it.
8572         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
8573         stat itself.
8574         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8575
8576 2012-01-30  Bruno Haible  <bruno@clisp.org>
8577
8578         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
8579         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
8580         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
8581
8582 2012-01-29  Bruno Haible  <bruno@clisp.org>
8583
8584         quotearg: Fix test failure on MacOS X 10.5.
8585         * tests/test-quotearg-simple.c: Include localcharset.h.
8586         (main): If the locale encoding is not ASCII, bypass the tests of
8587         locale_quoting_style and clocale_quoting_style.
8588         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
8589
8590 2012-01-29  Jim Meyering  <meyering@redhat.com>
8591
8592         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
8593         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
8594         detect uses of canonicalize_file_name.
8595
8596 2012-01-28  Bruno Haible  <bruno@clisp.org>
8597
8598         test-framework-sh: Fix test failure with AIX 7.1 diff.
8599         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
8600         in column 1, like 'diff -c' does.
8601         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
8602         whether 'diff -u' is used. Instead, test whether the output contains
8603         some '@' character.
8604
8605 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
8606
8607         strtoimax: eliminate need for stdint.h, inttypes.h checks
8608         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
8609         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
8610         the prerequisites for a recently-introduced strtoimax test.
8611         I guess this might cause strtoimax to be replaced when not
8612         strictly necessary on older hosts, but this shouldn't introduce
8613         any bugs and it should make Emacs 'configure' faster on typical
8614         modern hosts.  Problem discovered when importing the latest gnulib
8615         to an Emacs test version.
8616         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
8617
8618 2012-01-28  Bruno Haible  <bruno@clisp.org>
8619
8620         sys_time: Override 'struct timeval' on some native Windows platforms.
8621         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
8622         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
8623         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
8624         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
8625         needs to be overridden.
8626         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
8627         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
8628         * tests/test-sys_select.c: Check that the tv_sec member has the same
8629         size as a 'time_t'.
8630         * tests/test-sys_time.c: Likewise.
8631         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
8632         is set, set also REPLACE_GETTIMEOFDAY.
8633         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
8634         convert the resulting 'struct timeval' before returning.
8635         * lib/select.c: Include <sys/time.h>.
8636         (select, timeval): Undefine at the right place.
8637         * modules/select (Depends-on): Add sys_time.
8638         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
8639         some Windows platforms.
8640         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8641
8642 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8643
8644         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
8645         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
8646         an integer.
8647         * lib/fcntl.c (dupfd): Likewise.
8648         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
8649
8650 2012-01-28  Bruno Haible  <bruno@clisp.org>
8651
8652         fcntl: Avoid compilation error on native Windows.
8653         * modules/fcntl (Depends-on): Add 'close'.
8654
8655 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8656
8657         select, poll, isatty: Avoid warnings on x86_64 mingw64.
8658         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
8659         pointer to an integer.
8660         * lib/poll.c (IsConsoleHandle): Likewise.
8661         * lib/isatty.c (IsConsoleHandle): Likewise.
8662
8663 2012-01-28  Jim Meyering  <meyering@redhat.com>
8664
8665         doc: clarify README-release
8666         * top/README-release: Clarify: you should make a point to have
8667         the latest stable versions of build tools in your PATH, and the
8668         reference to buildreq is solely for its list of tool names, not
8669         for its minimal-functional version numbers.
8670         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
8671
8672         maint.mk: use more readable (yet functionally equivalent) quoting
8673         It is common to quote a single quote in a single quoted string like
8674         this:  '...'\''...'.  Unless you know the idiom, that looks like
8675         gibberish, so prefer to double-quote the string when possible.
8676         Then you can use a more readable, lone single quote: "...'..."
8677         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
8678         "don't" is more readable than the equivalent 'don'\''t'.
8679         (sc_cast_of_x_alloc_return_value): Likewise.
8680         (sc_cast_of_alloca_return_value): Likewise.
8681         (sc_makefile_path_separator_check): Similar: use ":" in '...',
8682         rather than '\'':'\''.
8683
8684 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8685
8686         stdalign: relax _Alignof and tighten _Alignas test
8687         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
8688         as it was too strict: alignof must divide offsetof, but it need
8689         not equal offsetof.  Inspired by Joseph S. Myers's comment
8690         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
8691         Conversely, tighten the _Alignas test a bit, as the resulting
8692         alignment must be exactly 8.
8693
8694 2012-01-27  Bruno Haible  <bruno@clisp.org>
8695
8696         stdalign: Document the last change.
8697         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
8698
8699 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8700
8701         stdalign: check that alignof and offsetof are consistent
8702         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
8703         Problem reported for gnulib by Richard W.M. Jones in
8704         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
8705
8706 2012-01-27  Jim Meyering  <meyering@redhat.com>
8707
8708         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
8709         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
8710         convert a sequence with gaps to the minimal containing range.
8711         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
8712         * tests/test-update-copyright.sh: Test for this.
8713         The FSF confirmed it is ok to do this, assuming there is at
8714         least one significant change per year in the affected range:
8715         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
8716
8717 2012-01-26  Bruno Haible  <bruno@clisp.org>
8718
8719         pipe2: refine doc about thread-safety
8720         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
8721         multithread-safety problem.
8722         * doc/glibc-functions/accept4.texi: Likewise.
8723
8724 2012-01-26  Bruno Haible  <bruno@clisp.org>
8725
8726         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
8727         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
8728         In the test program, include <fcntl.h>, for O_RDONLY.
8729
8730 2012-01-26  Eric Blake  <eblake@redhat.com>
8731
8732         pipe2: document lack of thread-safety in replacement
8733         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
8734         issue in replacement.
8735         * doc/glibc-functions/accept4.texi (accept4): Likewise.
8736         Based on a report by Eric Wong.
8737
8738 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8739             Bruno Haible  <bruno@clisp.org>
8740
8741         malloca: Avoid warnings on x86_64 mingw64.
8742         * lib/malloca.c: Include <stdint.h>.
8743         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
8744         * modules/malloca (Depends-on): Add stdint.
8745         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
8746
8747 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
8748
8749         obstack: remove __STDC__ conditionals
8750         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
8751         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
8752         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
8753         m4/include_next.m4 as the only gnulib-maintained places that still
8754         refer to __STDC__.
8755
8756 2012-01-24  Bruno Haible  <bruno@clisp.org>
8757
8758         havelib: Modern quoting.
8759         * build-aux/config.rpath: Quote 'like this', not `like this', as per
8760         the recent change to the GNU coding standards.
8761
8762 2012-01-24  Bruno Haible  <bruno@clisp.org>
8763
8764         stdint: Improve support for Android.
8765         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
8766         Reported by Simon Josefsson <simon@josefsson.org>.
8767
8768 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8769
8770         doc: omit trailing empty lines from INSTALL etc.
8771         * doc/Makefile (INSTALL): Omit trailing empty lines.
8772         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
8773         omit trailing empty lines.  This simplifies the build procedure.
8774
8775 2012-01-23  Jim Meyering  <meyering@redhat.com>
8776
8777         tests: avoid spurious warnings about gl_sockets_startup
8778         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
8779         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
8780         reporting a "statement with no effect".
8781         * tests/test-accept.c (main): Mark as "(void)".
8782         * tests/test-accept4.c (main): Likewise.
8783         * tests/test-bind.c (main): Likewise.
8784         * tests/test-connect.c (main): Likewise.
8785         * tests/test-getpeername.c (main): Likewise.
8786         * tests/test-getsockname.c (main): Likewise.
8787         * tests/test-getsockopt.c (main): Likewise.
8788         * tests/test-listen.c (main): Likewise.
8789         * tests/test-recv.c (main): Likewise.
8790         * tests/test-recvfrom.c (main): Likewise.
8791         * tests/test-send.c (main): Likewise.
8792         * tests/test-sendto.c (main): Likewise.
8793         * tests/test-setsockopt.c (main): Likewise.
8794         * tests/test-shutdown.c (main): Likewise.
8795
8796 2012-01-21  Bruno Haible  <bruno@clisp.org>
8797
8798         locale-fr.m4: Fix for Android.
8799         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
8800         failure of the test program on Bionic libc.
8801
8802 2012-01-21  Jim Meyering  <meyering@redhat.com>
8803
8804         bootstrap: fail when bootstrap_post_import_hook fails
8805         Otherwise, it's far too easy to miss diagnostics emitted
8806         between gnulib-tool's output and that of running configure.
8807         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
8808
8809 2012-01-17  Jim Meyering  <meyering@redhat.com>
8810
8811         maint: enable sc_trailing_blank
8812         * build-aux/pmccabe.css: Remove trailing blanks.
8813         * doc/acl-cygwin.txt: Likewise.
8814         * doc/gnu-oids.texi: Likewise
8815         * cfg.mk: Enable sc_trailing_blank.
8816         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
8817
8818 2012-01-17  Jim Meyering  <meyering@redhat.com>
8819
8820         maint: enable sc_prohibit_openat_without_use
8821         * cfg.mk: Enable sc_prohibit_openat_without_use.
8822         Exempt lib/selinux-at.c.
8823
8824 2012-01-17  Jim Meyering  <meyering@redhat.com>
8825
8826         maint: enable sc_prohibit_cloexec_without_use
8827         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
8828         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
8829
8830 2012-01-17  Jim Meyering  <meyering@redhat.com>
8831
8832         maint: enable sc_prohibit_intprops_without_use
8833         * cfg.mk: Enable sc_prohibit_intprops_without_use
8834         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
8835
8836 2012-01-17  Jim Meyering  <meyering@redhat.com>
8837
8838         maint: enable sc_prohibit_hash_pjw_without_use
8839         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
8840         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
8841         to match any use of \<hash_pjw\>, i.e., not necessarily with a
8842         following " (".
8843
8844 2012-01-17  Jim Meyering  <meyering@redhat.com>
8845
8846         maint: enable double-word-prohibiting rule
8847         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
8848         Exempt three files.
8849
8850 2012-01-17  Jim Meyering  <meyering@redhat.com>
8851
8852         maint: remove empty lines at EOF, but excluding modules/*
8853         Apply syntax rules at home as well as abroad.  Most changes
8854         were induced by running this:
8855           make srcdir=. _build-aux=build-aux -f top/maint.mk \
8856             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
8857             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
8858         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
8859         Exempt modules/* and two binary files.
8860         Also exempt doc/INSTALL*, per request from Bruno Haible.
8861         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
8862         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
8863         * doc/Copyright/request-assign.future: Likewise.
8864         * doc/Copyright/request-disclaim.changes: Likewise.
8865         * doc/INSTALL: Likewise.
8866         * doc/INSTALL.ISO: Likewise.
8867         * doc/INSTALL.UTF-8: Likewise.
8868         * doc/acl-cygwin.txt: Likewise.
8869         * doc/acl-resources.txt: Likewise.
8870         * doc/fdl-1.2.texi: Likewise.
8871         * doc/fdl-1.3.texi: Likewise.
8872         * doc/fdl.texi: Likewise.
8873         * lib/argp-pin.c: Likewise.
8874         * lib/round.c: Likewise.
8875         * lib/unicase/u16-totitle.c: Likewise.
8876         * lib/unictype/block_test.c: Likewise.
8877         * lib/uninorm/canonical-decomposition.c: Likewise.
8878         * m4/README: Likewise.
8879         * m4/relocatable-lib.m4: Likewise.
8880         * tests/test-isnand-nolibm.c: Likewise.
8881         * tests/test-isnand.c: Likewise.
8882         * tests/uninorm/NormalizationTest.txt: Likewise.
8883
8884 2012-01-17  Jim Meyering  <meyering@redhat.com>
8885
8886         maint: add framework to run syntax-check rules against gnulib sources
8887         * cfg.mk: New file, to disable all currently-failing tests.
8888         We'll enable them one by one, as they are made to pass.
8889         * Makefile (sc_maint): New rule.
8890
8891 2012-01-21  Bruno Haible  <bruno@clisp.org>
8892
8893         stdint: Add support for Android.
8894         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
8895         include the system's <stdint.h>.
8896         Reported by Simon Josefsson <simon@josefsson.org>.
8897
8898 2012-01-19  Jim Meyering  <meyering@redhat.com>
8899
8900         bootstrap: add bootstrap_post_import_hook
8901         Bison does still need something like the gnulib_mk_hook whose
8902         invocation I had to remove along with slurp in commit 767ccd40.
8903         Technically, we could get along without it, but doing so would
8904         have required living with a warning and a mandatory post-bootstrap
8905         automake rerun.
8906         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
8907         (bootstrap_post_import_hook): New function.
8908         Invoke it after gnulib-tool --import and before autoreconf.
8909
8910 2012-01-18  Jim Meyering  <meyering@redhat.com>
8911
8912         gitlog-to-changelog: don't use "no_"-prefixed variable name
8913         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
8914         to enable both --cluster and --no-cluster.  Change variable name,
8915         s/\$no_cluster/$cluster/, and reverse usage to match.
8916
8917         gitlog-to-changelog: use "||", not "or" in expressions
8918         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
8919         expressions.
8920
8921 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
8922
8923         gitlog-to-changelog: new option --no-cluster
8924         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
8925         clustering of adjacent commit messages.
8926
8927 2012-01-17  Jim Meyering  <meyering@redhat.com>
8928
8929         maint: spell file systems with two words, not one
8930         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
8931         two words, not one.
8932
8933 2012-01-16  Jim Meyering  <meyering@redhat.com>
8934
8935         bootstrap: add a FIXME comment to ensure we eventually remove the hack
8936         * build-aux/bootstrap (gnulib_tool_options): Add comment.
8937
8938 2012-01-16  Eric Blake  <eblake@redhat.com>
8939
8940         bootstrap: cater to autoconf 2.59
8941         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
8942         is not available.
8943
8944         bootstrap: properly check for libtool
8945         * build-aux/bootstrap (libtoolize): Also run libtool when older
8946         usage is detected.
8947
8948 2012-01-15  Bruno Haible  <bruno@clisp.org>
8949
8950         Improve support for MSVC 9.
8951         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
8952         clashes on MSVC.
8953         * lib/fcntl.in.h: Likewise.
8954         * lib/stdlib.in.h: Likewise.
8955         * lib/sys_stat.in.h: Likewise.
8956
8957 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8958
8959         gnupload: we hold the master copy of this script now
8960         For motivation and more information, see:
8961         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
8962         * build-aux/gnupload: Make it clear in the heading comments that the
8963         master copy of this file is maintained by gnulib.  Since we are at
8964         it, bump its copyright year and ...
8965         ($scriptversion): ... the date in its version.
8966         ($usage): Patches and bug reports should be sent to the gnulib list,
8967         not the automake one.
8968         * config/srclist.txt: Don't try to sync 'gnupload' from automake
8969         anymore.
8970
8971 2012-01-15  Bruno Haible  <bruno@clisp.org>
8972
8973         Fix module 'random'.
8974         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
8975         initstate, setstate are declared.
8976
8977 2012-01-14  Bruno Haible  <bruno@clisp.org>
8978
8979         Tests for module 'random'.
8980         * modules/random-tests: New file.
8981         * tests/test-random.c: New file, based on tests/test-random_r.c.
8982
8983         New module 'random'.
8984         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
8985         declarations.
8986         * lib/random.c: New file, based on glibc/stdlib/random.c.
8987         * m4/random.m4: New file.
8988         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
8989         HAVE_RANDOM.
8990         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
8991         * modules/random: New file.
8992         * config/srclist.txt: Add an entry for random.c.
8993         * doc/posix-functions/random.texi: Mention the 'random' module.
8994         * doc/posix-functions/initstate.texi: Likewise.
8995         * doc/posix-functions/setstate.texi: Likewise.
8996         * doc/posix-functions/srandom.texi: Likewise.
8997
8998 2012-01-12  Bruno Haible  <bruno@clisp.org>
8999
9000         random_r: Use common idioms.
9001         * lib/random_r.c: Include <stdlib.h> first.
9002
9003         random_r: Override incompatible API on AIX, OSF/1.
9004         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
9005         Override the system function if REPLACE_RANDOM_R is 1.
9006         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
9007         and OSF/1, set REPLACE_RANDOM_R.
9008         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
9009         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
9010         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
9011         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
9012         * doc/glibc-functions/random_r.texi: Likewise.
9013         * doc/glibc-functions/setstate_r.texi: Likewise.
9014
9015         random_r: Support for MSVC 9.
9016         * lib/random_r.c: Include stdint.h, not inttypes.h.
9017
9018 2012-01-12  Eric Blake  <eblake@redhat.com>
9019
9020         inet_ntop: guard extra work by IF_LINT
9021         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
9022         better code generation when not checking for warnings.
9023         Suggested by Paul Eggert and Jim Meyering.
9024
9025         strptime: fix regression on mingw
9026         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
9027         Fix regression.  Reported by Bruno Haible.
9028
9029 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
9030             Bruno Haible  <bruno@clisp.org>
9031
9032         copy-file: add error-code-returning variant.
9033         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
9034         (qcopy_file_preserving): New declaration.
9035         * lib/copy-file.c (qcopy_file_preserving): Renamed from
9036         copy_file_preserving. Change return type to 'int'. Don't emit an error
9037         message here.
9038         (copy_file_preserving): New function.
9039         * tests/test-copy-file.c: Include <stdlib.h>.
9040         (main): Test qcopy_file_preserving if the environment variable
9041         NO_STDERR_OUTPUT is set.
9042         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
9043         with NO_STDERR_OUTPUT
9044         * tests/test-copy-file-2.sh: Likewise.
9045
9046 2012-01-10  Bruno Haible  <bruno@clisp.org>
9047
9048         copy-file: Use 'quote' module consistently.
9049         * lib/copy-file.c (copy_file_preserving): Use quote().
9050
9051         copy-file: Refactor.
9052         * lib/copy-file.c: Include quote.h.
9053         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
9054         message here.
9055         * modules/copy-file (Depends-on): Add quote.
9056
9057         acl: Export qcopy_acl.
9058         * lib/acl.h (qcopy_acl): New declaration.
9059         * lib/copy-acl.c (qcopy_acl): Make non-static.
9060
9061         acl: Rename a local variable.
9062         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
9063
9064         acl: Align return values of copy_acl and qcopy_acl.
9065         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
9066         maybe < -1.
9067
9068 2012-01-11  Eric Blake  <eblake@redhat.com>
9069
9070         strptime: silence gcc warnings
9071         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
9072         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
9073         Reported by Daniel P. Berrange.
9074
9075         inet_ntop: silence gcc warning
9076         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
9077         Reported by Daniel P. Berrange.
9078
9079 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
9080
9081         getloadavg test: skip the test on GNU/Linux without /proc mounted
9082         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
9083         file.  When /proc is not mounted, it always fails with ENOENT.
9084         * tests/test-getloadavg.c (main): Treat ENOENT return code from
9085         getloadavg(3) the same way as ENOSYS and ENOTSUP.
9086
9087 2012-01-10  Bruno Haible  <bruno@clisp.org>
9088
9089         regex: Avoid link error on MSVC 9.
9090         * modules/regex (Depends-on): Add wctype.
9091
9092 2012-01-10  Bruno Haible  <bruno@clisp.org>
9093
9094         doc: Mention --with-tests option.
9095         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
9096         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
9097         --with-tests.
9098         Reported by Reuben Thomas.
9099
9100 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
9101
9102         users.txt: order package names lexicographically.
9103         * users.txt: Order package names lexicographically.
9104
9105 2012-01-10  Jim Meyering  <meyering@redhat.com>
9106
9107         maint.mk: fix description in comment
9108         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
9109
9110         ignore-value: remove deprecated ignore_ptr function
9111         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
9112         * NEWS: Note this.
9113
9114 2012-01-09  Jim Meyering  <meyering@redhat.com>
9115
9116         test-init.sh: avoid a subshell
9117         * tests/test-init.sh: Remove protective subshell.
9118         Suggested by Bernhard Voelker.  While a subshell is normally
9119         required to protect against older shells (Solaris, FreeBSD) that
9120         warn about a missing program before performing redirection, the
9121         shell-selection tests performed by init.sh probably exclude any
9122         offending shell.
9123
9124 2012-01-08  Bruno Haible  <bruno@clisp.org>
9125
9126         setlocale tests: Avoid test failure on Solaris 11 2011-11.
9127         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
9128         variable.
9129
9130 2012-01-08  Bruno Haible  <bruno@clisp.org>
9131
9132         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
9133         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9134         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
9135         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
9136         macro.
9137         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
9138         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
9139         * lib/spawn_faction_addopen.c: Add workaround implementation if
9140         HAVE_WORKING_POSIX_SPAWN.
9141         * modules/spawn (Makefile): Substitute
9142         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
9143         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
9144         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
9145         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
9146         (Depends-on): Update conditions.
9147         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
9148         the Solaris 11 bug.
9149
9150 2012-01-08  Bruno Haible  <bruno@clisp.org>
9151
9152         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
9153         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9154         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
9155         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
9156         macro.
9157         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
9158         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
9159         * lib/spawn_faction_adddup2.c: Add workaround implementation if
9160         HAVE_WORKING_POSIX_SPAWN.
9161         * modules/spawn (Makefile): Substitute
9162         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
9163         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
9164         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
9165         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
9166         (Depends-on): Update conditions.
9167         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
9168         the Solaris 11 bug.
9169
9170 2012-01-08  Bruno Haible  <bruno@clisp.org>
9171
9172         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
9173         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9174         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
9175         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
9176         HAVE_WORKING_POSIX_SPAWN.
9177         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
9178         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
9179         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
9180         * lib/spawn_faction_addclose.c: Add workaround implementation if
9181         HAVE_WORKING_POSIX_SPAWN.
9182         * modules/spawn (Makefile): Substitute
9183         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
9184         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
9185         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
9186         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
9187         (Depends-on): Update conditions.
9188         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
9189         the Solaris 11 bug.
9190
9191 2012-01-08  Bruno Haible  <bruno@clisp.org>
9192
9193         doc: Update for Solaris 11 2011-11.
9194         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
9195         * m4/printf.m4: Update comments.
9196
9197 2012-01-08  Bruno Haible  <bruno@clisp.org>
9198
9199         mktime: Avoid compilation error on Solaris 11.
9200         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
9201
9202 2012-01-08  Bruno Haible  <bruno@clisp.org>
9203
9204         doc: Small fix.
9205         * doc/posix-headers/nl_types.texi: Correct platforms list.
9206
9207 2012-01-08  Simon Josefsson  <simon@josefsson.org>
9208
9209         Add lgpl-3.0 module.
9210         * MODULES.html.sh (Support for building documentation): Add
9211         lgpl-3.0.
9212         * modules/lgpl-3.0: New file.
9213
9214 2012-01-08  Jim Meyering  <meyering@redhat.com>
9215
9216         select.c: indent with spaces, not TABs
9217         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
9218
9219 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9220
9221         quotearg: do not use grave accent for left quote
9222         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
9223         locale_quoting_style.
9224         (quotearg_buffer_restyled): Fix example.
9225         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
9226
9227 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9228
9229         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
9230         Most programs do not have translation catalogs for English and much
9231         less separate catalogs for British and American English.  Drop the
9232         suggestion to translators about these two, and provide it
9233         automatically for Unicode locales.  Like most programs, even those
9234         using American English, we use single quotation marks.  This conflicts
9235         with the American typographic convention, but works better when you
9236         cite the entire error message within double quotes.  It also tries not
9237         to clash with established practice and with what non-gnulib programs
9238         will usually do.
9239         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
9240         using an UTF-8 or GB-18030 locale.  The list of other locales with
9241         quotes was provided by Bruno Haible.
9242         (quotearg_buffer_restyled): Adjust instructions to translators.
9243         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
9244         text, since this would be wrong when using Unicode.
9245         * modules/quotearg: Depend on c-strcaseeq.
9246
9247 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9248
9249         quotearg: fix Wikipedia link
9250         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
9251
9252 2012-01-07  Simon Josefsson  <simon@josefsson.org>
9253
9254         Fix for mingw with MSVC9.
9255         * m4/ld-version-script.m4: Check that compiler rejects version
9256         scripts with syntax errors.  Reported by Bruno Haible
9257         <bruno@clisp.org>.
9258
9259 2012-01-06  Bruno Haible  <bruno@clisp.org>
9260
9261         Talk about "native Windows API", not "Woe32".
9262         * lib/accept4.c: Update comments to mention native Windows.
9263         * lib/execute.c: Likewise.
9264         * lib/fatal-signal.c: Likewise.
9265         * lib/localcharset.c: Likewise.
9266         * lib/nanosleep.c: Likewise.
9267         * lib/nl_langinfo.c: Likewise.
9268         * lib/pclose.c: Likewise.
9269         * lib/pipe-filter-gi.c: Likewise.
9270         * lib/pipe-filter-ii.c: Likewise.
9271         * lib/pipe.c: Likewise.
9272         * lib/pipe2.c: Likewise.
9273         * lib/popen.c: Likewise.
9274         * lib/progreloc.c: Likewise.
9275         * lib/relocatable.c: Likewise.
9276         * lib/sigaction.c: Likewise.
9277         * lib/sigprocmask.c: Likewise.
9278         * lib/spawn-pipe.h: Likewise.
9279         * lib/spawn-pipe.c: Likewise.
9280         * lib/spawni.c: Likewise.
9281         * lib/stat-time.h: Likewise.
9282         * lib/w32spawn.h: Likewise.
9283         * tests/test-isatty.c: Likewise.
9284         * lib/config.charset: More comments.
9285         * doc/gnulib-intro.texi: Mention native Windows.
9286         * doc/posix-functions/_Exit_C99.texi: Likewise.
9287         * doc/posix-headers/fcntl.texi: Likewise.
9288
9289 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
9290
9291         argp: Avoid crash if translator uses % characters in a translation.
9292         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
9293         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9294
9295 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
9296
9297         doc: C11 and C++11 are now official
9298         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
9299         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
9300         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
9301         * modules/stdalign:
9302         Replace references to draft C1X to C11, and to draft C++0X to C++11.
9303
9304 2012-01-06  Bruno Haible  <bruno@clisp.org>
9305
9306         uc-is-grapheme-break tests: Tweak.
9307         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
9308         message.
9309
9310 2012-01-06  Bruno Haible  <bruno@clisp.org>
9311
9312         test-init.sh: correct the test for diff -u
9313         * tests/test-init.sh: Also redirect stdout to /dev/null.
9314
9315 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
9316
9317         Use ', not `, for quoting output.
9318         * build-aux/announce-gen (usage, sizes, print_news_deltas)
9319         (print_changelog_deltas, get_tool_versions, main program):
9320         * build-aux/git-version-gen:
9321         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
9322         * build-aux/move-if-change (help):
9323         * build-aux/useless-if-before-free (usage, main program):
9324         * check-module (parse_module_file, usage)
9325         (find_included_lib_files, check_module):
9326         * lib/argmatch.c (main) [TEST]:
9327         * lib/argp-help.c (_help):
9328         * lib/getopt1.c (main) [TEST]:
9329         * lib/git-merge-changelog.c (usage):
9330         * lib/xstrtol-error.c (xstrtol_error):
9331         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
9332         * m4/argz.m4 (gl_FUNC_ARGZ):
9333         * m4/bison.m4 (gl_BISON):
9334         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
9335         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
9336         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
9337         * m4/fpending.m4 (gl_PREREQ_FPENDING):
9338         * m4/gc-random.m4 (gl_GC_RANDOM):
9339         * m4/intl.m4 (gt_CHECK_DECL):
9340         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
9341         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
9342         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
9343         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
9344         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
9345         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
9346         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
9347         * tests/test-dirname.c (main):
9348         * tests/test-getpass.c (main):
9349         * tests/test-iconvme.c (main):
9350         * tests/test-parse-datetime.c (LOG):
9351         * tests/test-xstrtoimax.sh:
9352         * tests/test-xstrtol.sh:
9353         * tests/test-xstrtoll.sh:
9354         * tests/test-xstrtoumax.sh:
9355         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
9356         * top/GNUmakefile (abort-due-to-no-makefile):
9357         Quote 'like this', not `like this', as per the recent change to
9358         the GNU coding standards.
9359
9360 2012-01-05  Bruno Haible  <bruno@clisp.org>
9361
9362         strtoimax: Don't force a replacement on systems where intmax_t is int.
9363         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
9364         'intmax_t' is not larger than 'int'.
9365         Reported by Pádraig Brady <P@draigBrady.com>.
9366
9367 2012-01-05  Bruno Haible  <bruno@clisp.org>
9368
9369         doc: Mention NetBSD bugs.
9370         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
9371         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
9372
9373 2012-01-05  Bruno Haible  <bruno@clisp.org>
9374
9375         strtoumax tests: Enhance tests.
9376         * tests/test-strtoumax.c (main): Add tests for large values.
9377
9378 2012-01-05  Bruno Haible  <bruno@clisp.org>
9379
9380         strtoimax: Work around AIX 5.1 bug.
9381         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
9382         definition.
9383         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
9384         Set HAVE_STRTOIMAX.
9385         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
9386         REPLACE_STRTOIMAX.
9387         * modules/inttypes-incomplete (Makefile.am): Substitute
9388         REPLACE_STRTOIMAX.
9389         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
9390         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
9391         (Depends-on): Update conditions.
9392         * tests/test-strtoimax.c (main): Add tests for large values.
9393         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
9394
9395 2012-01-05  Bruno Haible  <bruno@clisp.org>
9396
9397         inttypes: Modernize.
9398         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
9399         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
9400         (Makefile.am): Update inttypes.h rule.
9401
9402 2012-01-05  Jim Meyering  <meyering@redhat.com>
9403
9404         init.sh: don't waste a subshell just to redirect stderr
9405         * tests/init.sh: In testing for diff -u and diff -c, use a
9406         stderr-redirecting exec inside `...` rather than a subshell.
9407
9408         test-init.sh: avoid failure on HP-UX 11.00
9409         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
9410         resolves to diff -c or cmp.  Reported by Bruno Haible.
9411
9412 2012-01-05  Bruno Haible  <bruno@clisp.org>
9413
9414         Tests for module 'strtoull'.
9415         * modules/strtoull-tests: New file.
9416         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
9417
9418 2012-01-05  Bruno Haible  <bruno@clisp.org>
9419
9420         Tests for module 'strtoll'.
9421         * modules/strtoll-tests: New file.
9422         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
9423
9424 2012-01-05  Bruno Haible  <bruno@clisp.org>
9425
9426         Tests for module 'strtoul'.
9427         * modules/strtoul-tests: New file.
9428         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
9429
9430 2012-01-05  Bruno Haible  <bruno@clisp.org>
9431
9432         Tests for module 'strtol'.
9433         * modules/strtol-tests: New file.
9434         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
9435
9436 2012-01-04  Jim Meyering  <meyering@redhat.com>
9437
9438         test-init.sh: accommodate Solaris 5.10's different diff -u output
9439         * tests/test-init.sh: Also exempt @@ lines from the comparison
9440         of diff output, since Solaris 5.10 and GNU diff formats differ.
9441         Reported by Stefano Lattarini.
9442
9443 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9444
9445         test-posixtm: don't assume signed integer wraparound
9446         * tests/test-posixtm.c (main): Don't assume wraparound semantics
9447         after signed integer overflow.  Inspired by (though it may not
9448         fix) Bruno Haible's bug report in
9449         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
9450
9451         Spell out "Windows 9x" and "Windows XP".
9452         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
9453         "Windows 9x" and "WinXP" with "Windows XP".
9454
9455 2012-01-04  Jim Meyering  <meyering@redhat.com>
9456
9457         test-vc-list-files-cvs.sh: remove obsolete comment
9458         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
9459         double exit.  Now that's all encapsulated via skip_ and Exit.
9460
9461 2012-01-04  Bruno Haible  <bruno@clisp.org>
9462
9463         Talk about "native Windows API", not "Win32".
9464         * lib/classpath.c: Update comments to mention native Windows.
9465         * lib/csharpexec.c: Likewise.
9466         * lib/dup2.c: Likewise.
9467         * lib/error.c: Likewise.
9468         * lib/fcntl.c: Likewise.
9469         * lib/filename.h: Likewise.
9470         * lib/findprog.c: Likewise.
9471         * lib/get-rusage-as.c: Likewise.
9472         * lib/get-rusage-data.c: Likewise.
9473         * lib/getpagesize.c: Likewise.
9474         * lib/javaexec.c: Likewise.
9475         * lib/msvc-inval.c: Likewise.
9476         * lib/msvc-nothrow.c: Likewise.
9477         * lib/nanosleep.c: Likewise.
9478         * lib/nonblocking.c: Likewise.
9479         * lib/printf-parse.c: Likewise.
9480         * lib/setlocale.c: Likewise.
9481         * lib/sigaction.c: Likewise.
9482         * lib/strerror_r.c: Likewise.
9483         * lib/tmpdir.c: Likewise.
9484         * lib/vasnprintf.c: Likewise.
9485         * lib/w32spawn.h: Likewise.
9486         * lib/waitpid.c: Likewise.
9487         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
9488         * m4/locale-ar.m4: Likewise.
9489         * m4/locale-fr.m4: Likewise.
9490         * m4/locale-ja.m4: Likewise.
9491         * m4/locale-tr.m4: Likewise.
9492         * m4/locale-zh.m4: Likewise.
9493         * m4/printf.m4: Likewise.
9494         * tests/test-cloexec.c: Likewise.
9495         * tests/test-copy-acl.sh: Likewise.
9496         * tests/test-copy-file.sh: Likewise.
9497         * tests/test-file-has-acl.sh: Likewise.
9498         * tests/test-set-mode-acl.sh: Likewise.
9499         * tests/test-dup-safer.c: Likewise.
9500         * tests/test-dup2.c: Likewise.
9501         * tests/test-dup3.c: Likewise.
9502         * tests/test-fcntl.c: Likewise.
9503         * tests/test-nonblocking-pipe.h: Likewise.
9504         * tests/test-nonblocking-socket.h: Likewise.
9505         * tests/test-pipe.c: Likewise.
9506         * tests/test-pipe2.c: Likewise.
9507         * tests/test-spawn-pipe-child.c: Likewise.
9508         * doc/acl-resources.txt: Likewise.
9509         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9510         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
9511         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
9512         * lib/localcharset.c: Update comments to mention native Windows.
9513         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9514         * lib/localename.c: Likewise.
9515         * lib/progreloc.c: Likewise.
9516         * lib/relocatable.c: Likewise.
9517         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9518         (windows_compute_revents): Renamed from win32_compute_revents.
9519         (windows_compute_revents_socket): Renamed from
9520         win32_compute_revents_socket.
9521         * lib/select.c: Update comments to mention native Windows.
9522         (windows_poll_handle): Renamed from win32_poll_handle.
9523         * m4/threadlib.m4: Update comments to mention native Windows.
9524         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
9525         --enable-threads=windows instead of --enable-threads=win32. Set
9526         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
9527         * lib/glthread/lock.h: Update comments to mention native Windows.
9528         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
9529         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
9530         USE_WIN32_THREADS.
9531         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
9532         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
9533         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
9534         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
9535         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
9536         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
9537         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
9538         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
9539         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
9540         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
9541         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
9542         * tests/test-tls.c: Likewise.
9543         Rationale:
9544         Microsoft renamed the "Win32 API" to "Windows API", as it is available
9545         on both 32-bit and 64-bit Windows systems.
9546         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
9547         line of distinction is between "native Windows" on one side and Unix/
9548         POSIX systems on the other side. More details in
9549         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
9550         Suggested by Paul Eggert.
9551
9552 2012-01-03  Bruno Haible  <bruno@clisp.org>
9553
9554         isatty: Support for MSVC 9.
9555         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
9556         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
9557         (_isatty_nothrow): New function.
9558         (isatty): Use it instead of _isatty.
9559         (IsConsoleHandle): Add comment, from Paolo Bonzini.
9560         * lib/poll.c (IsConsoleHandle): Likewise.
9561         * lib/select.c (IsConsoleHandle): Likewise.
9562         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
9563         (gl_PREREQ_ISATTY): New macro.
9564         * modules/isatty (Depends-on): Add msvc-inval.
9565         (configure.ac): Invoke gl_PREREQ_ISATTY.
9566
9567 2012-01-03  Jim Meyering  <meyering@redhat.com>
9568
9569         maint.mk: remove temporary transition aid from over 1.5 years ago
9570         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
9571         purpose was to aid in the transition (avoiding silent malfunction)
9572         from that old name to the new _sc_search_regexp.  This shim was
9573         added by commit 219c504b.
9574
9575         init.sh: do not try to accommodate compare arguments starting with "-"
9576         * tests/init.sh (compare_dev_null_): Do not try to accommodate
9577         compare arguments that start with "-".  Besides, we do not worry
9578         about this when invoking diff or cmp; why start now with sed?
9579         Using "--" to separate options from argument would trigger sed
9580         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
9581         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
9582
9583 2012-01-02  Bruno Haible  <bruno@clisp.org>
9584
9585         Enhance tests for module 'isatty'.
9586         * modules/isatty-tests (Depends-on): Add pipe-posix.
9587         * tests/test-isatty.c: Include <fcntl.h>.
9588         (DEV_NULL): New macro.
9589         (main): Test the resut of isatty() also on regular files, pipes, and
9590         /dev/null.
9591
9592         New module 'isatty'.
9593         * lib/unistd.in.h (isatty): New declaration.
9594         * lib/isatty.c: New file, based on an idea of
9595         Bastien Roucariès <roucaries.bastien@gmail.com>.
9596         * m4/isatty.m4: New file.
9597         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
9598         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
9599         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
9600         REPLACE_ISATTY.
9601         * modules/isatty: New file.
9602         * doc/posix-functions/isatty.texi: Mention the new module.
9603         Suggested by Paolo Bonzini.
9604
9605 2012-01-02  Bruno Haible  <bruno@clisp.org>
9606
9607         canonicalize: Tweak 2011-12-29 commit.
9608         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
9609         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
9610
9611 2012-01-02  Jim Meyering  <meyering@redhat.com>
9612
9613         gitlog-to-changelog: describe input syntax in --help output
9614         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
9615
9616         gitlog-to-changelog: fix typo in --help: show backslash before email @
9617         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
9618         in sources, but not in actual output.
9619
9620 2011-12-30  Jim Meyering  <meyering@redhat.com>
9621
9622         gitlog-to-changelog: don't malfunction when name contains %-directive
9623         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
9624         in a name string cause trouble.  E.g., with a user name of "%s",
9625         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
9626
9627 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
9628
9629         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
9630         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
9631         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
9632         the "  (tiny change)" notation that is appended to the standard
9633         ChangeLog "date  name  email" header line.
9634
9635 2012-01-01  Jim Meyering  <meyering@redhat.com>
9636
9637         test-framework-sh: init.sh: fix "make dist" failure
9638         When using gnulib-tool's --with-tests option and any module that
9639         depends on test-framework-sh, "make dist" would fail due to the
9640         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
9641         in the gltests directory, and not in the gllib/ directory.
9642         One way to work around that is to move the EXTRA_DIST += init.sh
9643         from the primary module to the -tests one:
9644         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
9645         * modules/test-framework-sh (Makefile.am): ...not here.
9646         Reported by Tom G. Christensen in
9647         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
9648
9649         version-etc: update copyright year reported by --version
9650         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
9651
9652 2011-12-31  Pádraig Brady  <P@draigBrady.com>
9653
9654         canonicalize: only stat() if required
9655         * lib/canonicalize.c (canonicalize_filename_mode):
9656         Avoid calling l?stat() when both CAN_MISSING,
9657         and CAN_NOLINKS are set, as we neither need
9658         to resolve symlinks or test component existence.
9659
9660 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
9661
9662         doc: cover st_ino issues once; add OpenVMS etc.
9663         * doc/posix-functions/stat.texi (stat):
9664         * doc/posix-functions/lstat.texi (lstat):
9665         * doc/posix-functions/fstatat.texi (fstatat):
9666         * doc/posix-functions/fstat.texi (fstat):
9667         Move general 'struct stat' stuff to sys_stat.texi,
9668         leaving behind a pointer.
9669         * doc/posix-headers/sys_stat.texi (sys/stat.h):
9670         Merge duplicate info about 'struct stat' problems into here.
9671         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
9672         and suggest partial workarounds.
9673
9674         same-inode: port to OpenVMS
9675         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
9676         three st_ino values.
9677
9678 2011-12-30  Pádraig Brady  <P@draigBrady.com>
9679
9680         canonicalize: fix references to stat() and lstat()
9681         * lib/canonicalize.c (canonicalize_filename_mode):
9682         Ensure references always resolve to a replacement
9683         function if required (even via a macro).
9684
9685 2011-12-30  Jim Meyering  <meyering@redhat.com>
9686
9687         gitlog-to-changelog: remove a little duplication
9688         * build-aux/gitlog-to-changelog (main): Grep @lines once,
9689         rather than twice.
9690
9691 2011-12-29  Pádraig Brady  <P@draigBrady.com>
9692
9693         canonicalize: add support for not resolving symlinks
9694         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
9695         indicate we don't want to follow symlinks.  Also
9696         provide CAN_MODE_MASK to aid setting these existing
9697         mutually exclusive values.
9698         * lib/canonicalize.c (canonicalize_filename_mode):
9699         Extract the flags from can_mode parameter, which
9700         are currently just used to select between stat()
9701         and lstat().  Also ensure that mutually exclusive
9702         values are flagged immediately as invalid.
9703         * tests/test-canonicalize.c: Verify symlinks are
9704         not followed, and that invalid flag combinations
9705         are diagnosed.
9706
9707 2011-12-25  Jim Meyering  <meyering@redhat.com>
9708
9709         gitlog-to-changelog: do not clump multi-paragraph entries
9710         Identical header lines (date,name,email+coauthors) are suppressed,
9711         thus putting all entries with those same characteristics under
9712         a single header.  However, when a log entry consists of two or
9713         more paragraphs, it may not be clear where it starts and ends.
9714         This change makes it so that such an entry is always separated
9715         from others by a header line, even when that header would
9716         otherwise be suppressed.
9717         * build-aux/gitlog-to-changelog: Implement the above.
9718         Inspired by a related request from Stefano Lattarini in
9719         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
9720
9721 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
9722
9723         announce-gen: fix `cmd' typo in diagnostic
9724         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
9725         diagnostic: a missing '$' meant that the command was not output.
9726
9727 2011-12-23  Jim Meyering  <meyering@redhat.com>
9728
9729         test-framework-sh: distribute init.sh
9730         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
9731         Otherwise, "make -C gnulib-tests check" (at least in grep) would
9732         fail due to the lack of init.sh.
9733
9734         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
9735         * modules/atexit-tests: Rather than listing tests/init.sh,
9736         now that there's a module for it, simply depend on that new module.
9737         * modules/closein-tests: Likewise.
9738         * modules/exclude-tests: Likewise.
9739         * modules/getcwd-tests: Likewise.
9740         * modules/perror-tests: Likewise.
9741         * modules/pread-tests: Likewise.
9742         * modules/pwrite-tests: Likewise.
9743         * modules/vc-list-files-tests: Likewise.
9744         * modules/verify-tests: Likewise.
9745         * modules/xalloc-die-tests: Likewise.
9746         * modules/xstrtoimax-tests: Likewise.
9747         * modules/xstrtol-tests: Likewise.
9748         * modules/xstrtoll-tests: Likewise.
9749         * modules/xstrtoumax-tests: Likewise.
9750         * modules/yesno-tests: Likewise.
9751
9752 2011-12-22  Jim Meyering  <meyering@redhat.com>
9753
9754         test-framework-sh: add minimal tests of init.sh's compare function
9755         * modules/test-framework-sh-tests: New file.
9756         * tests/test-init.sh: New file.
9757
9758         test-framework-sh: new module
9759         * modules/test-framework-sh: New file.
9760         * MODULES.html.sh (Support for maintaining and releasing projects):
9761         List it.
9762
9763         init.sh: do not emit simulated diff output to stderr
9764         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
9765
9766 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
9767
9768         .gitignore: ignore gnulib.dvi and regex.info
9769         * doc/.gitignore:add gnulib.dvi and regex.info
9770
9771 2011-12-22  Jim Meyering  <meyering@redhat.com>
9772
9773         init.sh: correct previous change
9774         * tests/init.sh (compare): My previous change was wrong.
9775         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
9776
9777         init.sh: avoid unwarranted test failure when using "set -e"
9778         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
9779         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
9780         a use like "compare exp out" would get evoke an unconditional failure.
9781
9782 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
9783
9784         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
9785         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
9786         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
9787         autoreconf that did not.
9788         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
9789         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9790
9791 2011-12-17  Jim Meyering  <meyering@redhat.com>
9792
9793         bootstrap: remove some now-unneeded code
9794         This script arose back when gnulib-tool was young.
9795         Since then, it has seen improvements that render much of this
9796         script unnecessary.  In particular, it can now make symlinks
9797         to the files it uses.  Also, I no longer see as much value in
9798         marking files as read-only via comments.
9799         If you relied on the symlink-creation feature of the preceding
9800         version of this script, you can get most of that functionality
9801         by adding the --symlink option to the definition of
9802         gnulib_tool_option_extras in your bootstrap.conf file.
9803         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
9804         Run autopoint and libtoolize *before* gnulib-tool.
9805         After it, run an abbreviated autoreconf, rather than a loop around
9806         all tools.
9807         (slirp, bt_mark_as_generated): Remove functions.
9808
9809 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9810
9811         ftoastr: fix typo
9812         * lib/ftoastr.h: Fix misspelling in comment.
9813
9814 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
9815
9816         * top/README-release: fix punctuation.
9817
9818 2011-12-17  Jim Meyering  <meyering@redhat.com>
9819
9820         bootstrap: correct the recent buildreq change
9821         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
9822         had no effect.
9823         * build-aux/bootstrap (buildreq): Bracket each search term with
9824         "*...*", so that the shell "case" statement works as intended.
9825         Add comments.
9826
9827 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
9828
9829         build: let bootstrap resort to wget when downloading .po files
9830         * build-aux/bootstrap (download_po_files): Fallback to wget when
9831         downloading the .po files via rsync fails.  This is necessary to
9832         bootstrap from behind a strict firewall.
9833
9834 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9835
9836         stdint: don't assume C++11 when compiling with g++
9837         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
9838         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
9839         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
9840         work also in C++ before C++11, as that improperly inhibits
9841         generating a substitute stdint.h for that case.
9842
9843 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9844
9845         alloca: protect comment from gnulib-tool
9846         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
9847         that gnulib-tool doesn't think it's a license, and munge it to
9848         say "GCC version 3".
9849
9850 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
9851
9852         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
9853         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
9854         $(abs_top_builddir) instead of $(top_builddir).
9855
9856 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
9857
9858         strftime-tests: also test nanoseconds
9859         * tests/test-strftime.c (T): Add a test of %N.
9860
9861 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
9862
9863         inttypes, stdint: add C++11 support
9864         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
9865         when including inttypes.h and stdint.h.  Support this change to
9866         the standard.
9867         * doc/posix-headers/inttypes.texi (inttypes.h):
9868         * doc/posix-headers/stdint.texi (stdint.h): Document this.
9869         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
9870         Define if not defined already, for the benefit of pre-C++11 hosts.
9871         Define the standard format macros (e.g., PRId8) always.
9872         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
9873         Likewise, if __cpluspus.  Define the standard constant and limit
9874         macros (e.g., INT8_C, INT8_MAX) always.
9875         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
9876         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
9877         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
9878         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
9879         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
9880         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
9881         Likewise.
9882
9883 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
9884
9885         nonblocking tests: Fix test failure on Linux/PPC.
9886         Suggested by Prerna Saxena in
9887         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
9888         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
9889         Set to 1100000.
9890
9891 2011-12-12  Jim Meyering  <meyering@redhat.com>
9892
9893         argmatch: don't hard-code `' when listing valid option arguments
9894         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
9895         use the quote function to add quotes.  Use fputs rather than
9896         fprintf for the format string with no format directive.
9897
9898 2011-12-07  Eric Blake  <eblake@redhat.com>
9899
9900         bootstrap: detect tools required by gnulib-tool
9901         * build-aux/bootstrap (buildreq): Provide minimum implicit
9902         dependencies.
9903         * DEPENDENCIES: Mention patch as a prereq.
9904
9905 2011-12-04  Bruno Haible  <bruno@clisp.org>
9906
9907         sethostname: Port to Windows platforms.
9908         * lib/sethostname.c: Provide an alternate implementation for Windows
9909         platforms.
9910         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
9911         (main): Skip the test if sethostname() fails with EPERM. On Windows
9912         platforms, don't check the result of gethostname().
9913
9914 2011-12-04  Bruno Haible  <bruno@clisp.org>
9915             Jim Meyering  <meyering@redhat.com>
9916
9917         tests: Avoid spurious error message on platforms without mktemp program.
9918         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
9919
9920 2011-12-04  Bruno Haible  <bruno@clisp.org>
9921
9922         sethostname: Fix documentation.
9923         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
9924         "not fixed" section.
9925
9926 2011-12-03  Bruno Haible  <bruno@clisp.org>
9927
9928         gnulib-tool: Verify that the License field is present and non-empty.
9929         * gnulib-tool (func_get_license_raw): New function, extracted from
9930         func_get_license.
9931         (func_get_license): Use it. Warn if the module is not a test module and
9932         has no license.
9933         Suggested by Jim Meyering.
9934
9935 2011-12-03  Bruno Haible  <bruno@clisp.org>
9936
9937         sethostname tests: Fix link error on mingw.
9938         * tests/test-sethostname1.c: New file, extracted from
9939         tests/test-sethostname.c.
9940         * tests/test-sethostname2.c: New file, extracted from
9941         tests/test-sethostname.c.
9942         * tests/test-sethostname.c: Remove file.
9943         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
9944         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
9945         (Depends-on): Add gethostname.
9946         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
9947         Link the latter with $(GETHOSTNAME_LIB).
9948
9949         sethostname tests: Fix compilation error on mingw.
9950         * tests/test-sethostname.c: Don't include <sys/types.h>.
9951         (geteuid): Use a dummy value without uid_t.
9952         * modules/sethostname-tests (Depends-on): Remove sys_types.
9953
9954         sethostname tests: Avoid a gcc warning.
9955         * tests/test-sethostname.c (main): Remove an unused variable.
9956
9957         Tweak last commit.
9958         * modules/sethostname-tests (Files): Sort by decreasing importance.
9959         (configure.ac): Check for geteuid.
9960         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
9961         the test when there's nothing to test. Drop an unnecessary cast.
9962         Improve an error message. Verify that the final sethostname() call
9963         succeeds.
9964
9965 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9966
9967         Add a test suite for the sethostname module.
9968         * modules/sethostname-tests: New file.  A test program
9969         for the sethostname module.
9970         * tests/test-sethostname.c: Likewise.
9971
9972 2011-12-03  Bruno Haible  <bruno@clisp.org>
9973
9974         Tweak last commit.
9975         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
9976         Fix preprocessor directives indentation. Fix typos.
9977         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
9978         * modules/unistd (Makefile): Likewise.
9979
9980 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9981
9982         Integrate the sethostname module into unistd.
9983         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
9984         into the unistd.h header.
9985         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
9986         preprocessor directives.
9987         * modules/unistd: Setup the Makefile substitutions of the
9988         SETHOSTNAME preprocessor directives.
9989
9990 2011-12-03  Bruno Haible  <bruno@clisp.org>
9991
9992         Tweak last commit.
9993         * lib/sethostname.c: Don't include <string.h>.
9994         (sethostname): No need to copy the argument string to the stack. Don't
9995         call clearerr. Preserve errno when fprintf failed.
9996         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
9997         Don't invoke AC_REPLACE_FUNCS.
9998         * modules/sethostname (Link): Remove empty section.
9999         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
10000         failure problem.
10001
10002 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
10003
10004         New module 'sethostname'.
10005         * lib/sethostname.c (sethostname): New file.  Provide sethostname
10006         for systems that lack it.
10007         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
10008         sethostname declaration and function.
10009         * modules/sethostname: New file.  Define the sethostname module.
10010
10011 2011-12-03  Bruno Haible  <bruno@clisp.org>
10012
10013         Tweak last commit.
10014         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
10015
10016 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
10017
10018         Split the HOST_NAME_MAX detection into a separate m4 macro.
10019         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
10020         macro so it can be used by the pending sethostname module.
10021
10022 2011-12-03  Bruno Haible  <bruno@clisp.org>
10023
10024         Fix module descriptions syntax.
10025         * modules/argv-iter (License): Fix syntax.
10026         * modules/di-set (License): Likewise.
10027         * modules/ino-map (License): Likewise.
10028         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
10029
10030 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
10031
10032         stdalign: port to Clang 3.0
10033         Problem reported by Simon Josefsson in
10034         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
10035         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
10036         which has <stdalign.h> but which does not define alignof.
10037         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
10038
10039 2011-12-01  Eric Blake  <eblake@redhat.com>
10040
10041         mktempd: silence dd usage
10042         * build-aux/mktempd (rand_bytes): Silence dd.
10043
10044 2011-11-30  Simon Josefsson  <simon@josefsson.org>
10045
10046         manywarnings: Don't mention gcc version in docstring.
10047         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
10048         Jim Meyering <meyering@redhat.com>.
10049
10050 2011-11-30  Jim Meyering  <meyering@redhat.com>
10051
10052         hash: mark a few floating point constants with "f" suffix
10053         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
10054         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
10055         floating point constants with "f", since they're destined to be
10056         saved/used as "float"s.
10057
10058 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
10059
10060         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
10061         * tests/test-float.c (test_long_double): Correct and re-enable the
10062         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
10063
10064 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
10065
10066         Avoid subtracting two pointers that don't point into the same block.
10067         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
10068         only pointers into the same memory block are subtracted. We cannot
10069         assume that sizeof (ptrdiff_t) == sizeof (void *).
10070
10071 2011-11-29  Eric Blake  <eblake@redhat.com>
10072
10073         maint.mk: add syntax check for use of compare from init.sh
10074         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
10075         moved here from coreutils.
10076
10077         manywarnings: drop -Wunsuffixed-float-constants
10078         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
10079         '1.0D', which is the only way to silence this warning for 'double'.
10080
10081 2011-11-29  Jim Meyering  <meyering@redhat.com>
10082
10083         hash: mark compute_bucket_size with the pure attribute
10084         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
10085
10086         quotearg, propername: correct pragma guard expression
10087         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
10088         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
10089
10090 2011-11-28  Jim Meyering  <meyering@redhat.com>
10091
10092         propername: do not mark proper_name with the const attribute
10093         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
10094         since it examines data pointed to by its parameter.
10095         * lib/propername.c (proper_name): Instead, add a pragma to suppress
10096         the suggestion from -Wsuggest-attribute=const.
10097
10098         propername: mark one more function as const
10099         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
10100
10101 2011-11-27  Jim Meyering  <meyering@redhat.com>
10102
10103         mark functions with const and pure attributes
10104
10105         Mark functions per suggestions from gcc-4.6 when using these options:
10106         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
10107         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
10108         Follow these guidelines: when possible, apply the attribute to
10109         an extern declaration, not to its definition.  Apply it to the
10110         definition only when the definition is static.
10111         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
10112         * lib/argv-iter.h (argv_iter_n_args): Likewise.
10113         * lib/base64.h (isbase64): Likewise.
10114         * lib/basename-lgpl.c (last_component, base_len): Likewise.
10115         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
10116         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
10117         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
10118         (c_tolower, c_toupper): Likewise.
10119         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
10120         * lib/chdir-long.c (find_non_slash): Likewise.
10121         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
10122         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
10123         * lib/file-type.h (file_type): Likewise.
10124         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
10125         * lib/filevercmp.c (verrevcmp): Likewise.
10126         * lib/freadahead.h (freadahead): Likewise.
10127         * lib/fts.c (fts_maxarglen): Likewise.
10128         * lib/hash-pjw.h (hash_pjw): Likewise.
10129         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
10130         * lib/hash.c (is_prime, next_prime): Likewise.
10131         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
10132         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
10133         (hash_table_ok, hash_get_first, hash_string): Likewise.
10134         (compute_bucket_size): Likewise.
10135         * lib/i-ring.h (i_ring_empty): Likewise.
10136         * lib/isnan.c (isnanl): Likewise.
10137         * lib/math.h (isnanl, rpl_isnanl): Likewise.
10138         * lib/memcasecmp.h (memcasecmp): Likewise.
10139         * lib/memchr2.h (memchr2): Likewise.
10140         * lib/memcmp2.h (memcmp2): Likewise.
10141         * lib/parse-datetime.y (lookup_zone): Likewise.
10142         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
10143         [!WINDOWS_SOCKETS]: Likewise.
10144         * lib/strnlen1.h (strnlen1): Likewise.
10145         * lib/uniwidth.in.h (uc_width): Likewise.
10146         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
10147         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
10148         (quoting_options_from_style): Add a comment.
10149         * lib/propername.h (proper_name): Add a comment.
10150
10151 2011-11-27  Bruno Haible  <bruno@clisp.org>
10152
10153         Remove unused macros from !_LIBC code in glibc-borrowed files.
10154         * lib/fnmatch.c (STRCOLL): Remove macro.
10155         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
10156         * lib/glob.c (__stat, __readdir64): Remove macros.
10157         * lib/tempname.c (__open64, __xstat64): Remove macros.
10158         Suggested by Paul Eggert.
10159
10160 2011-11-27  Bruno Haible  <bruno@clisp.org>
10161
10162         getcwd: Fix link error on MSVC 9.
10163         * modules/getcwd (Depends-on): Add readdir, rewinddir.
10164
10165 2011-11-27  Bruno Haible  <bruno@clisp.org>
10166
10167         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
10168         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
10169         HAVE_OPENDIR is 0.
10170         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
10171         HAVE_CLOSEDIR is 0.
10172         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
10173         is 0.
10174         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
10175
10176 2011-11-27  Bruno Haible  <bruno@clisp.org>
10177
10178         getcwd: Fix bug from 2011-08-17.
10179         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
10180         platforms that need it.
10181         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
10182         code of 4 to be a failure, not a success. This ensures that
10183         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
10184
10185 2011-11-27  Bruno Haible  <bruno@clisp.org>
10186
10187         binary-io tests: Avoid test failure on mingw when libtool is used.
10188         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
10189         Don't verify the size of t-bin-out1.tmp here.
10190         * tests/test-binary-io.sh: Verify it here.
10191         Reported by Simon Josefsson.
10192
10193 2011-11-26  Bruno Haible  <bruno@clisp.org>
10194
10195         Fix conflict between two instantiations of module 'unistd'.
10196         * gnulib-tool (func_emit_autoconf_snippet): Substitute
10197         ${include_guard_prefix} also in the autoconf snippet.
10198         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
10199         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
10200         GNULIB_UNISTD_H_GETOPT.
10201         * modules/getopt-posix (configure.ac): Set the
10202         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
10203         * modules/getopt-gnu (configure.ac): Likewise.
10204         * modules/unistd (Makefile.am): Change the substitution value of
10205         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
10206         Reported by Simon Josefsson.
10207
10208 2011-11-25  Bruno Haible  <bruno@clisp.org>
10209
10210         pagealign_alloc: Doc and comments.
10211         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
10212         module.
10213         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
10214
10215 2011-11-25  Jim Meyering  <meyering@redhat.com>
10216
10217         test-update-copyright.sh: avoid false-positive failure
10218         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
10219         around false positive failure on Cygwin/Windows.  The latter was
10220         matching erroneously-created files with names like
10221         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
10222
10223 2011-11-25  Simon Josefsson  <simon@josefsson.org>
10224
10225         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
10226         * m4/valgrind-tests.m4: Check that the parameters that will be
10227         used works, not just a subset of them.  Reported by Bruno Haible
10228         <bruno@clisp.org>.
10229
10230 2011-11-24  Jim Meyering  <meyering@redhat.com>
10231
10232         test-stdalign.c: comment out long double tests
10233         * tests/test-stdalign.c: Don't try to reduce alignment of long double
10234         variables.  That provokes errors like this from gcc-4.7.0 20111124:
10235         error: '_Alignas' specifiers cannot reduce alignment of \
10236         'static_longdouble_alignas'.
10237
10238 2011-11-22  Jim Meyering  <meyering@redhat.com>
10239
10240         init.sh: make "compare /dev/null FILE" output more readable
10241         * tests/init.sh (compare_): Document the preferred order of arguments.
10242         (emit_diff_u_header_): New function.
10243         (compare_dev_null_): Emit a simulated diff, rather than just the
10244         contents of the unexpected file.  Suggestion from Bruno Haible.
10245
10246 2011-11-21  Jim Meyering  <meyering@redhat.com>
10247             Eric Blake  <eblake@redhat.com>
10248
10249         init.sh: work around OSF/1 5.1's mishandling of /dev/null
10250         * tests/init.sh: Make our compare function slightly more portable.
10251         Reported by Bruno Haible in
10252         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
10253
10254 2011-11-21  Simon Josefsson  <simon@josefsson.org>
10255
10256         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
10257         before using it, in code that ends up in config.h.
10258
10259 2011-11-20  Bruno Haible  <bruno@clisp.org>
10260
10261         getcwd: Work around getcwd bug on AIX 5..7.
10262         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
10263         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
10264         Use a different value for gl_cv_func_getcwd_path_max. Move the
10265         definition of HAVE_PARTLY_WORKING_GETCWD from here...
10266         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
10267         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
10268         Define HAVE_MINIMALLY_WORKING_GETCWD.
10269         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
10270         where it is not even minimally working, that is, on AIX.
10271         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
10272         m4/getcwd-path-max.m4.
10273         (main): Update exit code computation.
10274         * doc/posix-functions/getcwd.texi: Mention list of platforms where
10275         getcwd does not handle long file names.
10276
10277 2011-11-20  Bruno Haible  <bruno@clisp.org>
10278
10279         getcwd: Fix bug from 2009-09-10.
10280         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
10281         like "no".
10282
10283 2011-11-20  Simon Josefsson  <simon@josefsson.org>
10284
10285         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
10286
10287 2011-11-20  Bruno Haible  <bruno@clisp.org>
10288
10289         fma tests: Avoid shadowing local variables.
10290         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
10291         expected.
10292
10293 2011-11-20  Bruno Haible  <bruno@clisp.org>
10294
10295         copysignf tests: Fix.
10296         * tests/test-copysignf.c: Fix signature check.
10297
10298 2011-11-20  Bruno Haible  <bruno@clisp.org>
10299
10300         fma: Remove unused code.
10301         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
10302         unused macros.
10303
10304 2011-11-20  Bruno Haible  <bruno@clisp.org>
10305
10306         sethostname: Fix doc about AIX.
10307         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
10308         sethostname; it has it.
10309
10310         sethostname: Mention more portability problems.
10311         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
10312         problem.
10313         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
10314
10315 2011-11-19  Bruno Haible  <bruno@clisp.org>
10316
10317         Depend on module fcntl-h when AT_FDCWD is used.
10318         * modules/utimens (Depends-on): Add fcntl-h.
10319         * modules/areadlinkat (Depends-on): Likewise.
10320         * modules/areadlinkat-with-size (Depends-on): Likewise.
10321         * modules/faccessat (Depends-on): Likewise.
10322         * modules/fchmodat (Depends-on): Likewise.
10323         * modules/fchownat (Depends-on): Likewise.
10324         * modules/getcwd (Depends-on): Likewise.
10325         * modules/mkdirat (Depends-on): Likewise.
10326         * modules/mkfifoat (Depends-on): Likewise.
10327         * modules/readlinkat (Depends-on): Likewise.
10328         * modules/symlinkat (Depends-on): Likewise.
10329         * modules/dup2-tests (Depends-on): Likewise.
10330         * modules/fdutimensat-tests (Depends-on): Likewise.
10331         * modules/futimens-tests (Depends-on): Likewise.
10332
10333 2011-11-19  Bruno Haible  <bruno@clisp.org>
10334
10335         euidaccess: Update a comment.
10336         * lib/euidaccess.c: Update comment about platforms with faccessat.
10337
10338 2011-11-19  Bruno Haible  <bruno@clisp.org>
10339
10340         openat: Fix file list.
10341         * modules/openat (Files): Remove lib/at-func.c.
10342
10343 2011-11-19  Bruno Haible  <bruno@clisp.org>
10344
10345         fstatat: Simplify.
10346         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
10347         gnulib should define rpl_fstatat, there is a
10348         "#define fstatat rpl_fstatat" in <sys/stat.h>.
10349
10350 2011-11-19  Bruno Haible  <bruno@clisp.org>
10351
10352         Ensure 'inline' can be used in tests/test-utimens-common.h.
10353         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
10354         * modules/futimens-tests (configure.ac): Likewise.
10355         * modules/utimens-tests (configure.ac): Likewise.
10356         * modules/utimensat-tests (configure.ac): Likewise.
10357
10358 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10359
10360         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
10361         not hash_insert0.
10362         (hash_insert_if_absent): Doc fix.
10363
10364 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10365
10366         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
10367
10368 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
10369
10370         test-getcwd: disambiguate exit status
10371         * tests/test-getcwd.c (test_long_name): Return 0..7.
10372         (main): Exit with an unambiguous exit status.  The old
10373         code yielded a mysterious mixture of two failure codes.
10374
10375         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
10376         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
10377         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
10378         rpl_fstatat or fstatat.  This should fix the other problem
10379         reported by Kai Habel in
10380         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10381         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
10382         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
10383         and I reproduced it on a Solaris 8 host we still have in production.
10384
10385 2011-11-18  Jim Meyering  <meyering@redhat.com>
10386
10387         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
10388         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
10389         Add a sentence to the comment.
10390         (hash_insert0): New function that simply calls hash_insert_if_absent.
10391         * lib/hash.h (hash_insert_if_absent): Declare it.
10392         (hash_insert0): Add deprecation attribute.
10393         (_GL_ATTRIBUTE_DEPRECATED): Define.
10394         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
10395         not hash_insert0.
10396         * NEWS: Mention it, even though it's not really an incompatible change.
10397
10398 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
10399
10400         openat: avoid compilation failure due to lack of <errno.h> inclusion
10401         * lib/openat.c: Include <errno.h>.
10402
10403 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
10404
10405         * modules/getcwd (Depends-on): Add fdopendir.
10406         This fixes one of the two problems reported by Kai Habel in
10407         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10408
10409         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
10410         stdalign problem reported by Ian Beckwith in
10411         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
10412         * modules/crypto/gc-arcfour (Depends-on):
10413         Depend conditionally on crypto/arcfour.
10414         * modules/crypto/gc-arctwo (Depends-on):
10415         Depend conditionally on crypto/arctwo.
10416         * modules/crypto/gc-des (Depends-on):
10417         Depend conditionally on crypto/des.
10418         * modules/crypto/gc-hmac-md5 (Depends-on):
10419         Depend conditionally on crypto/hmac-md5.
10420         * modules/crypto/gc-hmac-sha1 (Depends-on):
10421         Depend conditionally on crypto/hmac-sha1.
10422         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
10423         * modules/crypto/gc-md4 (Depends-on):
10424         Depend conditionally on crypto/md4.
10425         * modules/crypto/gc-md5 (Depends-on):
10426         Depend conditionally on crypto/md5.
10427         * modules/crypto/gc-rijndael (Depends-on):
10428         Depend conditionally on crypto/rijndael.
10429         * modules/crypto/gc-sha1 (Depends-on):
10430         Depend conditionally on crypto/sha1.
10431         * modules/crypto/gc-arcfour:
10432         * modules/crypto/gc-arctwo:
10433         * modules/crypto/gc-des:
10434         * modules/crypto/gc-hmac-md5:
10435         * modules/crypto/gc-hmac-sha1:
10436         * modules/crypto/gc-md2:
10437         * modules/crypto/gc-md4:
10438         * modules/crypto/gc-md5:
10439         * modules/crypto/gc-rijndael:
10440         * modules/crypto/gc-sha1:
10441         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
10442         now that the conditional dependencies do the work for us.
10443
10444 2011-11-17  Jim Meyering  <meyering@redhat.com>
10445
10446         tests: factor st_ctime-comparison out of two headers
10447         * tests/test-utimens-common.h (ctime_compare): Define.
10448         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
10449         * tests/test-lutimens.h (test_lutimens): Likewise.
10450         * tests/test-utimens.h (test_utimens): Likewise.
10451
10452         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
10453         Invoke the test program via an init.sh-using wrapper.
10454         * tests/test-getcwd.sh: New file.
10455         * modules/getcwd-tests (Files): Add it.
10456         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
10457
10458 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
10459
10460         gitlog-to-changelog: support multi-author commits.
10461         The FSF cares about keeping track of all authors of patches to its
10462         projects, but Git doesn't provide obvious support for multi-author
10463         changesets. Consensus seems to be forming around the use of extra
10464         Signed-off-by inspired lines in the log message formatted as
10465         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
10466         multi-author commits between version control systems.
10467         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
10468         log message and output in standard ChangeLog multi-author format.
10469         Reported by Peter Rosin <peda@lysator.liu.se>
10470
10471 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
10472             Bruno Haible  <bruno@clisp.org>
10473
10474         Fix some modules' file list.
10475         * modules/fstatat (Files): Add m4/lstat.m4.
10476         * modules/openat (Files): Likewise.
10477         * modules/unlinkat (Files): Likewise.
10478
10479 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
10480
10481         maint.mk: fix tight-scope.mk generation in VPATH builds.
10482         * top/maint.mk (tight-scope.mk): Make sure to prefix file
10483         reference with $(srcdir) so that the file is found correctly even
10484         when running `make syntax-check' in a VPATH build.
10485
10486 2011-11-13  Bruno Haible  <bruno@clisp.org>
10487             Jim Meyering  <meyering@redhat.com>
10488
10489         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
10490         * tests/init.sh (compare): Remove "No differences encountered" or
10491         synonymous output from the 'diff' program.
10492
10493 2011-11-13  Bruno Haible  <bruno@clisp.org>
10494
10495         Makefile: Tweak indentation.
10496         * Makefile: Use tab as first character in every line that contains rule
10497         commands.
10498
10499 2011-11-13  Bruno Haible  <bruno@clisp.org>
10500
10501         Syntax check for copyright statements.
10502         * check-copyright: New file.
10503         * Makefile (sc_check_copyright): New rule.
10504
10505 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10506
10507         * build-aux/git-version-gen: Add --prefix to configure the tag
10508         match string.
10509
10510 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10511
10512         * build-aux/git-version-gen: Add --help and --version.
10513
10514 2011-11-12  Jim Meyering  <meyering@redhat.com>
10515
10516         revamp the other test-exclude?.sh scripts to use init.sh, too
10517         * tests/test-exclude1.sh: Use init.sh.
10518         * tests/test-exclude2.sh: Likewise.
10519         * tests/test-exclude3.sh: Likewise.
10520         * tests/test-exclude4.sh: Likewise.
10521         * tests/test-exclude5.sh: Likewise.
10522         * tests/test-exclude6.sh: Likewise.
10523         * tests/test-exclude7.sh: Likewise.
10524         * tests/test-exclude8.sh: Likewise.
10525         * modules/exclude-tests (Files): List init.sh.
10526
10527         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
10528         These shell scripts ignored failure of the binary test-exclude,
10529         so making the latter return 77 didn't cause them to be skipped.
10530         * tests/test-exclude5.sh: Exit with test-exclude's error status
10531         when that program fails.  Revamp to use init.sh.
10532         * tests/test-exclude2.sh: Likewise.
10533
10534         test-exclude: fix a typo
10535         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
10536
10537 2011-11-11  Bruno Haible  <bruno@clisp.org>
10538
10539         obstack: Fix compilation error on MSVC 9.
10540         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
10541
10542 2011-11-11  Jim Meyering  <meyering@redhat.com>
10543
10544         test-exclude: skip tests rather than failing on deficient systems
10545         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
10546         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
10547         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
10548         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
10549
10550 2011-11-10  Bruno Haible  <bruno@clisp.org>
10551
10552         ptsname_r test: Avoid gcc warning on glibc systems.
10553         * tests/test-ptsname_r.c (null_ptr): New function.
10554         (test_errors): Use it.
10555
10556 2011-11-10  Bruno Haible  <bruno@clisp.org>
10557
10558         ptsname_r: Avoid compilation error on OSF/1 5.1.
10559         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
10560         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
10561         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
10562         function is not declared or incompatibly declared.
10563         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
10564         * modules/ptsname_r (Depends-on, configure.ac): Update.
10565         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
10566
10567 2011-11-10  Bruno Haible  <bruno@clisp.org>
10568
10569         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
10570         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
10571         When cross-compiling, guess yes on all platforms except AIX.
10572         Reported by Ludovic Courtès <ludo@gnu.org>.
10573
10574 2011-11-09  Bruno Haible  <bruno@clisp.org>
10575
10576         ptsname_r tests: Fix bugs.
10577         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
10578         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
10579
10580 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
10581
10582         fstatat: work with cross-compilation
10583         Problem reported by Ludovic Courtès in
10584         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
10585         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
10586         "cross-compiling" and assume the bug is present.  Replace
10587         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
10588         an inverted sense, to be more conservative about our assumptions.
10589         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
10590
10591 2011-11-09  Bruno Haible  <bruno@clisp.org>
10592
10593         Improve MODULES.html output.
10594         * modules/mkfifoat (Description): Use the word "function".
10595         * modules/readlinkat (Description): Likewise.
10596         * modules/symlinkat (Description): Likewise.
10597
10598 2011-11-09  Eric Blake  <eblake@redhat.com>
10599
10600         ptsname_r-tests: new test module
10601         * modules/ptsname_r-tests: New module.
10602         * tests/test-ptsname_r.c: New file.
10603
10604         ptsname_r: new module
10605         * modules/ptsname_r: New module.
10606         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
10607         * lib/ptsname.c (__ptsname_r): Split...
10608         * lib/ptsname_r.c: ...into new file.
10609         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
10610         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
10611         * modules/stdlib (Makefile.am): Substitute witnesses.
10612         * lib/stdlib.in.h (ptsname_r): Declare it.
10613         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
10614         * MODULES.html.sh (Misc): Likewise.
10615         * modules/ptsname (Depends-on): Alter dependency.
10616         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
10617
10618 2011-11-09  Jim Meyering  <meyering@redhat.com>
10619
10620         announce-gen: be more concise when there's only one URL+tarball
10621         * build-aux/announce-gen (get_tool_versions): When you distribute
10622         only one type of tarball, combine the first two "Here are..."
10623         sections and make the key-checking grammar independent of
10624         how many tarballs there are.
10625
10626 2011-11-09  Eric Blake  <eblake@redhat.com>
10627
10628         openpty: provide a stub on mingw
10629         * lib/pty.in.h (includes): Provide forward declarations.
10630         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
10631
10632         raise: fix mingw handling of SIGPIPE
10633         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
10634
10635 2011-11-08  Bruno Haible  <bruno@clisp.org>
10636
10637         More conditional dependencies.
10638         * modules/faccessat (Depends-on): Add conditions.
10639         * modules/fchmodat (Depends-on): Likewise.
10640         * modules/fchownat (Depends-on): Likewise.
10641         * modules/fstatat (Depends-on): Likewise.
10642         * modules/mkfifoat (Depends-on): Likewise.
10643         * modules/readlinkat (Depends-on): Likewise.
10644         * modules/symlinkat (Depends-on): Likewise.
10645         * modules/unlinkat (Depends-on): Likewise.
10646         * modules/utimensat (Depends-on): Likewise.
10647         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
10648         * modules/linkat (Depends-on): Refine the conditions.
10649         * modules/renameat (Depends-on): Likewise.
10650
10651 2011-11-08  Bruno Haible  <bruno@clisp.org>
10652
10653         faccessat: Move AC_LIBOBJ invocation to module description.
10654         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
10655         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
10656         invocation from here...
10657         * modules/faccessat (configure.ac): ... to here. Invoke
10658         gl_PREREQ_FACCESSAT.
10659
10660 2011-11-08  Bruno Haible  <bruno@clisp.org>
10661
10662         faccessat: Simplify autoconf macro.
10663         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
10664         gl_FUNC_EUIDACCESS.
10665
10666 2011-11-08  Bruno Haible  <bruno@clisp.org>
10667
10668         renameat: Fix dependencies.
10669         * modules/renameat (Depends-on): Add stdbool.
10670
10671 2011-11-08  Bruno Haible  <bruno@clisp.org>
10672
10673         mkfifoat: Fix module description.
10674         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
10675         not gl_UNISTD_MODULE_INDICATOR.
10676
10677 2011-11-08  Bruno Haible  <bruno@clisp.org>
10678
10679         fstatat: Remove unused dependency.
10680         * modules/fstatat (Depends-on): Remove fstat.
10681
10682 2011-11-08  Simon Josefsson  <simon@josefsson.org>
10683
10684         GNUmakefile: behave when Makefile is missing.
10685         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
10686
10687 2011-11-08  Bruno Haible  <bruno@clisp.org>
10688
10689         openat: Conditionalize dependencies.
10690         * lib/openat.c: Reduce the scope of some #includes.
10691         * modules/openat (Depends-on): Add conditions.
10692
10693 2011-11-07  Jim Meyering  <meyering@redhat.com>
10694
10695         maint.mk: extract GPG key ID without using a temporary file
10696         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
10697         without using a temporary file.  Based on a suggestion from Werner Koch
10698         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
10699
10700 2011-11-07  Eric Blake  <eblake@redhat.com>
10701
10702         grantpt: fix typo
10703         * lib/stdlib.in.h (grantpt): Check correct function.
10704
10705         maint.mk: silence new syntax check
10706         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
10707
10708 2011-11-06  Bruno Haible  <bruno@clisp.org>
10709
10710         Doc about floating-point and math API.
10711         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
10712         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
10713
10714 2011-11-06  Bruno Haible  <bruno@clisp.org>
10715
10716         stdalign tests: Skip the test when compiled by Sun C.
10717         * tests/test-stdalign.c (main): Skip the test on Sun C.
10718
10719 2011-11-06  Bruno Haible  <bruno@clisp.org>
10720
10721         ansi-c++-opt: Complete the 2011-06-05 change.
10722         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
10723         does not support namespaces, set the variable to "no", not to ":".
10724
10725 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
10726
10727         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
10728
10729 2011-11-06  Bruno Haible  <bruno@clisp.org>
10730
10731         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
10732         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
10733         (minus_zerol) [HP-UX]: New macro.
10734         (unary_minus) [HP-UX]: New function.
10735         (copysignl) [HP-UX]: Use unary_minus function.
10736
10737 2011-11-06  Bruno Haible  <bruno@clisp.org>
10738
10739         ldexp, ldexpf, ldexpl: Enhance tests.
10740         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
10741         and tests/test-ldexpl.c.
10742         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
10743         LDEXP, MIN_EXP, MAX_EXP): New macros.
10744         Include test-ldexp.h.
10745         (main): Just call test_function.
10746         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
10747         infinity.h, nan.h.
10748         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10749         MAX_EXP): New macros.
10750         Include test-ldexp.h.
10751         (x, y): Remove variables.
10752         (main): Just call test_function.
10753         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
10754         infinity.h, nan.h.
10755         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10756         MAX_EXP): New macros.
10757         Include test-ldexp.h.
10758         (x, y): Remove variables.
10759         (main): Just call test_function.
10760         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
10761         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
10762         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10763         (Depends-on): Add isnand-nolibm, signbit, float.
10764         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
10765         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10766         (Depends-on): Add isnanf-nolibm, signbit, float.
10767
10768 2011-11-06  Bruno Haible  <bruno@clisp.org>
10769
10770         math tests: Cosmetics.
10771         * tests/test-math-c++.cc: Reorder declarations.
10772
10773 2011-11-05  Bruno Haible  <bruno@clisp.org>
10774
10775         fma*: Simplify test.
10776         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
10777         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
10778
10779         Tests for module 'fmal'.
10780         * modules/fmal-tests: New file.
10781         * tests/test-fmal1.c: New file.
10782         * tests/test-fmal2.c: New file.
10783
10784         New module 'fmal'.
10785         * lib/math.in.h (fmal): New declaration.
10786         * lib/fmal.c: New file.
10787         * m4/fmal.m4: New file.
10788         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
10789         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
10790         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
10791         REPLACE_FMAL.
10792         * modules/fmal: New file.
10793         * doc/posix-functions/fmal.texi: Mention the new module and the various
10794         bugs.
10795
10796         Tests for module 'fmaf'.
10797         * modules/fmaf-tests: New file.
10798         * tests/test-fmaf1.c: New file.
10799         * tests/test-fmaf2.c: New file.
10800
10801         New module 'fmaf'.
10802         * lib/math.in.h (fmaf): New declaration.
10803         * lib/fmaf.c: New file.
10804         * m4/fmaf.m4: New file.
10805         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
10806         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
10807         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
10808         REPLACE_FMAF.
10809         * modules/fmaf: New file.
10810         * doc/posix-functions/fmaf.texi: Mention the new module and the various
10811         bugs.
10812
10813         Tests for module 'fma'.
10814         * modules/fma-tests: New file.
10815         * tests/test-fma1.c: New file.
10816         * tests/test-fma1.h: New file.
10817         * tests/test-fma2.c: New file.
10818         * tests/test-fma2.h: New file.
10819
10820         New module 'fma'.
10821         * lib/math.in.h (fma): New declaration.
10822         * lib/fma.c: New file.
10823         * m4/fma.m4: New file.
10824         * m4/fegetround.m4: New file.
10825         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
10826         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
10827         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
10828         REPLACE_FMA.
10829         * modules/fma: New file.
10830         * doc/posix-functions/fma.texi: Mention the new module and the various
10831         bugs.
10832
10833         Extend gl_MATHFUNC.
10834         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
10835         Support 'void' as argument type.
10836         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
10837
10838 2011-11-05  Jim Meyering  <meyering@redhat.com>
10839
10840         maint.mk: also prohibit inclusion of dirent.h without use
10841         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
10842
10843 2011-11-05  Bruno Haible  <bruno@clisp.org>
10844
10845         ldexpl tests: Avoid test failure on MSVC 9.
10846         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
10847         value. Needed in order to enforce the conversion from a value greater
10848         than LDBL_MAX to Infinity.
10849
10850 2011-11-05  Bruno Haible  <bruno@clisp.org>
10851
10852         New modules 'at-internal', 'openat-h', split off from module 'openat'.
10853         * modules/at-internal: New file, extracted from modules/openat.
10854         * modules/openat-h: New file.
10855         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
10856         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
10857         * modules/openat (Description): Add reference to POSIX function.
10858         (Files): Remove lib/openat.h, lib/openat-proc.c.
10859         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
10860         intprops, unistd.
10861         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
10862         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
10863         gl_FCNTL_MODULE_INDICATOR.
10864         (Include): Remove unistd.h, openat.h.
10865         * modules/areadlinkat (Files): Add lib/at-func.c.
10866         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10867         openat-die, openat-h, save-cwd.
10868         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
10869         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10870         openat-die, openat-h, save-cwd, unistd.
10871         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
10872         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10873         openat-h, save-cwd. Remove fcntl-h, openat.
10874         * modules/fchmodat (Files): Remove lib/openat.h.
10875         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10876         openat, stdbool, unistd.
10877         * modules/fchownat (Files): Remove lib/openat.h.
10878         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10879         openat, stdbool, sys_stat.
10880         * modules/fdopendir (Files): Remove lib/openat-priv.h,
10881         lib/openat-proc.c.
10882         (Depends-on): Add at-internal.
10883         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
10884         * modules/fstatat (Files): Remove lib/openat.h.
10885         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10886         stdbool, unistd.
10887         * modules/fts (Depends-on): Add openat-h.
10888         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
10889         openat.
10890         * modules/mkdirat (Files): Remove lib/openat.h.
10891         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10892         openat, stdbool, sys_stat.
10893         * modules/mkfifoat (Files): Add lib/at-func.c.
10894         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10895         openat-h, save-cwd. Remove fcntl-h, openat.
10896         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
10897         * modules/readlinkat (Files): Add lib/at-func.c.
10898         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10899         openat-h, save-cwd. Remove fcntl-h, openat.
10900         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
10901         openat.
10902         * modules/selinux-at (Files): Add lib/at-func.c.
10903         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10904         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
10905         * modules/symlinkat (Files): Add lib/at-func.c.
10906         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10907         openat-h, save-cwd. Remove fcntl-h, openat.
10908         * modules/unlinkat (Files): Remove lib/openat.h.
10909         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10910         stdbool.
10911         * modules/utimensat (Files): Add lib/at-func.c.
10912         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
10913         openat-die, openat-h, save-cwd.
10914         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
10915         * modules/fdutimensat-tests (Depends-on): Add openat.
10916         * modules/fstatat-tests (Depends-on): Add openat-h.
10917         * modules/readlinkat-tests (Depends-on): Add openat.
10918         * modules/symlinkat-tests (Depends-on): Add openat.
10919
10920 2011-11-05  Bruno Haible  <bruno@clisp.org>
10921
10922         openat: Include <stdbool.h>.
10923         * lib/openat.c: Include <stdbool.h>.
10924
10925 2011-11-04  Bruno Haible  <bruno@clisp.org>
10926
10927         fchownat, renameat, unlinkat: Fix dependencies.
10928         * modules/fchownat (Depends-on): Add fstatat.
10929         * modules/renameat (Depends-on): Likewise.
10930         * modules/unlinkat (Depends-on): Likewise.
10931
10932 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
10933
10934         openat: remove direct dependency on dirent
10935         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
10936         and hasn't been needed ever since fdopendir was split into its own
10937         module on 2009-08-31.
10938         * modules/openat (Depends-on): Remove dirent.
10939
10940 2011-11-04  Bruno Haible  <bruno@clisp.org>
10941
10942         renameat: Optimize code size.
10943         * modules/renameat (configure.ac): Don't compile at-func2.c if
10944         REPLACE_RENAMEAT is 1.
10945
10946 2011-11-04  Bruno Haible  <bruno@clisp.org>
10947
10948         openat tests: Fix file list.
10949         * modules/openat-tests (Files): Add tests/test-open.h.
10950
10951 2011-11-04  Bruno Haible  <bruno@clisp.org>
10952
10953         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
10954         * modules/fchmodat (Depends-on): Add openat-die.
10955         * modules/fchownat (Depends-on): Likewise.
10956         * modules/linkat (Depends-on): Likewise.
10957         * modules/renameat (Depends-on): Likewise.
10958         * modules/openat (Depends-on): Add dirent.
10959
10960 2011-11-04  Jim Meyering  <meyering@redhat.com>
10961
10962         at-func*.c: fix comments
10963         * lib/at-func2.c: Correct/improve first-line comment.
10964         * lib/at-func.c: Correct grammar in first-line comment.
10965
10966 2011-11-04  Bruno Haible  <bruno@clisp.org>
10967
10968         New module 'mkdirat', split off from module 'openat'.
10969         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
10970         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
10971         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
10972         * modules/mkdirat: New file, extracted from modules/openat.
10973         * modules/openat (Files): Remove lib/mkdirat.c.
10974         (Depends-on): Remove mkdir.
10975         (configure.ac): Remove AC_LIBOBJ of mkdirat.
10976         (Include): Remove <sys/stat.h>.
10977         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
10978         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
10979         tests/test-mkdir.h.
10980         (Depends-on): Remove ignore-value.
10981         (Makefile.am): Remove rules for test-mkdirat.
10982         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
10983         of module 'openat'.
10984         * NEWS: Mention the change.
10985
10986 2011-11-04  Bruno Haible  <bruno@clisp.org>
10987
10988         closedir: Avoid warning on mingw.
10989         * lib/closedir.c: Include <unistd.h>.
10990
10991 2011-11-04  Bruno Haible  <bruno@clisp.org>
10992
10993         New module 'fstatat', split off from module 'openat'.
10994         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
10995         defined.
10996         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
10997         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
10998         gl_FUNC_FSTATAT.
10999         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
11000         * modules/fstatat: New file, extracted from modules/openat.
11001         * modules/openat (Files): Remove lib/fstatat.c.
11002         (Depends-on): Remove lstat.
11003         (configure.ac): Remove AC_LIBOBJ of fstatat.
11004         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
11005         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
11006         tests/test-lstat.h, tests/test-stat.h.
11007         (Depends-on): Remove getcwd-lgpl.
11008         (Makefile.am): Remove rules for test-fstatat.
11009         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
11010         of module 'openat'.
11011         * NEWS: Mention the change.
11012         * modules/getcwd (Depends-on): Add fstatat.
11013         * modules/linkat (Depends-on): Likewise.
11014         * modules/mkfifoat-tests (Depends-on): Likewise.
11015         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
11016
11017 2011-11-03  Bruno Haible  <bruno@clisp.org>
11018
11019         New module 'unlinkat', split off from module 'openat'.
11020         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
11021         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
11022         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
11023         * modules/unlinkat: New file, extracted from modules/openat. Correct
11024         the dependency conditions.
11025         * modules/openat (Files): Remove lib/unlinkat.c.
11026         (Depends-on): Remove rmdir, unlink.
11027         (configure.ac): Remove AC_LIBOBJ of unlinkat.
11028         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
11029         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
11030         tests/test-rmdir.h, tests/test-unlink.h.
11031         (Depends-on): Remove unlinkdir.
11032         (Makefile.am): Remove rules for test-unlinkat.
11033         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
11034         of module 'openat'.
11035         * NEWS: Mention the change.
11036         * modules/linkat-tests (Depends-on): Add unlinkat.
11037         * modules/mkfifoat-tests (Depends-on): Likewise.
11038         * modules/readlinkat-tests (Depends-on): Likewise.
11039
11040 2011-11-02  Bruno Haible  <bruno@clisp.org>
11041
11042         New module 'fchmodat', split off from module 'openat'.
11043         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
11044         defined.
11045         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
11046         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
11047         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
11048         * modules/fchmodat: New file, extracted from modules/openat.
11049         * modules/openat (Files): Remove lib/fchmodat.c.
11050         (configure.ac): Remove AC_LIBOBJ of fchmodat.
11051         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
11052         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
11053         (Makefile.am): Remove rules for test-fchmodat.
11054         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
11055         of module 'openat'.
11056         * NEWS: Mention the change.
11057
11058 2011-11-02  Jim Meyering  <meyering@redhat.com>
11059
11060         putenv: indent #definition of "environ" to placate cppi
11061         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
11062
11063         gitlog-to-changelog: provide a ChangeLog-repair mechanism
11064         Git logs are often treated as immutable, because editing them
11065         changes the SHA1 checksums of all descendants.  Thus, errors in
11066         git logs tend to stay there forever.  However, when we generate
11067         a ChangeLog file -- typically for distribution -- from that git log,
11068         we can actually make corrections in the generated file.  The key
11069         lies in recording in machine-readable/applicable form the desired
11070         corrections.  See --help for description and an example.
11071         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
11072         (usage): Describe it; alphabetize option descriptions.
11073         (main): Honor the new option, carefully.
11074
11075 2011-11-01  Jim Meyering  <meyering@redhat.com>
11076
11077         gitlog-to-changelog: avoid an infloop
11078         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
11079         that ends up being empty.
11080
11081 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
11082
11083         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
11084         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
11085         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
11086         contains (possibly-quoted) backslashes.  This should avoid
11087         all-too-common shell bugs if COMPLICATED contains backslashes in
11088         the "wrong" places.  Reported by David Evans in
11089         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
11090         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
11091         because we want ASCII ranges.  Is there some reason we don't use
11092         the C locale everywhere in this script?
11093         (func_module, top level): Avoid unwanted pathname expansion when
11094         $repo_url_prefix or $repo_url_suffix_repl contain shell
11095         metacharacters like '?' and '*'.
11096
11097 2011-11-01  Bruno Haible  <bruno@clisp.org>
11098
11099         fchownat: Improve description.
11100         * modules/fchownat (Description): Add link to function.
11101
11102 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
11103
11104         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
11105         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
11106         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
11107         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
11108
11109 2011-11-01  Bruno Haible  <bruno@clisp.org>
11110
11111         alignof: Avoid collision with stdalign module.
11112         * lib/alignof.h (alignof): Remove macro.
11113         * NEWS: Mention the change.
11114         Reported by Paul Eggert.
11115
11116 2011-11-01  Bruno Haible  <bruno@clisp.org>
11117
11118         New module 'fchownat', split off from module 'openat'.
11119         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
11120         defined.
11121         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
11122         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
11123         invoke gl_FUNC_FCHOWNAT.
11124         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
11125         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
11126         * modules/fchownat: New file, extracted from modules/openat.
11127         * modules/openat (Files): Remove lib/fchownat.c.
11128         (Depends-on): Remove lchown.
11129         (configure.ac): Remove AC_LIBOBJ of fchownat.
11130         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
11131         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
11132         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
11133         (Depends-on): Remove mgetgroups, usleep, stat-time.
11134         (configure.ac): Remove test for getegid.
11135         (Makefile.am): Remove rules for test-fchownat.
11136         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
11137         of module 'openat'.
11138         * NEWS: Mention the change.
11139
11140 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
11141
11142         stdalign: port better to MSVC and to Sun C 5.11
11143         This fixes some of the problems reported by Bruno Haible in
11144         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
11145         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
11146         shortcomings of MSVC and of Sun C 5.11.
11147         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
11148         around __declspec arg.
11149         * modules/stdalign-tests (Files): Add tests/macros.h.
11150         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
11151         Include macros.h, for ASSERT.
11152         (DECLARE_ALIGNED): Remove.
11153         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
11154         to catch bug), and to 1 if not (simplifies the rest of the code).
11155         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
11156         (CHECK_AUTO): Remove.
11157         (CHECK_ALIGNED): Check only the alignment of the static vars,
11158         since auto var alignment isn't supported by Sun C 5.11.
11159         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
11160         ASSERT failures are easier to diagnose.
11161
11162 2011-10-31  Bruno Haible  <bruno@clisp.org>
11163
11164         doc about some IRIX 5.3 problems.
11165         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
11166         on IRIX 5.3.
11167         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
11168         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
11169         5.3.
11170         * doc/posix-functions/grantpt.texi: Likewise.
11171         * doc/posix-functions/unlockpt.texi: Likewise.
11172         * doc/posix-functions/lgamma.texi: Likewise.
11173         * doc/posix-functions/nextafter.texi: Likewise.
11174         * doc/posix-functions/remainder.texi: Likewise.
11175         * doc/posix-functions/select.texi: Mention misplaced declaration on
11176         IRIX 5.3.
11177         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11178
11179 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
11180
11181         gitlog-to-changelog: fix git-log invocation.
11182         git-log mishandles date strings before 1970-01-01 UTC, and there is
11183         no use to specify --since=1970-01-01 by default anyway.
11184         * build-aux/gitlog-to-changelog: By default, when no --since option
11185         was given, do not specify explicit --since option to git-log.
11186
11187 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
11188
11189         gitlog-to-changelog: new option --append-dot.
11190         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
11191         first non-blank line of each commit message terminated with a dot.
11192
11193 2011-10-30  Bruno Haible  <bruno@clisp.org>
11194
11195         ffsl, ffsll: Avoid compilation error due to 'restrict'.
11196         * lib/ffsl.h: Include <config.h>.
11197         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
11198
11199 2011-10-30  Jim Meyering  <meyering@redhat.com>
11200
11201         GNUmakefile: reenable "make syntax-check" for most projects
11202         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
11203         build-aux variable", "syntax-check" would do nothing but succeed with
11204         the "No version control files detected..." diagnostic (unless you
11205         happened to override _build-aux via cfg.mk).
11206         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
11207         to precede inclusion of maint.mk.  Otherwise, these variables would
11208         be used undefined in any project that does not override the default.
11209
11210 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
11211
11212         gitlog-to-changelog: treat a message with only blank lines as empty.
11213         * build-aux/gitlog-to-changelog: Move the code that removes leading and
11214         trailing blank lines before the code that issues a warning about an
11215         empty commit message.
11216
11217 2011-10-30  Jim Meyering  <meyering@redhat.com>
11218
11219         test-parse-datetime.c: avoid new DST-related false positive test failure
11220         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
11221         based on the time/date we'll convert, not the current time.
11222         Otherwise, the moment we cross a DST boundary like today's in
11223         Europe, (CEST to CET), that offset ends up being one hour off.
11224
11225 2011-10-27  Bruno Haible  <bruno@clisp.org>
11226
11227         fstat: Tweak documentation.
11228         * modules/fstat (Description): More precise description.
11229
11230 2011-10-27  Bruno Haible  <bruno@clisp.org>
11231
11232         Update documentation regarding 'largefile' module.
11233         * doc/posix-functions/fstat.texi: Tweak wording.
11234         * doc/posix-functions/opendir.texi: Mention that the module fixes the
11235         problems with huge directories and/or small ino_t types.
11236         * doc/posix-functions/readdir.texi: Likewise.
11237         * doc/posix-functions/rewinddir.texi: Likewise.
11238
11239 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
11240
11241         maint.mk: don't maintain a second build-aux variable.
11242         * maint.mk (build_aux): Removed.  The maintainer-makefile module
11243         depends on GNUmakefile, which already maintains a cfg.mk
11244         overridable $(_build-aux) for projects with a non-standard
11245         build-aux directory location, although without the $(srcdir)
11246         prefix.  Use that variable consistently instead of introducing a
11247         second one.  Adjust all call sites.
11248
11249 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
11250
11251         Add stdalign module and use it in other modules.
11252         This is based on a previous proposal by Bruno Haible
11253         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
11254
11255         stdalign: new module
11256         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
11257         * modules/stdalign: New files.
11258         * MODULES.html.sh (c1x_core_properties): Add stdalign.
11259         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
11260
11261         stdalign-tests: new module
11262         * modules/stdalign-tests, tests/test-stdalign.c: New files.
11263
11264         argp: use stdalign
11265         * lib/argp-parse.c: Include <stdalign.h>.
11266         (alignof): Remove.
11267         * modules/argp (Depends-on): Add stdalign.
11268
11269         crypto libraries: use stdalign
11270         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
11271         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
11272         Do not include <stdlib.h> twice, in md4.c.
11273         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
11274         because we are accessing a pointer's bit-pattern, not a size.
11275         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
11276         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
11277         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
11278         * modules/crypto/sha512: Likewise.
11279
11280         sys_socket: use stdalign, not alignof
11281         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
11282         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
11283
11284 2011-10-27  Bruno Haible  <bruno@clisp.org>
11285
11286         raise test: Avoid a test failure on Linux/MIPS.
11287         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
11288         because 99 is a valid signal on Linux/MIPS.
11289
11290 2011-10-27  Bruno Haible  <bruno@clisp.org>
11291
11292         nonblocking tests: Fix test failure on Linux/MIPS.
11293         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
11294         Set to 270000.
11295
11296 2011-10-27  Bruno Haible  <bruno@clisp.org>
11297
11298         utimensat: Work around problem on Linux/hppa.
11299         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
11300         values.
11301         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
11302
11303 2011-10-25  Jim Meyering  <meyering@redhat.com>
11304
11305         maint.mk: fix a bug in sc_prohibit_stddef_without_use
11306         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
11307         after symbols like NULL, size_t, etc.
11308         Reported by Alfred M. Szmidt.
11309
11310         maint.mk: exempt ENODATA from a syntax-check rule
11311         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
11312         from the sc_prohibit_always-defined_macros syntax-check rule.
11313         Add a comment.  See this for more details:
11314         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
11315
11316 2011-10-23  Jim Meyering  <meyering@redhat.com>
11317
11318         fts: close parent dir FD before returning from post-traversal fts_read
11319         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
11320         unlink A, even though an FD open on A remained.  This is suboptimal
11321         (holding a file descriptor open longer than needed), but otherwise not
11322         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
11323         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
11324         that represents a real problem: it causes the removal of A to fail
11325         with e.g., "rm: cannot remove `A': Device or resource busy"
11326
11327         fts visits each directory twice and keeps a cache (fts_fd_ring) of
11328         directory file descriptors.  After completing the final, FTS_DP,
11329         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
11330         cache, but then proceeded to add a new FD to it via the subsequent
11331         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
11332         final file descriptor would be closed only via fts_close's call to
11333         fd_ring_clear.  Now, it is usually closed earlier, via the final
11334         FTS_DP-returning fts_read call.
11335         * lib/fts.c (restore_initial_cwd): New function, converted from
11336         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
11337         Update callers.
11338         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
11339         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
11340
11341 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
11342             Bruno Haible  <bruno@clisp.org>
11343             Jim Meyering  <jim@meyering.net>
11344
11345         readme-release: improve safety of release prep instructions.
11346         * README-release: Don't git pull all branches when only master
11347         is needed for the release process.
11348         Run make maintainer-clean before changing trees and merging.
11349         Don't try to run ./configure right after git pull in case files
11350         that influence the bootstrap process have changed, move the
11351         ./configure step to after running ./bootstrap.
11352         Don't bootstrap "one last time"... it's the first time!
11353
11354 2011-10-22  Bruno Haible  <bruno@clisp.org>
11355
11356         errno, strerror-override: Support for MSVC 10.
11357         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
11358         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
11359         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
11360         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
11361         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
11362         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
11363         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
11364         Assign values compatible with MSVC 10.
11365         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
11366         New macros.
11367         (GNULIB_defined_EWINSOCK): New macro.
11368         * lib/strerror-override.c (strerror_override): Update accordingly.
11369         * lib/strerror-override.h: Likewise.
11370         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
11371         longer equal to the corresponding errno value.
11372         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11373
11374 2011-10-22  Bruno Haible  <bruno@clisp.org>
11375
11376         perror: Recognize when test program crashes.
11377         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
11378         strerror, set gl_cv_func_perror_works to no.
11379         Reported by Daniel Richard G. <skunk@iskunk.org>.
11380
11381         perror: Fix indentation.
11382         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
11383
11384 2011-10-22  Bruno Haible  <bruno@clisp.org>
11385
11386         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
11387         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
11388         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
11389         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
11390         functions, not as a macro.
11391         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
11392         macros.
11393         (isfinite, isinf, isnan, signbit): Check overloaded functions and
11394         absence of macro.
11395         Suggested by Eric Blake.
11396         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11397
11398 2011-10-21  Bruno Haible  <bruno@clisp.org>
11399
11400         relocatable-prog-wrapper: Don't leave object files behind.
11401         * build-aux/install-reloc: Re-synchronize list of .o files to be
11402         removed with list of compilation units.
11403
11404 2011-10-20  Bruno Haible  <bruno@clisp.org>
11405
11406         openpty, posix_openpt: Remove code duplication.
11407         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
11408         * lib/openpty.c: Include <stdlib.h>.
11409         (openpty): Use posix_openpt on all platforms except IRIX.
11410         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
11411
11412 2011-10-20  Bruno Haible  <bruno@clisp.org>
11413
11414         unlockpt: Detect invalid argument.
11415         * lib/unlockpt.c: Include <fcntl.h>.
11416         (unlockpt): Check whether fd is valid, using fcntl().
11417         * modules/unlockpt (Depends-on): Add fcntl-h.
11418
11419 2011-10-20  Bruno Haible  <bruno@clisp.org>
11420
11421         openpty: Avoid compilation error on AIX 6.1.
11422         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
11423
11424 2011-10-20  Bruno Haible  <bruno@clisp.org>
11425
11426         posix_openpt: Support for OpenBSD.
11427         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
11428         (posix_openpt) [OpenBSD]: New code.
11429         * lib/grantpt.c: Include <fcntl.h>.
11430         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
11431         * modules/grantpt (Depends-on): Add fcntl-h.
11432
11433 2011-10-20  Bruno Haible  <bruno@clisp.org>
11434
11435         posix_openpt test: Coding style.
11436         * tests/test-posix_openpt.c: Use GNU coding style.
11437
11438 2011-10-20  Bruno Haible  <bruno@clisp.org>
11439
11440         grantpt: Support --avoid=pt_chown.
11441         * modules/grantpt (Files): Add lib/pty-private.h.
11442
11443 2011-10-20  Bruno Haible  <bruno@clisp.org>
11444
11445         posix_openpt: Fix autoconf macro.
11446         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
11447         unneeded check for _getpty.
11448
11449 2011-10-20  Bruno Haible  <bruno@clisp.org>
11450
11451         openpty: Update comments.
11452         * lib/openpty.c: Add comments about Minix.
11453
11454 2011-10-19  Eric Blake  <eblake@redhat.com>
11455
11456         openpty: relax license
11457         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
11458
11459         pt_chown: use configmake to simplify build
11460         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
11461
11462         ptsname and others: relax license
11463         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
11464         * modules/unlockpt (License): Likewise.
11465         * modules/pt_chown (License): Likewise.
11466         * modules/ptsname (License): Likewise.
11467         * modules/ttyname_r (License): Likewise.
11468
11469 2011-10-19  Jim Meyering  <meyering@redhat.com>
11470
11471         posix_openpt: remove spurious #endif
11472         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
11473
11474 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
11475
11476         maint.mk: Respect $(build_aux) in web-manual rule.
11477         * top/maint.mk (web-manual): Find gen-announce script in user's
11478         $(build_aux) directory instead of hard-coding 'build-aux'.
11479
11480 2011-10-19  Bruno Haible  <bruno@clisp.org>
11481
11482         posix_openpt: Fix compilation error.
11483         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
11484         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
11485         Mention the openpty module as an alternative.
11486
11487 2011-10-19  Bruno Haible  <bruno@clisp.org>
11488
11489         Support for old NeXTstep 3.3 frexp().
11490         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
11491         execution time of the test to 5 seconds.
11492         Reported by Daniel Richard G. <skunk@iskunk.org>.
11493
11494 2011-10-19  Bruno Haible  <bruno@clisp.org>
11495
11496         Support for old NeXTstep 3.3 sed.
11497         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
11498         part, use /.../, not \|...|. Escape periods in the header file name.
11499         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
11500         Reported by Daniel Richard G. <skunk@iskunk.org>.
11501
11502 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11503
11504         Support for old NeXTstep 3.3 gcc.
11505         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
11506         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
11507         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
11508         * lib/spawn.in.h (_Restrict_arr_): Likewise.
11509         * lib/regex.h (_Restrict_arr_): Likewise.
11510         * lib/regex_internal.h (re_token_t): Likewise.
11511         * lib/regexec.c (check_node_accept_bytes): Likewise.
11512         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
11513
11514 2011-10-18  Eric Blake  <eblake@redhat.com>
11515
11516         posix_openpt: new module
11517         * modules/posix_openpt: New module.
11518         * m4/posix_openpt.m4: New file.
11519         * lib/posix_openpt.c: Likewise.
11520         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
11521         (gl_STDLIB_H_DEFAULTS): Set defaults.
11522         * modules/stdlib (Makefile.am): Substitute macros.
11523         * lib/stdlib.in.h (posix_openpt): Declare.
11524         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
11525         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
11526         * modules/posix_openpt-tests: New test module.
11527         * tests/test-posix_openpt.c: New test.
11528
11529 2011-10-15  Bruno Haible  <bruno@clisp.org>
11530
11531         xstrtoll: Fix compilation failure.
11532         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
11533         from lib/strtol.c.
11534         * doc/posix-headers/limits.texi: Mention missing numerical limits on
11535         some platforms.
11536         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11537
11538 2011-10-15  Bruno Haible  <bruno@clisp.org>
11539
11540         vasnprintf: Optimize bit search operation.
11541         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
11542         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
11543         gl_DOUBLE_EXPONENT_LOCATION.
11544         * modules/vasnprintf (Files): Add m4/exponentd.m4.
11545         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11546         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11547         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11548         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11549         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11550         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11551         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11552         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
11553
11554 2011-10-15  Bruno Haible  <bruno@clisp.org>
11555
11556         vasnprintf: Fix comments.
11557         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
11558
11559 2011-10-14  Bruno Haible  <bruno@clisp.org>
11560
11561         Tests for module 'integer_length_ll'.
11562         * modules/integer_length_ll-tests: New file.
11563         * tests/test-integer_length_ll.c: New file.
11564
11565         New module 'integer_length_ll'.
11566         * lib/integer_length_ll.c: New file.
11567         * modules/integer_length_ll: New file.
11568
11569 2011-10-14  Bruno Haible  <bruno@clisp.org>
11570
11571         Tests for module 'integer_length_l'.
11572         * modules/integer_length_l-tests: New file.
11573         * tests/test-integer_length_l.c: New file.
11574
11575         New module 'integer_length_l'.
11576         * lib/integer_length_l.c: New file.
11577         * modules/integer_length_l: New file.
11578
11579 2011-10-14  Bruno Haible  <bruno@clisp.org>
11580
11581         Tests for module 'integer_length'.
11582         * modules/integer_length-tests: New file.
11583         * tests/test-integer_length.c: New file.
11584
11585         New module 'integer_length'.
11586         * lib/integer_length.h: New file.
11587         * lib/integer_length.c: New file.
11588         * modules/integer_length: New file.
11589
11590 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11591
11592         popen: Fix dependency conditions.
11593         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
11594
11595 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11596
11597         perror: Fix autoconf test.
11598         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
11599         <stdlib.h> and <string.h>.
11600
11601 2011-10-14  Bruno Haible  <bruno@clisp.org>
11602
11603         ffsl: Optimize on 64-bit platforms.
11604         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
11605         unrolling.
11606
11607 2011-10-13  Bruno Haible  <bruno@clisp.org>
11608
11609         ffsl: Optimize on 32-bit platforms.
11610         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
11611         use ffs() without a loop.
11612
11613         ffsl, ffsll: Optimize for GCC.
11614         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
11615         * lib/ffsl.c (GCC_BUILTIN): New macro.
11616         * lib/ffsll.c (GCC_BUILTIN): Likewise.
11617
11618 2011-10-13  Bruno Haible  <bruno@clisp.org>
11619
11620         ffs, bcopy, memset: Support symbol renaming via config.h.
11621         * lib/ffs.c: Include <config.h>.
11622         * lib/bcopy.c: Likewise.
11623         * lib/memset.c: Likewise.
11624
11625 2011-10-10  Bruno Haible  <bruno@clisp.org>
11626
11627         atanl: Simplify for platforms where 'long double' == 'double'.
11628         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11629         alternative implementation.
11630         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11631         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11632         * modules/atanl (Depends-on): Add atan. Update conditions.
11633
11634 2011-10-10  Bruno Haible  <bruno@clisp.org>
11635
11636         acosl: Simplify for platforms where 'long double' == 'double'.
11637         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11638         alternative implementation.
11639         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11640         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11641         * modules/acosl (Depends-on): Add acos. Update conditions.
11642
11643 2011-10-10  Bruno Haible  <bruno@clisp.org>
11644
11645         asinl: Simplify for platforms where 'long double' == 'double'.
11646         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11647         alternative implementation.
11648         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11649         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11650         * modules/asinl (Depends-on): Add asin. Update conditions.
11651
11652 2011-10-10  Bruno Haible  <bruno@clisp.org>
11653
11654         tanl: Simplify for platforms where 'long double' == 'double'.
11655         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11656         implementation.
11657         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11658         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11659         * modules/tanl (Depends-on): Add tan. Update conditions.
11660         (configure.ac): Don't compile trigl.c if
11661         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11662
11663 2011-10-10  Bruno Haible  <bruno@clisp.org>
11664
11665         cosl: Simplify for platforms where 'long double' == 'double'.
11666         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11667         implementation.
11668         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11669         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11670         * modules/cosl (Depends-on): Add cos. Update conditions.
11671         (configure.ac): Don't compile sincosl.c and trigl.c if
11672         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11673
11674 2011-10-10  Bruno Haible  <bruno@clisp.org>
11675
11676         sinl: Simplify for platforms where 'long double' == 'double'.
11677         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11678         implementation.
11679         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11680         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11681         * modules/sinl (Depends-on): Add sin. Update conditions.
11682         (configure.ac): Don't compile sincosl.c and trigl.c if
11683         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11684
11685 2011-10-10  Bruno Haible  <bruno@clisp.org>
11686
11687         logl: Simplify for platforms where 'long double' == 'double'.
11688         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11689         implementation.
11690         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11691         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11692         * modules/logl (Depends-on): Add log. Update conditions.
11693
11694 2011-10-10  Bruno Haible  <bruno@clisp.org>
11695
11696         expl: Simplify for platforms where 'long double' == 'double'.
11697         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11698         implementation.
11699         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11700         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11701         * modules/expl (Depends-on): Add exp. Update conditions.
11702
11703 2011-10-10  Bruno Haible  <bruno@clisp.org>
11704
11705         sqrtl: Simplify for platforms where 'long double' == 'double'.
11706         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11707         alternative implementation.
11708         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11709         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11710         * modules/sqrtl (Depends-on): Update conditions.
11711
11712 2011-10-10  Bruno Haible  <bruno@clisp.org>
11713
11714         ldexpl: Simplify for platforms where 'long double' == 'double'.
11715         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11716         alternative implementation.
11717         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11718         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11719         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
11720
11721 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
11722
11723         ffsll: set correct witness
11724         * modules/ffsll (configure.ac): Fix typo.
11725
11726 2011-10-10  Bruno Haible  <bruno@clisp.org>
11727
11728         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
11729         * lib/printf-frexpl.c: Include <config.h>.
11730         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11731         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
11732         second time.
11733         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
11734         gl_LONG_DOUBLE_VS_DOUBLE.
11735         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
11736         conditions.
11737
11738 2011-10-10  Bruno Haible  <bruno@clisp.org>
11739
11740         frexpl: Simplify for platforms where 'long double' == 'double'.
11741         * lib/frexpl.c: Include <config.h>.
11742         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11743         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11744         time.
11745         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11746         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11747         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
11748         * modules/frexpl (Depends-on): Add frexp. Update conditions.
11749         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
11750         conditions.
11751
11752 2011-10-10  Jim Meyering  <meyering@redhat.com>
11753
11754         test-renameat: don't leave behind a temporary file
11755         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
11756           ERROR: files left in build directory after distclean:
11757           ./gltests/test-renameat.too
11758           make[1]: *** [distcleancheck] Error 1
11759         Reported by Tom G. Christensen.
11760
11761 2011-10-09  Bruno Haible  <bruno@clisp.org>
11762
11763         rint: Determine RINT_LIBM correctly on AIX 7.
11764         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
11765         directly, not only through a function pointer. Also accept an optional
11766         4th argument with extra code.
11767         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
11768         rintf() call by gcc when optimizing.
11769
11770         mathfunc.m4: Refactor.
11771         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
11772         m4 variable.
11773
11774 2011-10-09  Bruno Haible  <bruno@clisp.org>
11775
11776         rintl: Simplify for platforms where 'long double' == 'double'.
11777         * lib/rintl.c: Include <config.h>.
11778         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11779         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11780         time.
11781         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11782         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11783         * modules/rintl (Depends-on): Add rint. Update conditions.
11784
11785 2011-10-09  Bruno Haible  <bruno@clisp.org>
11786
11787         roundl: Simplify for platforms where 'long double' == 'double'.
11788         * lib/roundl.c: Include <config.h>.
11789         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11790         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11791         time.
11792         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11793         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11794         * modules/roundl (Depends-on): Add round. Update conditions.
11795
11796 2011-10-09  Bruno Haible  <bruno@clisp.org>
11797
11798         truncl: Simplify for platforms where 'long double' == 'double'.
11799         * lib/truncl.c: Include <config.h>.
11800         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11801         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11802         time.
11803         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11804         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11805         * modules/truncl (Depends-on): Add trunc. Update conditions.
11806
11807 2011-10-09  Bruno Haible  <bruno@clisp.org>
11808
11809         ceill: Simplify for platforms where 'long double' == 'double'.
11810         * lib/ceill.c: Include <config.h>.
11811         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11812         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11813         time.
11814         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11815         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11816         * modules/ceill (Depends-on): Add ceil. Update conditions.
11817
11818 2011-10-09  Bruno Haible  <bruno@clisp.org>
11819
11820         floorl: Simplify for platforms where 'long double' == 'double'.
11821         * lib/floorl.c: Include <config.h>.
11822         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11823         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11824         time.
11825         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11826         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11827         * modules/floorl (Depends-on): Add floor. Update conditions.
11828
11829 2011-10-09  Bruno Haible  <bruno@clisp.org>
11830
11831         rint: Fix ordering constraints.
11832         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
11833         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
11834         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
11835
11836 2011-10-09  Bruno Haible  <bruno@clisp.org>
11837
11838         copysignl: Simplify for platforms where 'long double' == 'double'.
11839         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11840         alternative.
11841         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11842         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11843         * modules/copysignl (Depends-on): Add copysign. Update conditions.
11844
11845 2011-10-09  Bruno Haible  <bruno@clisp.org>
11846
11847         Tests for module 'rintl'.
11848         * modules/rintl-tests: New file.
11849         * tests/test-rintl.c: New file.
11850
11851         New module 'rintl'.
11852         * lib/math.in.h (rintl): New declaration.
11853         * lib/rintl.c: New file.
11854         * m4/rintl.m4: New file.
11855         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
11856         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
11857         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
11858         * modules/rintl: New file.
11859         * tests/test-math-c++.cc: Check the declaration of rintl.
11860         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11861         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
11862         * doc/posix-functions/rintl.texi: Mention the new module.
11863
11864 2011-10-09  Bruno Haible  <bruno@clisp.org>
11865
11866         Tests for module 'rintf'.
11867         * modules/rintf-tests: New file.
11868         * tests/test-rintf.c: New file.
11869
11870         New module 'rintf'.
11871         * lib/math.in.h (rintf): New declaration.
11872         * lib/rintf.c: New file.
11873         * m4/rintf.m4: New file.
11874         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
11875         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
11876         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
11877         * modules/rintf: New file.
11878         * tests/test-math-c++.cc: Check the declaration of rintf.
11879         * doc/posix-functions/rintf.texi: Mention the new module.
11880
11881 2011-10-09  Bruno Haible  <bruno@clisp.org>
11882
11883         rint: Support for MSVC.
11884         * lib/math.in.h (rint): New declaration.
11885         * lib/rint.c: New file.
11886         * m4/rint.m4: New file.
11887         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
11888         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
11889         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
11890         * modules/rint (Description): Fix.
11891         (Files): Add lib/rint.c, m4/rint.m4.
11892         (Depends-on): Add math.
11893         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
11894         gl_MATH_MODULE_INDICATOR.
11895         * tests/test-math-c++.cc: Check the declaration of rint.
11896         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11897         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
11898         * doc/posix-functions/rint.texi: Mention the replacement provided by
11899         the module.
11900
11901         rint tests: More tests.
11902         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
11903         minus-zero.h, infinity.h, nan.h.
11904         (main): Skip the test if the current rounding mode is not standard. Add
11905         tests for negative numbers, minus zero, infinity, NaN.
11906         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
11907         tests/nan.h.
11908         (Depends-on): Add isnand-nolibm.
11909
11910 2011-10-09  Bruno Haible  <bruno@clisp.org>
11911
11912         Tests for module 'copysignl'.
11913         * modules/copysignl-tests: New file.
11914         * tests/test-copysignl.c: New file.
11915
11916         New module 'copysignl'.
11917         * lib/math.in.h (copysignl): New declaration.
11918         * lib/copysignl.c: New file.
11919         * m4/copysignl.m4: New file.
11920         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
11921         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
11922         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
11923         HAVE_COPYSIGNL.
11924         * modules/copysignl: New file.
11925         * tests/test-math-c++.cc: Check the declaration of copysignl.
11926         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11927         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
11928         * doc/posix-functions/copysignl.texi: Mention the new module.
11929
11930 2011-10-09  Bruno Haible  <bruno@clisp.org>
11931
11932         Tests for module 'copysignf'.
11933         * modules/copysignf-tests: New file.
11934         * tests/test-copysignf.c: New file.
11935
11936         New module 'copysignf'.
11937         * lib/math.in.h (copysignf): New declaration.
11938         * lib/copysignf.c: New file.
11939         * m4/copysignf.m4: New file.
11940         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
11941         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
11942         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
11943         HAVE_COPYSIGNF.
11944         * modules/copysignf: New file.
11945         * tests/test-math-c++.cc: Check the declaration of copysignf.
11946         * doc/posix-functions/copysignf.texi: Mention the new module.
11947
11948 2011-10-09  Bruno Haible  <bruno@clisp.org>
11949
11950         Ensure that HAVE_* variables are set to 1 before they are set to 0.
11951         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
11952         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
11953         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11954         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
11955         gl_SIGNAL_H_DEFAULTS.
11956
11957 2011-10-09  Bruno Haible  <bruno@clisp.org>
11958
11959         poll: Make macro safer.
11960         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
11961         ac_cv_header_poll_h is not set.
11962
11963 2011-10-09  Bruno Haible  <bruno@clisp.org>
11964
11965         copysign: Provide replacement.
11966         * lib/math.in.h (copysign): New declaration.
11967         * lib/copysign.c: New file.
11968         * m4/copysign.m4: New file.
11969         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
11970         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
11971         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
11972         HAVE_COPYSIGN.
11973         * modules/copysign (Description): Clarify.
11974         (Files): Add lib/copysign.c, m4/copysign.m4.
11975         (Depends-on): Add math, signbit.
11976         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
11977         gl_MATH_MODULE_INDICATOR.
11978         * tests/test-math-c++.cc: Check the declaration of copysign.
11979         * doc/posix-functions/copysign.texi: Mention the effects of the module
11980         on Minix and MSVC.
11981
11982 2011-10-09  Bruno Haible  <bruno@clisp.org>
11983
11984         isinf: Ensure macro on AIX 5.1.
11985         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
11986         macro.
11987         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
11988
11989 2011-10-09  Bruno Haible  <bruno@clisp.org>
11990
11991         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
11992         * modules/snprintf-posix-tests (configure.ac): Require
11993         gl_LONG_DOUBLE_VS_DOUBLE.
11994         * modules/sprintf-posix-tests (configure.ac): Likewise.
11995         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
11996         * modules/vasprintf-posix-tests (configure.ac): Likewise.
11997         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
11998         * modules/vsprintf-posix-tests (configure.ac): Likewise.
11999         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
12000         tests on platforms where 'long double' is the same as 'double'.
12001         * tests/test-sprintf-posix.h (test_function): Likewise.
12002         * tests/test-vasnprintf-posix.c (test_function): Likewise.
12003         * tests/test-vasprintf-posix.c (test_function): Likewise.
12004
12005         *printf: Fix for platforms where 'long double' == 'double'.
12006         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
12007         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
12008         * modules/dprintf-posix (Files): Add m4/math_h.m4.
12009         * modules/fprintf-posix (Files): Likewise.
12010         * modules/obstack-printf-posix (Files): Likewise.
12011         * modules/snprintf-posix (Files): Likewise.
12012         * modules/sprintf-posix (Files): Likewise.
12013         * modules/vasnprintf (Files): Likewise.
12014         * modules/vasnprintf-posix (Files): Likewise.
12015         * modules/vasprintf-posix (Files): Likewise.
12016         * modules/vdprintf-posix (Files): Likewise.
12017         * modules/vfprintf-posix (Files): Likewise.
12018         * modules/vsnprintf-posix (Files): Likewise.
12019         * modules/vsprintf-posix (Files): Likewise.
12020         * modules/unistdio/u8-vasnprintf (Files): Likewise.
12021         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
12022         * modules/unistdio/u16-vasnprintf (Files): Likewise.
12023         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
12024         * modules/unistdio/u32-vasnprintf (Files): Likewise.
12025         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
12026         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
12027
12028         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
12029         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
12030         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12031         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
12032         'long double'.
12033         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
12034
12035         isinf: Fix for platforms where 'long double' == 'double'.
12036         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
12037         Don't blindly assume 80-bit 'long double'.
12038
12039         isfinite: Fix for platforms where 'long double' == 'double'.
12040         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
12041         Don't blindly assume 80-bit 'long double'.
12042
12043         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
12044         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
12045         * modules/isfinite-tests (configure.ac): Require
12046         gl_LONG_DOUBLE_VS_DOUBLE.
12047         * modules/isinf-tests (configure.ac): Likewise.
12048         * modules/isnan-tests (configure.ac): Likewise.
12049         * modules/isnanl-tests (configure.ac): Likewise.
12050         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
12051         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
12052         tests on platforms where 'long double' is the same as 'double'.
12053         * tests/test-isinf.c (test_isinfl): Likewise.
12054         * tests/test-isnan.c (test_long_double): Likewise.
12055         * tests/test-isnanl.h (main): Likewise.
12056
12057 2011-10-08  Bruno Haible  <bruno@clisp.org>
12058
12059         Tests for module 'tanhf'.
12060         * modules/tanhf-tests: New file.
12061         * tests/test-tanhf.c: New file.
12062
12063         New module 'tanhf'.
12064         * lib/math.in.h (tanhf): New declaration.
12065         * lib/tanhf.c: New file.
12066         * m4/tanhf.m4: New file.
12067         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
12068         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
12069         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
12070         * modules/tanhf: New file.
12071         * tests/test-math-c++.cc: Check the declaration of tanhf.
12072         * doc/posix-functions/tanhf.texi: Mention the new module.
12073
12074         tanh: Use a .m4 file.
12075         * m4/tanh.m4: New file.
12076         * modules/tanh (Files): Add it.
12077         (configure.ac): Just invoke gl_FUNC_TANH.
12078
12079 2011-10-08  Bruno Haible  <bruno@clisp.org>
12080
12081         Tests for module 'coshf'.
12082         * modules/coshf-tests: New file.
12083         * tests/test-coshf.c: New file.
12084
12085         New module 'coshf'.
12086         * lib/math.in.h (coshf): New declaration.
12087         * lib/coshf.c: New file.
12088         * m4/coshf.m4: New file.
12089         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
12090         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
12091         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
12092         * modules/coshf: New file.
12093         * tests/test-math-c++.cc: Check the declaration of coshf.
12094         * doc/posix-functions/coshf.texi: Mention the new module.
12095
12096         cosh: Use a .m4 file.
12097         * m4/cosh.m4: New file.
12098         * modules/cosh (Files): Add it.
12099         (configure.ac): Just invoke gl_FUNC_COSH.
12100
12101 2011-10-08  Bruno Haible  <bruno@clisp.org>
12102
12103         Tests for module 'sinhf'.
12104         * modules/sinhf-tests: New file.
12105         * tests/test-sinhf.c: New file.
12106
12107         New module 'sinhf'.
12108         * lib/math.in.h (sinhf): New declaration.
12109         * lib/sinhf.c: New file.
12110         * m4/sinhf.m4: New file.
12111         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
12112         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
12113         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
12114         * modules/sinhf: New file.
12115         * tests/test-math-c++.cc: Check the declaration of sinhf.
12116         * doc/posix-functions/sinhf.texi: Mention the new module.
12117
12118         sinh: Use a .m4 file.
12119         * m4/sinh.m4: New file.
12120         * modules/sinh (Files): Add it.
12121         (configure.ac): Just invoke gl_FUNC_SINH.
12122
12123 2011-10-08  Bruno Haible  <bruno@clisp.org>
12124
12125         Tests for module 'atan2f'.
12126         * modules/atan2f-tests: New file.
12127         * tests/test-atan2f.c: New file.
12128
12129         New module 'atan2f'.
12130         * lib/math.in.h (atan2f): New declaration.
12131         * lib/atan2f.c: New file.
12132         * m4/atan2f.m4: New file.
12133         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
12134         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
12135         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
12136         * modules/atan2f: New file.
12137         * tests/test-math-c++.cc: Check the declaration of atan2f.
12138         * doc/posix-functions/atan2f.texi: Mention the new module.
12139
12140         atan2: Use a .m4 file.
12141         * m4/atan2.m4: New file.
12142         * modules/atan2 (Files): Add it.
12143         (configure.ac): Just invoke gl_FUNC_ATAN2.
12144
12145 2011-10-08  Bruno Haible  <bruno@clisp.org>
12146
12147         Tests for module 'atanf'.
12148         * modules/atanf-tests: New file.
12149         * tests/test-atanf.c: New file.
12150
12151         New module 'atanf'.
12152         * lib/math.in.h (atanf): New declaration.
12153         * lib/atanf.c: New file.
12154         * m4/atanf.m4: New file.
12155         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
12156         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
12157         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
12158         * modules/atanf: New file.
12159         * tests/test-math-c++.cc: Check the declaration of atanf.
12160         * doc/posix-functions/atanf.texi: Mention the new module.
12161
12162         atan: Use a .m4 file.
12163         * m4/atan.m4: New file.
12164         * modules/atan (Files): Add it.
12165         (configure.ac): Just invoke gl_FUNC_ATAN.
12166
12167 2011-10-08  Bruno Haible  <bruno@clisp.org>
12168
12169         Tests for module 'acosf'.
12170         * modules/acosf-tests: New file.
12171         * tests/test-acosf.c: New file.
12172
12173         New module 'acosf'.
12174         * lib/math.in.h (acosf): New declaration.
12175         * lib/acosf.c: New file.
12176         * m4/acosf.m4: New file.
12177         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
12178         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
12179         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
12180         * modules/acosf: New file.
12181         * tests/test-math-c++.cc: Check the declaration of acosf.
12182         * doc/posix-functions/acosf.texi: Mention the new module.
12183
12184         acos: Use a .m4 file.
12185         * m4/acos.m4: New file.
12186         * modules/acos (Files): Add it.
12187         (configure.ac): Just invoke gl_FUNC_ACOS.
12188
12189 2011-10-08  Bruno Haible  <bruno@clisp.org>
12190
12191         Tests for module 'asinf'.
12192         * modules/asinf-tests: New file.
12193         * tests/test-asinf.c: New file.
12194
12195         New module 'asinf'.
12196         * lib/math.in.h (asinf): New declaration.
12197         * lib/asinf.c: New file.
12198         * m4/asinf.m4: New file.
12199         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
12200         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
12201         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
12202         * modules/asinf: New file.
12203         * tests/test-math-c++.cc: Check the declaration of asinf.
12204         * doc/posix-functions/asinf.texi: Mention the new module.
12205
12206         asin: Use a .m4 file.
12207         * m4/asin.m4: New file.
12208         * modules/asin (Files): Add it.
12209         (configure.ac): Just invoke gl_FUNC_ASIN.
12210
12211 2011-10-08  Bruno Haible  <bruno@clisp.org>
12212
12213         Tests for module 'tanf'.
12214         * modules/tanf-tests: New file.
12215         * tests/test-tanf.c: New file.
12216
12217         New module 'tanf'.
12218         * lib/math.in.h (tanf): New declaration.
12219         * lib/tanf.c: New file.
12220         * m4/tanf.m4: New file.
12221         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
12222         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
12223         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
12224         * modules/tanf: New file.
12225         * tests/test-math-c++.cc: Check the declaration of tanf.
12226         * doc/posix-functions/tanf.texi: Mention the new module.
12227
12228         tan: Use a .m4 file.
12229         * m4/tan.m4: New file.
12230         * modules/tan (Files): Add it.
12231         (configure.ac): Just invoke gl_FUNC_TAN.
12232
12233 2011-10-08  Bruno Haible  <bruno@clisp.org>
12234
12235         Tests for module 'cosf'.
12236         * modules/cosf-tests: New file.
12237         * tests/test-cosf.c: New file.
12238
12239         New module 'cosf'.
12240         * lib/math.in.h (cosf): New declaration.
12241         * lib/cosf.c: New file.
12242         * m4/cosf.m4: New file.
12243         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
12244         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
12245         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
12246         * modules/cosf: New file.
12247         * tests/test-math-c++.cc: Check the declaration of cosf.
12248         * doc/posix-functions/cosf.texi: Mention the new module.
12249
12250         cos: Use a .m4 file.
12251         * m4/cos.m4: New file.
12252         * modules/cos (Files): Add it.
12253         (configure.ac): Just invoke gl_FUNC_COS.
12254
12255 2011-10-08  Bruno Haible  <bruno@clisp.org>
12256
12257         Tests for module 'sinf'.
12258         * modules/sinf-tests: New file.
12259         * tests/test-sinf.c: New file.
12260
12261         New module 'sinf'.
12262         * lib/math.in.h (sinf): New declaration.
12263         * lib/sinf.c: New file.
12264         * m4/sinf.m4: New file.
12265         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
12266         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
12267         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
12268         * modules/sinf: New file.
12269         * tests/test-math-c++.cc: Check the declaration of sinf.
12270         * doc/posix-functions/sinf.texi: Mention the new module.
12271
12272         sin: Use a .m4 file.
12273         * m4/sin.m4: New file.
12274         * modules/sin (Files): Add it.
12275         (configure.ac): Just invoke gl_FUNC_SIN.
12276
12277 2011-10-08  Bruno Haible  <bruno@clisp.org>
12278
12279         Tests for module 'powf'.
12280         * modules/powf-tests: New file.
12281         * tests/test-powf.c: New file.
12282
12283         New module 'powf'.
12284         * lib/math.in.h (powf): New declaration.
12285         * lib/powf.c: New file.
12286         * m4/powf.m4: New file.
12287         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
12288         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
12289         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
12290         * modules/powf: New file.
12291         * tests/test-math-c++.cc: Check the declaration of powf.
12292         * doc/posix-functions/powf.texi: Mention the new module.
12293
12294         pow: Use a .m4 file.
12295         * m4/pow.m4: New file.
12296         * modules/pow (Files): Add it.
12297         (configure.ac): Just invoke gl_FUNC_POW.
12298
12299 2011-10-08  Bruno Haible  <bruno@clisp.org>
12300
12301         Tests for module 'log10f'.
12302         * modules/log10f-tests: New file.
12303         * tests/test-log10f.c: New file.
12304
12305         New module 'log10f'.
12306         * lib/math.in.h (log10f): New declaration.
12307         * lib/log10f.c: New file.
12308         * m4/log10f.m4: New file.
12309         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
12310         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
12311         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
12312         * modules/log10f: New file.
12313         * tests/test-math-c++.cc: Check the declaration of log10f.
12314         * doc/posix-functions/log10f.texi: Mention the new module.
12315
12316         log10: Use a .m4 file.
12317         * m4/log10.m4: New file.
12318         * modules/log10 (Files): Add it.
12319         (configure.ac): Just invoke gl_FUNC_LOG10.
12320
12321 2011-10-08  Bruno Haible  <bruno@clisp.org>
12322
12323         Tests for module 'logf'.
12324         * modules/logf-tests: New file.
12325         * tests/test-logf.c: New file.
12326
12327         New module 'logf'.
12328         * lib/math.in.h (logf): New declaration.
12329         * lib/logf.c: New file.
12330         * m4/logf.m4: New file.
12331         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
12332         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
12333         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
12334         * modules/logf: New file.
12335         * tests/test-math-c++.cc: Check the declaration of logf.
12336         * doc/posix-functions/logf.texi: Mention the new module.
12337
12338         log: Use a .m4 file.
12339         * m4/log.m4: New file.
12340         * modules/log (Files): Add it.
12341         (configure.ac): Just invoke gl_FUNC_LOG.
12342
12343 2011-10-08  Bruno Haible  <bruno@clisp.org>
12344
12345         Tests for module 'expf'.
12346         * modules/expf-tests: New file.
12347         * tests/test-expf.c: New file.
12348
12349         New module 'expf'.
12350         * lib/math.in.h (expf): New declaration.
12351         * lib/expf.c: New file.
12352         * m4/expf.m4: New file.
12353         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
12354         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
12355         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
12356         * modules/expf: New file.
12357         * tests/test-math-c++.cc: Check the declaration of expf.
12358         * doc/posix-functions/expf.texi: Mention the new module.
12359
12360         exp: Use a .m4 file.
12361         * m4/exp.m4: New file.
12362         * modules/exp (Files): Add it.
12363         (configure.ac): Just invoke gl_FUNC_EXP.
12364
12365 2011-10-08  Bruno Haible  <bruno@clisp.org>
12366
12367         Tests for module 'sqrtf'.
12368         * modules/sqrtf-tests: New file.
12369         * tests/test-sqrtf.c: New file.
12370
12371         New module 'sqrtf'.
12372         * lib/math.in.h (sqrtf): New declaration.
12373         * lib/sqrtf.c: New file.
12374         * m4/sqrtf.m4: New file.
12375         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
12376         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
12377         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
12378         * modules/sqrtf: New file.
12379         * tests/test-math-c++.cc: Check the declaration of sqrtf.
12380         * doc/posix-functions/sqrtf.texi: Mention the new module.
12381
12382 2011-10-08  Bruno Haible  <bruno@clisp.org>
12383
12384         Tests: Avoid link failures w.r.t. libintl.
12385         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
12386         $(LIBINTL).
12387         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
12388         $(LIBINTL).
12389         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
12390         against $(LIBINTL).
12391         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
12392         $(LIBINTL).
12393         * modules/openat-tests (Makefile.am): Link test-fchmodat against
12394         $(LIBINTL).
12395         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
12396
12397 2011-10-08  Bruno Haible  <bruno@clisp.org>
12398
12399         pow tests: Defeat compiler optimizations.
12400         * tests/test-pow.c (main): Assign arguments to x and y before use.
12401
12402 2011-10-08  Bruno Haible  <bruno@clisp.org>
12403
12404         gnulib-tool: Improve last commit.
12405         * gnulib-tool (func_modules_transitive_closure): Simplify code.
12406         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
12407         ignore dependencies that are not among the modules list.
12408
12409 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
12410
12411         gnulib-tool: don't follow dependencies to avoided modules
12412         This fixes a bug that is related to the previous one.
12413         * gnulib-tool (func_modules_transitive_closure)
12414         (func_emit_autoconf_snippets):
12415         Check whether a dependency is acceptable before using it.
12416         (--extract-dependencies): Report an error if --avoid is also used,
12417         since this combination of options is not yet supported.
12418
12419         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
12420         Problem reported by Peter Dyballa in
12421         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
12422         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
12423         when echoing "$condition".
12424
12425 2011-10-07  Bruno Haible  <bruno@clisp.org>
12426
12427         Fix documentation about math functions on MacOS X.
12428         * doc/posix-functions/exp2.texi: Don't say the function is missing on
12429         MacOS X 10.5.
12430         * doc/posix-functions/fdim.texi: Likewise.
12431         * doc/posix-functions/feclearexcept.texi: Likewise.
12432         * doc/posix-functions/fegetenv.texi: Likewise.
12433         * doc/posix-functions/fegetround.texi: Likewise.
12434         * doc/posix-functions/feholdexcept.texi: Likewise.
12435         * doc/posix-functions/feraiseexcept.texi: Likewise.
12436         * doc/posix-functions/fesetenv.texi: Likewise.
12437         * doc/posix-functions/fesetround.texi: Likewise.
12438         * doc/posix-functions/fetestexcept.texi: Likewise.
12439         * doc/posix-functions/feupdateenv.texi: Likewise.
12440         * doc/posix-functions/fmax.texi: Likewise.
12441         * doc/posix-functions/fmin.texi: Likewise.
12442         * doc/posix-functions/log2.texi: Likewise.
12443         * doc/posix-functions/modff.texi: Likewise.
12444         * doc/posix-functions/nan.texi: Likewise.
12445         * doc/posix-functions/nanf.texi: Likewise.
12446         * doc/posix-functions/nextafterf.texi: Likewise.
12447         * doc/posix-functions/remquo.texi: Likewise.
12448
12449 2011-10-07  Bruno Haible  <bruno@clisp.org>
12450
12451         modff: Drop assumption about library that defines modff.
12452         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
12453         AC_CHECK_FUNCS.
12454         * modules/modff (Files): Add m4/mathfunc.m4.
12455
12456 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
12457
12458         raise tests: Avoid a GCC warning.
12459         * tests/test-raise.c (handler): Use _Noreturn.
12460
12461 2011-10-07  Bruno Haible  <bruno@clisp.org>
12462
12463         Tests for module 'ldexpf'.
12464         * modules/ldexpf-tests: New file.
12465         * tests/test-ldexpf.c: New file.
12466
12467         New module 'ldexpf'.
12468         * lib/math.in.h (ldexpf): New declaration.
12469         * lib/ldexpf.c: New file.
12470         * m4/ldexpf.m4: New file.
12471         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
12472         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
12473         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
12474         * modules/ldexpf: New file.
12475         * tests/test-math-c++.cc: Check the declaration of ldexpf.
12476         * doc/posix-functions/ldexpf.texi: Mention the new module.
12477
12478 2011-10-06  Bruno Haible  <bruno@clisp.org>
12479
12480         frexpf: Work around problems on IRIX and mingw.
12481         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
12482         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
12483         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
12484         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
12485         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
12486         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
12487         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
12488
12489 2011-10-06  Bruno Haible  <bruno@clisp.org>
12490
12491         fabsf: Drop assumption about library that defines fabsf.
12492         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
12493         AC_CHECK_FUNCS.
12494         * modules/fabsf (Files): Add m4/mathfunc.m4.
12495
12496 2011-10-06  Bruno Haible  <bruno@clisp.org>
12497
12498         frexpf: Drop assumption about library that defines frexpf.
12499         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
12500         'int *', 'float *', 'long double *', 'float', 'long double'.
12501         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
12502         AC_CHECK_FUNCS.
12503         * modules/frexpf (Files): Add m4/mathfunc.m4.
12504
12505         Tests for module 'frexpf'.
12506         * modules/frexpf-tests: New file.
12507         * tests/test-frexpf.c: New file.
12508
12509         New module 'frexpf'.
12510         * lib/math.in.h (frexpf): New declaration.
12511         * lib/frexpf.c: New file.
12512         * m4/frexpf.m4: New file.
12513         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
12514         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
12515         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
12516         * modules/frexpf: New file.
12517         * tests/test-math-c++.cc: Check the declaration of frexpf.
12518         * doc/posix-functions/frexpf.texi: Mention the new module.
12519
12520 2011-10-06  Bruno Haible  <bruno@clisp.org>
12521
12522         math: Sort function declarations of math.in.h.
12523         * lib/math.in.h (frexp, logb): Move declarations.
12524
12525 2011-10-05  Bruno Haible  <bruno@clisp.org>
12526
12527         Tests for module 'modff'.
12528         * modules/modff-tests: New file.
12529         * tests/test-modff.c: New file.
12530
12531         New module 'modff'.
12532         * lib/math.in.h (modff): New declaration.
12533         * lib/modff.c: New file.
12534         * m4/modff.m4: New file.
12535         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
12536         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
12537         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
12538         * modules/modff: New file.
12539         * tests/test-math-c++.cc: Check the declaration of modff.
12540         * doc/posix-functions/modff.texi: Mention the new module.
12541
12542         modf tests: Make test sharper.
12543         * tests/test-modf.c (main): Strengthen upper bound.
12544
12545         modf: Use a .m4 file.
12546         * m4/modf.m4: New file.
12547         * modules/modf (Files): Add it.
12548         (configure.ac): Just invoke gl_FUNC_MODF.
12549
12550 2011-10-05  Bruno Haible  <bruno@clisp.org>
12551
12552         Tests for module 'fmodf'.
12553         * modules/fmodf-tests: New file.
12554         * tests/test-fmodf.c: New file.
12555
12556         New module 'fmodf'.
12557         * lib/math.in.h (fmodf): New declaration.
12558         * lib/fmodf.c: New file.
12559         * m4/fmodf.m4: New file.
12560         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
12561         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
12562         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
12563         * modules/fmodf: New file.
12564         * tests/test-math-c++.cc: Check the declaration of fmodf.
12565         * doc/posix-functions/fmodf.texi: Mention the new module.
12566
12567         fmod: Use a .m4 file.
12568         * m4/fmod.m4: New file.
12569         * modules/fmod (Files): Add it.
12570         (configure.ac): Just invoke gl_FUNC_FMOD.
12571
12572 2011-10-05  Bruno Haible  <bruno@clisp.org>
12573
12574         Tests for module 'fabsf'.
12575         * modules/fabsf-tests: New file.
12576         * tests/test-fabsf.c: New file.
12577
12578         New module 'fabsf'.
12579         * lib/math.in.h (fabsf): New declaration.
12580         * lib/fabsf.c: New file.
12581         * m4/fabsf.m4: New file.
12582         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
12583         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
12584         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
12585         * modules/fabsf: New file.
12586         * tests/test-math-c++.cc: Check the declaration of fabsf.
12587         * doc/posix-functions/fabsf.texi: Mention the new module.
12588
12589         fabs: Use a .m4 file.
12590         * m4/fabs.m4: New file.
12591         * modules/fabs (Files): Add it.
12592         (configure.ac): Just invoke gl_FUNC_FABS.
12593
12594 2011-10-05  Jim Meyering  <meyering@redhat.com>
12595
12596         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
12597         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
12598         ls -lL regression introduced in coreutils-8.12, it does so at the
12599         cost of an additional stat call in the common case.  Besides, now
12600         that the kernel change that prompted commit 95f7c57f has been reverted
12601         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
12602         we have no use for commit 95f7c57f, "file-has-acl: use
12603         acl_extended_file_nofollow if available".
12604
12605 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
12606
12607         file-has-acl: revert unintended change in behavior of ls -L
12608         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
12609         derived from...
12610         (file_has_acl): ...code here.  Call it.
12611         This problem was introduced with 2011-07-22 commit 95f7c57f,
12612         "file-has-acl: use acl_extended_file_nofollow if available".
12613         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
12614
12615 2011-10-03  Bruno Haible  <bruno@clisp.org>
12616
12617         poll: Avoid link errors on MSVC.
12618         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
12619         * modules/poll (Depends-on): Add sockets.
12620         (Link): New section.
12621         * NEWS: Mention the change.
12622         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
12623         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
12624         $(LIB_POLL) instead of $(LIBSOCKET).
12625
12626 2011-10-03  Bruno Haible  <bruno@clisp.org>
12627
12628         sys_select tests: Fix link error on MSVC 9.
12629         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
12630         with $(LIB_SELECT) instead of $(LIBSOCKET).
12631
12632 2011-10-03  Bruno Haible  <bruno@clisp.org>
12633
12634         sys_select: Fix compilation error on mingw.
12635         * lib/sys_select.in.h: On native Windows, include <io.h>.
12636
12637 2011-10-03  Bruno Haible  <bruno@clisp.org>
12638
12639         wmemset: Support for MSVC.
12640         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
12641         whether wmemset() exists.
12642
12643 2011-10-03  Bruno Haible  <bruno@clisp.org>
12644
12645         wmemmove: Support for MSVC.
12646         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
12647         whether wmemmove() exists.
12648
12649 2011-10-03  Bruno Haible  <bruno@clisp.org>
12650
12651         wmemcpy: Support for MSVC.
12652         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
12653         whether wmemcpy() exists.
12654
12655 2011-10-03  Bruno Haible  <bruno@clisp.org>
12656
12657         wmemcmp: Support for MSVC.
12658         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
12659         whether wmemcmp() exists.
12660
12661 2011-10-03  Bruno Haible  <bruno@clisp.org>
12662
12663         wmemchr: Support for MSVC.
12664         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
12665         whether wmemchr() exists.
12666
12667 2011-10-03  Bruno Haible  <bruno@clisp.org>
12668
12669         glthread/*, strsignal: Support for MSVC.
12670         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
12671         including <winsock.h> on MSVC 9.
12672         * lib/glthread/lock.h: Likewise.
12673         * lib/glthread/thread.h: Likewise.
12674         * lib/glthread/tls.h: Likewise.
12675         * lib/glthread/yield.h: Likewise.
12676         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
12677         if HAVE_UNISTD_H is false.
12678         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
12679
12680 2011-10-03  Bruno Haible  <bruno@clisp.org>
12681
12682         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
12683         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
12684         Set to 100000.
12685
12686 2011-10-03  Bruno Haible  <bruno@clisp.org>
12687
12688         acl: Fix specification.
12689         * lib/file-has-acl.c (file_has_acl): Fix specification.
12690
12691 2011-10-03  Bruno Haible  <bruno@clisp.org>
12692
12693         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
12694         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
12695         (compute_curr_prefix, shared_library_fullname,
12696         find_shared_library_fullname, get_shared_library_fullname, relocate):
12697         Use it together with PIC && INSTALLDIR.
12698         Reported by <jojelino@gmail.com>
12699         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
12700
12701 2011-10-01  Jim Meyering  <meyering@redhat.com>
12702
12703         maint.mk: adjust a release-related rule not to require use of gzip
12704         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
12705         Instead, check each file in $(DIST_ARCHIVES).  This is better for
12706         projects that build only .tar.xz files.  Also fix an erroneous test.
12707
12708         test-linkat: don't leave behind a temporary file
12709         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
12710         Otherwise, coreutils' "make distcheck" would fail with this:
12711           Only in /c/cu/tests/torture/coreutils/test/\
12712             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
12713           make[2]: *** [my-distcheck] Error 1
12714
12715         float, math: add omitted file
12716         * lib/itold.c: Add file, required for yesterday's float change.
12717
12718 2011-10-01  Bruno Haible  <bruno@clisp.org>
12719
12720         isinf: Fix for OpenBSD/x86.
12721         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
12722         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
12723         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
12724
12725 2011-10-01  Bruno Haible  <bruno@clisp.org>
12726
12727         isfinite: Fix syntax error in configure test.
12728         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
12729
12730         isfinite: Fix typo.
12731         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
12732         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
12733
12734 2011-10-01  Bruno Haible  <bruno@clisp.org>
12735
12736         nonblocking tests: Fix test failure on Linux/IA-64.
12737         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
12738         Set to 270000.
12739
12740 2011-10-01  Bruno Haible  <bruno@clisp.org>
12741
12742         mkfifoat tests: Fix a test failure on mingw.
12743         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
12744         with error ENOSYS.
12745
12746 2011-09-30  Bruno Haible  <bruno@clisp.org>
12747
12748         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
12749         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
12750         'long double'. Set REPLACE_ITOLD.
12751         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
12752         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
12753         * lib/itold.c: New file.
12754         * modules/float (Files): Add lib/itold.c.
12755         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
12756         (Makefile.am): Substitute REPLACE_ITOLD.
12757         * modules/math (Depends-on): Add float.
12758         (Makefile.am): Substitute REPLACE_ITOLD.
12759         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
12760         * doc/posix-headers/math.texi: Likewise.
12761         * doc/posix-functions/logl.texi: Likewise.
12762
12763 2011-09-30  Bruno Haible  <bruno@clisp.org>
12764
12765         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
12766         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
12767         Set to 140000.
12768
12769 2011-09-30  Bruno Haible  <bruno@clisp.org>
12770
12771         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
12772         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
12773         invocation, say "right after AC_PROG_CC_STDC", not "right after
12774         AC_PROG_CC".
12775         Reported by Gary V. Vaughan <gary@gnu.org>.
12776
12777 2011-09-30  Bruno Haible  <bruno@clisp.org>
12778
12779         Centralize C99 requirement.
12780         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
12781         * modules/stdarg (configure.ac-early): Invoke it instead of
12782         AC_PROG_CC_STDC.
12783         Reported by Gary V. Vaughan and Paul Eggert.
12784
12785 2011-09-29  Bruno Haible  <bruno@clisp.org>
12786
12787         float: Fix LDBL_MAX value on Linux/PowerPC.
12788         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
12789         on Linux/PowerPC.
12790         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
12791         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
12792         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
12793         platform.
12794         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
12795
12796 2011-09-29  Bruno Haible  <bruno@clisp.org>
12797
12798         doc: Improve doc about gl_EARLY.
12799         * doc/gnulib-tool.texi (Initial import): Mention where to place an
12800         AC_PROG_CC_STDC invocation.
12801         Reported by Gary V. Vaughan <gary@gnu.org>.
12802
12803 2011-09-28  Bruno Haible  <bruno@clisp.org>
12804
12805         fgetc, fputc, fread, fwrite tests: Fix link error.
12806         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
12807         on non-MSVC platforms.
12808         * tests/test-fputc.c (main): Likewise.
12809         * tests/test-fread.c (main): Likewise.
12810         * tests/test-fwrite.c (main): Likewise.
12811         Reported by Jim Meyering.
12812
12813 2011-09-27  Bruno Haible  <bruno@clisp.org>
12814
12815         fputc, fwrite tests: Avoid test failure on MSVC.
12816         * tests/test-fgetc.c: Include msvc-inval.h.
12817         (main): Invoke gl_msvc_inval_ensure_handler.
12818         * tests/test-fputc.c: Include msvc-inval.h.
12819         (main): Invoke gl_msvc_inval_ensure_handler.
12820         * tests/test-fread.c: Include msvc-inval.h.
12821         (main): Invoke gl_msvc_inval_ensure_handler.
12822         * tests/test-fwrite.c: Include msvc-inval.h.
12823         (main): Invoke gl_msvc_inval_ensure_handler.
12824         * modules/fgetc-tests (Depends-on): Add msvc-inval.
12825         * modules/fputc-tests (Depends-on): Likewise.
12826         * modules/fread-tests (Depends-on): Likewise.
12827         * modules/fwrite-tests (Depends-on): Likewise.
12828
12829 2011-09-27  Bruno Haible  <bruno@clisp.org>
12830
12831         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
12832         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
12833         (raise): Remove older, duplicated declaration.
12834         (_gl_raise_SIGPIPE): New declaration.
12835         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
12836         (rpl_raise): Remove function.
12837         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
12838         a gnulib-defined SIGPIPE here.
12839         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
12840         'sigprocmask' has detected missing signal-blocking and the module
12841         'sigpipe' is enabled.
12842         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12843
12844 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
12845
12846         base64-tests: avoid memory leak
12847         * tests/test-base64.c (main): Plug memory leak.
12848
12849         base32: new module
12850         * modules/base32: New module.
12851         * lib/base32.c: New file.
12852         * lib/base32.h: Likewise.
12853         * m4/base32.m4: Likewise.
12854         * modules/base32-tests: New test.
12855         * tests/test-base32.c: Likewise.
12856         * MODULES.html.sh (Misc): Mention it.
12857
12858 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12859
12860         gnulib: use more-standard license notice wording
12861         * gnulib-tool (func_emit_copyright_notice): When emitting a
12862         license notice into a file, use the standard wording as suggested
12863         by the current information for GNU maintainers, except say "file"
12864         rather than "program".  The new wording gives a license version
12865         number, which addresses an issue raised by Glenn Morris in
12866         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
12867         * m4/onceonly.m4: Use that same wording here, too.
12868
12869         dup2: minor simplification
12870         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
12871         as lib/dup2.c no longer uses 'inline'.
12872
12873 2011-09-25  Bruno Haible  <bruno@clisp.org>
12874
12875         strings: Fix compilation error on MSVC.
12876         * lib/strings.in.h: Include <stddef.h> for size_t.
12877
12878 2011-09-25  Bruno Haible  <bruno@clisp.org>
12879
12880         fflush et al.: Document limitation on MSVC.
12881         * doc/posix-functions/fflush.texi: Document possible crash in handling
12882         mode other than DEFAULT_HANDLING.
12883         * doc/posix-functions/fgetc.texi: Likewise.
12884         * doc/posix-functions/fputc.texi: Likewise.
12885         * doc/posix-functions/fread.texi: Likewise.
12886         * doc/posix-functions/fwrite.texi: Likewise.
12887
12888 2011-09-25  Bruno Haible  <bruno@clisp.org>
12889
12890         msvc-inval: Allow three invalid parameter handling modes.
12891         * lib/msvc-inval.h: Don't include <stdlib.h> here.
12892         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
12893         macros.
12894         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
12895         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
12896         SANE_LIBRARY_HANDLING as a no-op.
12897         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
12898         <stdlib.h>.
12899         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
12900
12901 2011-09-25  Bruno Haible  <bruno@clisp.org>
12902
12903         msvc-inval: Make handler multithread-safe.
12904         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
12905         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
12906         declarations.
12907         (gl_msvc_inval_current): New declaration.
12908         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12909         Operate on the structure returned by gl_msvc_inval_current().
12910         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
12911         Remove varaiables.
12912         (tls_index, tls_initialized): New variables.
12913         (not_per_thread): New variable.
12914         (gl_msvc_inval_current): New function.
12915         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
12916         returned by gl_msvc_inval_current().
12917
12918 2011-09-25  Bruno Haible  <bruno@clisp.org>
12919
12920         msvc-inval: Install handler globally.
12921         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
12922         !_MSC_VER.
12923         (gl_msvc_invalid_parameter_handler): Remove declaration.
12924         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
12925         declarations.
12926         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12927         Install the handler globally, don't uninstall it.
12928         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
12929         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
12930         currently valid, call RaiseException instead.
12931         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
12932         for !_MSC_VER.
12933
12934 2011-09-25  Bruno Haible  <bruno@clisp.org>
12935
12936         strerror_r-posix: Fix for MSVC 9.
12937         * lib/strerror_r.c (local_snprintf): New function.
12938         (snprintf): Define to local_snprintf, not to _snprintf.
12939
12940 2011-09-25  Bruno Haible  <bruno@clisp.org>
12941
12942         ftruncate: Support for MSVC 9.
12943         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
12944         (chsize_nothrow): New function.
12945         (chsize): Redefine as a macro.
12946         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
12947         * modules/ftruncate (Depends-on): Add msvc-inval.
12948
12949 2011-09-25  Bruno Haible  <bruno@clisp.org>
12950
12951         New module 'fstat'.
12952         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
12953         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
12954         * lib/fchdir.c (rpl_fstat): Remove function.
12955         * m4/fstat.m4: New file.
12956         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
12957         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
12958         declared.
12959         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
12960         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
12961         * modules/fstat: New file.
12962         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
12963         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
12964         is set.
12965         * doc/posix-functions/fstat.texi: Mention the new module and the
12966         problem on MSVC.
12967         * NEWS: Mention the change.
12968         * modules/acl (Depends-on): Add fstat.
12969         * modules/chdir-safer (Depends-on): Likewise.
12970         * modules/chown (Depends-on): Likewise.
12971         * modules/copy-file (Depends-on): Likewise.
12972         * modules/fchdir (Depends-on): Likewise.
12973         * modules/fdopendir (Depends-on): Likewise.
12974         * modules/fopen (Depends-on): Likewise.
12975         * modules/fts (Depends-on): Likewise.
12976         * modules/getcwd (Depends-on): Likewise.
12977         * modules/isapipe (Depends-on): Likewise.
12978         * modules/linkat (Depends-on): Likewise.
12979         * modules/lseek (Depends-on): Likewise.
12980         * modules/mkdir-p (Depends-on): Likewise.
12981         * modules/open (Depends-on): Likewise.
12982         * modules/openat (Depends-on): Likewise.
12983         * modules/read-file (Depends-on): Likewise.
12984         * modules/renameat (Depends-on): Likewise.
12985         * modules/utimens (Depends-on): Likewise.
12986
12987 2011-09-25  Bruno Haible  <bruno@clisp.org>
12988
12989         linkat: Fix compilation on MSVC 9.
12990         * lib/linkat.c: Don't include <stdint.h>.
12991
12992 2011-09-25  Bruno Haible  <bruno@clisp.org>
12993
12994         fclose: Support for MSVC 9.
12995         * lib/fclose.c: Include msvc-inval.h.
12996         (fclose_nothrow): New function.
12997         (rpl_fclose): Use it.
12998         * modules/fclose (Depends-on): Add msvc-inval.
12999         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
13000
13001 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
13002
13003         dup2: minor simplifications
13004         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
13005         that it's a performance win.
13006         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
13007         ! defined __CYGWIN__)" to "ifdef F_GETFL".
13008
13009 2011-09-24  Jim Meyering  <meyering@redhat.com>
13010
13011         test-futimens: avoid a warning from gcc -Wshadow
13012         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
13013         to avoid a shadowing warning.
13014
13015 2011-09-24  Bruno Haible  <bruno@clisp.org>
13016
13017         fdopen: Support for MSVC 9.
13018         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
13019         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
13020         * lib/fdopen.c: Include msvc-inval.h.
13021         (fdopen_nothrow): New function.
13022         (rpl_fdopen): Use it.
13023         * modules/fdopen (Depends-on): Add msvc-inval.
13024         * modules/fclose-tests (Depends-on): Add fdopen.
13025         * modules/fflush-tests (Depends-on): Likewise.
13026         * modules/fgetc-tests (Depends-on): Likewise.
13027         * modules/fputc-tests (Depends-on): Likewise.
13028         * modules/fread-tests (Depends-on): Likewise.
13029         * modules/freopen-tests (Depends-on): Likewise.
13030         * modules/fseeko-tests (Depends-on): Likewise.
13031         * modules/ftello-tests (Depends-on): Likewise.
13032         * modules/fwrite-tests  (Depends-on): Likewise.
13033         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
13034
13035 2011-09-24  Bruno Haible  <bruno@clisp.org>
13036
13037         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
13038         * modules/fgetc-tests (Depends-on): Add unistd.
13039         * modules/fputc-tests (Depends-on): Likewise.
13040         * modules/fread-tests (Depends-on): Likewise.
13041         * modules/fwrite-tests (Depends-on): Likewise.
13042
13043 2011-09-24  Bruno Haible  <bruno@clisp.org>
13044
13045         dup: Simplify autoconf test.
13046         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
13047         on gl_MSVC_INVAL's result.
13048
13049 2011-09-24  Bruno Haible  <bruno@clisp.org>
13050
13051         Tests for function fwrite().
13052         * modules/fwrite-tests: New file.
13053         * tests/test-fwrite.c: New file.
13054         * modules/stdio-tests (Depends-on): Add fwrite-tests.
13055
13056         Tests for function fread().
13057         * modules/fread-tests: New file.
13058         * tests/test-fread.c: New file.
13059         * modules/stdio-tests (Depends-on): Add fread-tests.
13060
13061         Activate fputc tests.
13062         * modules/stdio-tests (Depends-on): Add fputc-tests.
13063
13064         Enhance fgetc, fputc tests.
13065         * tests/test-fgetc.c (main): Also test the stream's error indicator.
13066         * tests/test-fputc.c (main): Likewise.
13067
13068 2011-09-24  Bruno Haible  <bruno@clisp.org>
13069
13070         write: Support for MSVC 9.
13071         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
13072         is not 1.
13073         * lib/write.c (write_nothrow): New function.
13074         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
13075         not 1. Use write_nothrow.
13076         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
13077         invalid parameter handler.
13078         (gl_PREREQ_WRITE): New macro.
13079         * modules/write (Depends-on): Add msvc-inval.
13080         (configure.ac): Invoke gl_PREREQ_WRITE.
13081         * doc/posix-functions/write.texi: Mention the problem on MSVC.
13082
13083 2011-09-24  Bruno Haible  <bruno@clisp.org>
13084
13085         read: Fix last commit.
13086         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
13087
13088 2011-09-24  Bruno Haible  <bruno@clisp.org>
13089
13090         dup2: Fix last commit.
13091         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
13092         (rpl_dup2): Disable fcntl workaround on native Windows.
13093
13094         sigprocmask: Make code safer.
13095         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
13096         section that changes macro definitions for this compilation unit.
13097
13098 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
13099
13100         dup2: clarify by coalescing Windows-specific material
13101         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
13102         "msvc-nothrow.h"' to the Windows-specific section, so that the
13103         Emacs source need not contain these include files.
13104         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
13105         Windows-specific fixes into this function rather than just the
13106         nothrow fix, as this shortens and clarifies the code.  Always
13107         define as a function, as that's a bit cleaner than having it be
13108         sometimes a function and sometimes a macro.
13109         (rpl_dup2): Move the Windows-specific stuff out of here and into
13110         ms_windows_dup2.  Don't protect the Haiku-related fix with
13111         "#if !defined __linux__", as the same code also works around
13112         a Linux kernel bug, and it doesn't add any system calls on any
13113         platform.  Add comment about FreeBSD 6.1.
13114
13115         sigprocmask: move #include directive
13116         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
13117         Windows-specific section, so that the Emacs source need not
13118         contain msvc-inval.h.
13119
13120 2011-09-23  Bruno Haible  <bruno@clisp.org>
13121
13122         read: Support for MSVC 9.
13123         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
13124         is not 1.
13125         * lib/read.c (read_nothrow): New function.
13126         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
13127         read_nothrow.
13128         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
13129         invalid parameter handler.
13130         (gl_PREREQ_READ): New macro.
13131         * modules/read (Depends-on): Add msvc-inval.
13132         (configure.ac): Invoke gl_PREREQ_READ.
13133         * doc/posix-functions/read.texi: Mention the problem on MSVC.
13134
13135 2011-09-23  Bruno Haible  <bruno@clisp.org>
13136
13137         close: Support for MSVC 9.
13138         * lib/close.c: Include <errno.h>, msvc-inval.h.
13139         (close_nothrow): New function.
13140         (rpl_close): Use it.
13141         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
13142         invalid parameter handler.
13143         * modules/close (Depends-on): Add msvc-inval.
13144         * modules/dup2-tests (Depends-on): Add close.
13145         * modules/dup3-tests (Depends-on): Likewise.
13146         * modules/fcntl-tests (Depends-on): Likewise.
13147         * modules/spawn-pipe-tests (Depends-on): Likewise.
13148         * modules/unistd-safer-tests (Depends-on): Likewise.
13149         * doc/posix-functions/close.texi: Mention the problem on MSVC.
13150
13151 2011-09-23  Bruno Haible  <bruno@clisp.org>
13152
13153         New module 'dup'.
13154         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
13155         Allow replacement.
13156         * lib/dup.c: New file.
13157         * lib/fchdir.c (rpl_dup): Remove function.
13158         * m4/dup.m4: New file.
13159         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
13160         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
13161         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
13162         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
13163         * modules/dup: New file.
13164         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
13165         'dup' module is in use.
13166         * modules/fdopendir (Depends-on): Add dup.
13167         * modules/fdutimensat-tests (Depends-on): Likewise.
13168         * modules/fts (Depends-on): Likewise.
13169         * modules/futimens-tests (Depends-on): Likewise.
13170         * modules/posix_spawnp-tests (Depends-on): Likewise.
13171         * modules/unistd-safer-tests (Depends-on): Likewise.
13172         * modules/utimens-tests (Depends-on): Likewise.
13173         * doc/posix-functions/dup.texi: Mention the new module and the problem
13174         on MSVC.
13175
13176 2011-09-23  Bruno Haible  <bruno@clisp.org>
13177
13178         getdtablesize: Support for MSVC 9.
13179         * lib/getdtablesize.c: Include msvc-inval.h.
13180         (_setmaxstdio_nothrow): New function.
13181         (_setmaxstdio): Redefine it.
13182         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
13183         * modules/getdtablesize (Depends-on): Add msvc-inval.
13184         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
13185
13186 2011-09-23  Bruno Haible  <bruno@clisp.org>
13187
13188         signal-h: Rename from signal.
13189         * modules/signal-h: Renamed from modules/signal.
13190         * modules/pthread_sigmask (Depends-on): Update.
13191         * modules/raise (Depends-on): Likewise.
13192         * modules/sigaction (Depends-on): Likewise.
13193         * modules/sigpipe (Depends-on): Likewise.
13194         * modules/sigprocmask (Depends-on): Likewise.
13195         * modules/sys_select (Depends-on): Likewise.
13196         * modules/signal-h-tests: Renamed from modules/signal-tests.
13197         (Files, Depends-on, Makefile.am): Update.
13198         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
13199         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
13200         (Files, Makefile.am): Update.
13201         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
13202         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
13203         * modules/signal: New placeholder file.
13204         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
13205         * doc/posix-headers/signal.texi: Update.
13206         * NEWS: Mention the change.
13207
13208 2011-09-23  Bruno Haible  <bruno@clisp.org>
13209
13210         sigprocmask: Avoid crashes through signal() on MSVC 9.
13211         * lib/sigprocmask.c: Include msvc-inval.h.
13212         (signal_nothrow): New function.
13213         (signal): Redefine it.
13214         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
13215         * modules/sigprocmask (Depends-on): Add msvc-inval.
13216         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
13217
13218 2011-09-23  Bruno Haible  <bruno@clisp.org>
13219
13220         Tests for module 'raise'.
13221         * modules/raise-tests: New file.
13222         * tests/test-raise.c: New file.
13223
13224         raise: Support for MSVC.
13225         * lib/signal.in.h (raise): New declaration.
13226         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
13227         for native Windows platforms.
13228         * m4/raise.m4: New file.
13229         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
13230         HAVE_RAISE, REPLACE_RAISE.
13231         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
13232         REPLACE_RAISE.
13233         * modules/raise (Status, Notice): Remove fields.
13234         (Files): Add m4/raise.m4.
13235         (Depends-on): Add signal, msvc-inval.
13236         (configure.ac): Use the common idioms.
13237         (Maintainer): Add me.
13238         * tests/test-signal-c++.cc: Check the signature of raise.
13239         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
13240
13241 2011-09-23  Bruno Haible  <bruno@clisp.org>
13242
13243         pipe2: Fix compilation on pre-C99 compilers.
13244         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
13245
13246 2011-09-23  Bruno Haible  <bruno@clisp.org>
13247
13248         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
13249         * lib/msvc-nothrow.h: New file.
13250         * lib/msvc-nothrow.c: New file.
13251         * m4/msvc-nothrow.m4: New file.
13252         * modules/msvc-nothrow: New file.
13253         * lib/dup2.c: Include msvc-nothrow.h.
13254         (rpl_dup2): No need to protect _get_osfhandle call here.
13255         * lib/accept4.c: Include msvc-nothrow.h.
13256         * lib/error.c: Likewise.
13257         * lib/fcntl.c: Likewise.
13258         * lib/lseek.c: Likewise.
13259         * lib/nonblocking.c: Likewise.
13260         * lib/poll.c: Likewise.
13261         * lib/read.c: Likewise.
13262         * lib/select.c: Likewise.
13263         * lib/sockets.h: Likewise.
13264         * lib/sockets.c: Likewise.
13265         * lib/stdio-read.c: Likewise.
13266         * lib/stdio-write.c: Likewise.
13267         * lib/write.c: Likewise.
13268         * lib/w32sock.h: Likewise.
13269         * lib/w32spawn.h: Likewise.
13270         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
13271         * lib/fsync.c: Likewise.
13272         * lib/isapipe.c: Likewise.
13273         * modules/dup2 (Depends-on): Add msvc-nothrow.
13274         * modules/accept4 (Depends-on): Likewise.
13275         * modules/error (Depends-on): Likewise.
13276         * modules/fcntl (Depends-on): Likewise.
13277         * modules/lseek (Depends-on): Likewise.
13278         * modules/nonblocking (Depends-on): Likewise.
13279         * modules/poll (Depends-on): Likewise.
13280         * modules/read (Depends-on): Likewise.
13281         * modules/select (Depends-on): Likewise.
13282         * modules/sockets (Depends-on): Likewise.
13283         * modules/sigpipe (Depends-on): Likewise.
13284         * modules/write (Depends-on): Likewise.
13285         * modules/accept (Depends-on): Likewise.
13286         * modules/bind (Depends-on): Likewise.
13287         * modules/connect (Depends-on): Likewise.
13288         * modules/gethostname (Depends-on): Likewise.
13289         * modules/getpeername (Depends-on): Likewise.
13290         * modules/getsockname (Depends-on): Likewise.
13291         * modules/getsockopt (Depends-on): Likewise.
13292         * modules/ioctl (Depends-on): Likewise.
13293         * modules/listen (Depends-on): Likewise.
13294         * modules/recv (Depends-on): Likewise.
13295         * modules/recvfrom (Depends-on): Likewise.
13296         * modules/send (Depends-on): Likewise.
13297         * modules/sendto (Depends-on): Likewise.
13298         * modules/setsockopt (Depends-on): Likewise.
13299         * modules/shutdown (Depends-on): Likewise.
13300         * modules/socket (Depends-on): Likewise.
13301         * modules/execute (Depends-on): Likewise.
13302         * modules/spawn-pipe (Depends-on): Likewise.
13303         * modules/flock (Depends-on): Likewise.
13304         * modules/fsync (Depends-on): Likewise.
13305         * modules/isapipe (Depends-on): Likewise.
13306         * tests/test-cloexec.c: Include msvc-nothrow.h.
13307         * tests/test-dup-safer.c: Likewise.
13308         * tests/test-dup2.c: Likewise.
13309         * tests/test-dup3.c: Likewise.
13310         * tests/test-fcntl.c: Likewise.
13311         * tests/test-pipe.c: Likewise.
13312         * tests/test-pipe2.c: Likewise.
13313         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
13314         * modules/unistd-safer-tests (Depends-on): Likewise.
13315         * modules/dup2-tests (Depends-on): Likewise.
13316         * modules/dup3-tests (Depends-on): Likewise.
13317         * modules/fcntl-tests (Depends-on): Likewise.
13318         * modules/pipe-posix-tests (Depends-on): Likewise.
13319         * modules/pipe2-tests (Depends-on): Likewise.
13320
13321 2011-09-23  Bruno Haible  <bruno@clisp.org>
13322
13323         dup2: Make code more maintainable.
13324         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
13325         (rpl_dup2): Use it.
13326         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
13327         * modules/dup2 (configure.ac): Invoke it.
13328         Reported by Paul Eggert.
13329
13330 2011-09-23  Bruno Haible  <bruno@clisp.org>
13331
13332         msvc-inval: Fix compilation error.
13333         * lib/msvc-inval.h: Include <excpt.h>.
13334
13335 2011-09-23  Bruno Haible  <bruno@clisp.org>
13336
13337         mkdir: Tweak for MSVC 9.
13338         * lib/sys_stat.in.h: Update comments.
13339         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
13340
13341         Tests for module 'chdir'.
13342         * modules/chdir-tests: New file.
13343         * tests/test-chdir.c: New file.
13344
13345         New module 'chdir'.
13346         * modules/chdir: New file.
13347         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
13348         (chdir): New declaration.
13349         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
13350         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
13351         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
13352         * tests/test-unistd-c++.cc: Check signature of chdir.
13353         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
13354         * modules/chdir-long (Depends-on): Add chdir.
13355         * modules/fchdir (Depends-on): Likewise.
13356         * modules/rename (Depends-on): Likewise.
13357         * modules/savewd (Depends-on): Likewise.
13358
13359         rmdir: Support for mingw, MSVC 9.
13360         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
13361         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
13362
13363         getcwd: Tweak for MSVC 9.
13364         * lib/unistd.in.h: Update comments.
13365         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
13366
13367 2011-09-22  Bruno Haible  <bruno@clisp.org>
13368
13369         strerror_r-posix: Avoid a link error on MSVC.
13370         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
13371         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
13372
13373 2011-09-22  Bruno Haible  <bruno@clisp.org>
13374
13375         select: Avoid link errors on MSVC.
13376         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
13377         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
13378         * modules/pselect (Link): Likewise.
13379         * NEWS: Mention the change.
13380         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
13381         test-select-stdin against $(LIB_SELECT).
13382         * modules/pselect-tests (Makefile.am): Link test-pselect against
13383         $(LIB_SELECT).
13384
13385 2011-09-22  Bruno Haible  <bruno@clisp.org>
13386
13387         select: Avoid compilation error on MSVC.
13388         * lib/select.c: Don't include <stdbool.h>.
13389
13390 2011-09-21  Bruno Haible  <bruno@clisp.org>
13391
13392         Consolidate all uses of PATH_MAX in *.m4 files.
13393         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
13394         macros.
13395         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
13396         and gl_PATHMAX_SNIPPET.
13397         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13398         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13399         * modules/chdir-long (Files): Add m4/pathmax.m4.
13400         * modules/getcwd (Files): Likewise.
13401
13402 2011-09-21  Bruno Haible  <bruno@clisp.org>
13403
13404         ftruncate: Un-deprecate, concentrate on Win32 support.
13405         * modules/ftruncate (Status, Notice): Remove sections.
13406         (Depends-on): Add largefile.
13407         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
13408         non-mingw platforms.
13409         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
13410         include <io.h>.
13411         * modules/perror-tests (Depends-on): Add ftruncate.
13412         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
13413         'ftruncate' module.
13414
13415 2011-09-21  Bruno Haible  <bruno@clisp.org>
13416
13417         Add dependencies to new dirent related modules.
13418         * modules/opendir (Depends-on): Add closedir.
13419         * modules/getcwd (Depends-on): Add opendir, closedir.
13420         * modules/dirent-safer-tests (Depends-on): Likewise.
13421         * modules/fdopendir-tests (Depends-on): Likewise.
13422         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
13423         * modules/renameat-tests (Depends-on): Likewise.
13424
13425 2011-09-21  Bruno Haible  <bruno@clisp.org>
13426
13427         opendir: Avoid compilation error on mingw.
13428         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
13429         * modules/opendir (Depends-on): Add unistd.
13430
13431 2011-09-21  Bruno Haible  <bruno@clisp.org>
13432
13433         ftruncate tests: Avoid a test failure on mingw.
13434         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
13435
13436 2011-09-21  Bruno Haible  <bruno@clisp.org>
13437
13438         select tests: Avoid test failures on OSF/1 5.1 and mingw.
13439         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
13440         native Windows.
13441
13442 2011-09-21  Bruno Haible  <bruno@clisp.org>
13443
13444         New module 'fdopen'.
13445         * lib/stdio.in.h (fdopen): New declaration.
13446         * lib/fdopen.c: New file.
13447         * m4/fdopen.m4: New file.
13448         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
13449         REPLACE_FDOPEN.
13450         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
13451         REPLACE_FDOPEN.
13452         * modules/fdopen: New file.
13453         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
13454         * tests/test-stdio-c++.cc: Check signature of fdopen.
13455         * doc/posix-functions/fdopen.texi: Mention the new module.
13456
13457 2011-09-21  Bruno Haible  <bruno@clisp.org>
13458
13459         unlockpt tests: Avoid test failure on NetBSD 5.1.
13460         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
13461         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
13462
13463 2011-09-21  Bruno Haible  <bruno@clisp.org>
13464
13465         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
13466         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
13467         * tests/test-getlogin_r.c (main): Likewise.
13468
13469 2011-09-20  Bruno Haible  <bruno@clisp.org>
13470
13471         time tests: Don't require pid_t.
13472         * doc/posix-headers/time.texi: Revert last change.
13473         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
13474         * tests/test-time.c: Comment out the check for pid_t.
13475
13476 2011-09-20  Bruno Haible  <bruno@clisp.org>
13477
13478         fsync tests: Avoid a test failure on mingw.
13479         * tests/test-fsync.c (main): Allow a failure with EIO.
13480
13481 2011-09-20  Bruno Haible  <bruno@clisp.org>
13482
13483         euidaccess: Update comments.
13484         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
13485
13486 2011-09-20  Bruno Haible  <bruno@clisp.org>
13487
13488         Ensure EBADF returns for socket functions on mingw.
13489         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
13490         descriptor is invalid.
13491         * lib/bind.c (rpl_bind): Likewise.
13492         * lib/connect.c (rpl_connect): Likewise.
13493         * lib/getpeername.c (rpl_getpeername): Likewise.
13494         * lib/getsockname.c (rpl_getsockname): Likewise.
13495         * lib/getsockopt.c (rpl_getsockopt): Likewise.
13496         * lib/listen.c (rpl_listen): Likewise.
13497         * lib/recv.c (rpl_recv): Likewise.
13498         * lib/recvfrom.c (rpl_recvfrom): Likewise.
13499         * lib/send.c (rpl_send): Likewise.
13500         * lib/sendto.c (rpl_sendto): Likewise.
13501         * lib/setsockopt.c (rpl_setsockopt): Likewise.
13502         * lib/shutdown.c (rpl_shutdown): Likewise.
13503
13504 2011-09-20  Bruno Haible  <bruno@clisp.org>
13505
13506         select tests: EBADF tests.
13507         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
13508         test_bad_fd): New functions.
13509         (test_function): Invoke also test_bad_fd.
13510
13511 2011-09-20  Bruno Haible  <bruno@clisp.org>
13512
13513         Tests for module 'posix_spawn_file_actions_addopen.
13514         * modules/posix_spawn_file_actions_addopen-tests: New file.
13515         * tests/test-posix_spawn_file_actions_addopen.c: New file.
13516
13517         Tests for module 'posix_spawn_file_actions_adddup2'.
13518         * modules/posix_spawn_file_actions_adddup2-tests: New file.
13519         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
13520
13521         Tests for module 'posix_spawn_file_actions_addclose'.
13522         * modules/posix_spawn_file_actions_addclose-tests: New file.
13523         * tests/test-posix_spawn_file_actions_addclose.c: New file.
13524
13525 2011-09-20  Bruno Haible  <bruno@clisp.org>
13526
13527         Tests for module 'unlockpt'.
13528         * modules/unlockpt-tests: New file.
13529         * tests/test-unlockpt.c: New file.
13530         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
13531
13532         Tests for module 'grantpt'.
13533         * modules/grantpt-tests: New file.
13534         * tests/test-grantpt.c: New file.
13535         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
13536
13537 2011-09-20  Bruno Haible  <bruno@clisp.org>
13538
13539         freopen tests: EBADF tests.
13540         * tests/test-freopen.c: Include errno.h, unistd.h.
13541         (main): Add tests for EBADF, commented out for the moment.
13542
13543         fclose tests: EBADF tests.
13544         * tests/test-fclose.c (main): Add tests for EBADF.
13545
13546         fflush tests: EBADF tests.
13547         * tests/test-fflush.c: Include errno.h, macros.h.
13548         (main): Add tests for EBADF.
13549
13550         ftello tests: EBADF tests.
13551         * tests/test-ftello4.sh: New file.
13552         * tests/test-ftello4.c: New file.
13553         * modules/ftello-tests (Files): Add them.
13554         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
13555
13556         fseeko tests: EBADF tests.
13557         * tests/test-fseeko4.sh: New file.
13558         * tests/test-fseeko4.c: New file.
13559         * modules/fseeko-tests (Files): Add them.
13560         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
13561
13562         Tests for function fputc().
13563         * modules/fputc-tests: New file.
13564         * tests/test-fputc.c: New file.
13565         * modules/stdio-tests (Depends-on): Add fputc-tests.
13566
13567         Tests for function fgetc().
13568         * modules/fgetc-tests: New file.
13569         * tests/test-fgetc.c: New file.
13570         * modules/stdio-tests (Depends-on): Add fgetc-tests.
13571
13572         Tests for function fdopen().
13573         * modules/fdopen-tests: New file.
13574         * tests/test-fdopen.c: New file.
13575         * modules/stdio-tests (Depends-on): Add fdopen-tests.
13576
13577         Tests for module 'vdprintf'.
13578         * modules/vdprintf-tests: New file.
13579         * tests/test-vdprintf.c: New file.
13580
13581         Tests for module 'dprintf'.
13582         * modules/dprintf-tests: New file.
13583         * tests/test-dprintf.c: New file.
13584
13585 2011-09-20  Bruno Haible  <bruno@clisp.org>
13586
13587         Tests for module 'ioctl'.
13588         * modules/ioctl-tests: New file.
13589         * tests/test-ioctl.c: New file.
13590
13591 2011-09-20  Bruno Haible  <bruno@clisp.org>
13592
13593         fcntl tests: EBADF tests.
13594         * tests/test-fcntl.c (main): Add more tests for EBADF.
13595
13596 2011-09-20  Bruno Haible  <bruno@clisp.org>
13597
13598         utimensat tests: EBADF tests.
13599         * tests/test-utimensat.c (main): Add tests for EBADF.
13600
13601         renameat tests: EBADF tests.
13602         * tests/test-renameat.c (main): Add tests for EBADF.
13603
13604         mkfifoat tests: EBADF tests.
13605         * tests/test-mkfifoat.c (main): Add tests for EBADF.
13606
13607         readlinkat tests: EBADF tests.
13608         * tests/test-readlinkat.c (main): Add tests for EBADF.
13609
13610         symlinkat tests: EBADF tests.
13611         * tests/test-symlinkat.c (main): Add tests for EBADF.
13612
13613         linkat tests: EBADF tests.
13614         * tests/test-linkat.c (main): Add tests for EBADF.
13615
13616         Tests for module 'faccessat'.
13617         * modules/faccessat-tests: New file.
13618         * tests/test-faccessat.c: New file.
13619
13620         fdopendir tests: EBADF tests.
13621         * tests/test-fdopendir.c (main): Add more tests for EBADF.
13622
13623         openat tests: EBADF tests.
13624         * tests/test-fchownat.c (main): Add tests for EBADF.
13625         * tests/test-fstatat.c (main): Likewise.
13626         * tests/test-mkdirat.c (main): Likewise.
13627         * tests/test-openat.c (main): Likewise.
13628         * tests/test-unlinkat.c (main): Likewise.
13629         * tests/test-fchmodat.c: New file.
13630         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
13631         (Makefile.am): Also run 'test-fchmodat'.
13632
13633 2011-09-20  Bruno Haible  <bruno@clisp.org>
13634
13635         utimens, futimens, fdutimensat tests: EBADF tests.
13636         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
13637
13638         Tests for function fstat().
13639         * modules/fstat-tests: New file.
13640         * tests/test-fstat.c: New file.
13641         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
13642
13643 2011-09-20  Bruno Haible  <bruno@clisp.org>
13644
13645         test-ttyname_r tests: EBADF tests.
13646         * tests/test-ttyname_r.c (main): Add tests for EBADF.
13647
13648         Tests for module 'isatty'.
13649         * modules/isatty-tests: New file.
13650         * tests/test-isatty.c: New file.
13651
13652         Tests for module 'write'.
13653         * modules/write-tests: New file.
13654         * tests/test-write.c: New file.
13655
13656         Tests for module 'read'.
13657         * modules/read-tests: New file.
13658         * tests/test-read.c: New file.
13659
13660         pwrite tests: EBADF tests.
13661         * tests/test-pwrite.c (main): Add tests for EBADF.
13662
13663         pread tests: EBADF tests.
13664         * tests/test-pread.c (main): Add tests for EBADF.
13665
13666         lseek tests: EBADF tests.
13667         * tests/test-lseek.c (main): Add more tests for EBADF.
13668
13669         Tests for module 'ftruncate'.
13670         * modules/ftruncate-tests: New file.
13671         * tests/test-ftruncate.sh: New file.
13672         * tests/test-ftruncate.c: New file.
13673
13674         fsync tests: EBADF tests.
13675         * tests/test-fsync.c (main): Add more tests for EBADF.
13676
13677         fdatasync tests: EBADF tests.
13678         * tests/test-fdatasync.c (main): Add more tests for EBADF.
13679
13680         Tests for module 'fchown'.
13681         * modules/fchown-tests: New file.
13682         * tests/test-fchown.c: New file.
13683
13684         Tests for module 'fchmod'.
13685         * modules/fchmod-tests: New file.
13686         * tests/test-fchmod.c: New file.
13687
13688         fchdir tests: EBADF tests.
13689         * tests/test-fchdir.c (main): Add more tests for EBADF.
13690
13691         dup2 tests: EBADF tests.
13692         * tests/test-dup2.c (main): Add more tests for EBADF.
13693
13694         Tests for module 'dup'.
13695         * modules/dup-tests: New file.
13696         * tests/test-dup.c: New file.
13697
13698         Tests for module 'close'.
13699         * modules/close-tests: New file.
13700         * tests/test-close.c: New file.
13701
13702 2011-09-20  Bruno Haible  <bruno@clisp.org>
13703
13704         Tests for module 'shutdown'.
13705         * modules/shutdown-tests: New file.
13706         * tests/test-shutdown.c: New file.
13707
13708         Tests for module 'setsockopt'.
13709         * modules/setsockopt-tests: New file.
13710         * tests/test-setsockopt.c: New file.
13711
13712         Tests for module 'sendto'.
13713         * modules/sendto-tests: New file.
13714         * tests/test-sendto.c: New file.
13715
13716         Tests for module 'send'.
13717         * modules/send-tests: New file.
13718         * tests/test-send.c: New file.
13719
13720         Tests for module 'recvfrom'.
13721         * modules/recvfrom-tests: New file.
13722         * tests/test-recvfrom.c: New file.
13723
13724         Tests for module 'recv'.
13725         * modules/recv-tests: New file.
13726         * tests/test-recv.c: New file.
13727
13728         Tests for module 'listen'.
13729         * modules/listen-tests: New file.
13730         * tests/test-listen.c: New file.
13731
13732         Tests for module 'getsockopt'.
13733         * modules/getsockopt-tests: New file.
13734         * tests/test-getsockopt.c: New file.
13735
13736         Tests for module 'getsockname'.
13737         * modules/getsockname-tests: New file.
13738         * tests/test-getsockname.c: New file.
13739
13740         Tests for module 'getpeername'.
13741         * modules/getpeername-tests: New file.
13742         * tests/test-getpeername.c: New file.
13743
13744         Tests for module 'connect'.
13745         * modules/connect-tests: New file.
13746         * tests/test-connect.c: New file.
13747
13748         Tests for module 'bind'.
13749         * modules/bind-tests: New file.
13750         * tests/test-bind.c: New file.
13751
13752         accept4 tests: Fix for native Windows.
13753         * tests/test-accept4.c: Include sockets.h.
13754         (main): Invoke gl_sockets_startup.
13755         * modules/accept4-tests (Depends-on): Add sockets.
13756
13757         accept tests: Fix for native Windows.
13758         * tests/test-accept.c: Include sockets.h.
13759         (main): Invoke gl_sockets_startup.
13760         * modules/accept-tests (Depends-on): Add sockets.
13761
13762 2011-09-19  Bruno Haible  <bruno@clisp.org>
13763
13764         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
13765         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
13766         do...while(0).
13767         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
13768         Suggested by Paul Eggert.
13769
13770 2011-09-19  Bruno Haible  <bruno@clisp.org>
13771
13772         sched: Ensure pid_t is defined.
13773         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
13774         not define pid_t.
13775         * lib/sched.in.h: Include <sys/types.h>.
13776         * doc/posix-headers/sched.texi: Mention the pid_t problem.
13777         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13778
13779 2011-09-19  Bruno Haible  <bruno@clisp.org>
13780
13781         msvc-inval: Ensure the entire expansion is a single statement.
13782         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
13783         of braces.
13784
13785 2011-09-19  Jim Meyering  <meyering@redhat.com>
13786
13787         tests: use printf, not echo in init.sh's warn_ function
13788         * tests/init.sh (warn_): Use printf, not echo.  The latter would
13789         misbehave when given strings containing a backslash or starting
13790         with e.g., -n.  James Youngman suggested setting IFS.
13791
13792 2011-09-19  Eric Blake  <eblake@redhat.com>
13793
13794         futimens: enhance test
13795         * tests/test-futimens.h (test_futimens): Also check for EBADF on
13796         closed non-negative fd.
13797
13798         date: accept 'hence' as opposite of 'ago'
13799         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
13800         * tests/test-parse-datetime.c (main): Enhance test.
13801         Suggested by Jesse Wilson.
13802
13803 2011-09-19  Jim Meyering  <meyering@redhat.com>
13804
13805         getcwd: don't fail in a deep directory on a system without openat
13806         Before this change, getcwd would fail when called from a directory
13807         of depth PATH_MAX / 3 or greater.  That was due to the fact that
13808         the non-openat implementation used "..", "../..", "../../..", etc.
13809         to access ancestor directories.  With too many, that string would
13810         be longer than PATH_MAX.
13811         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
13812         using gnulib's openat replacement.
13813         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
13814         we're using the replacement function.
13815
13816 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
13817
13818         maint.mk: avoid warnings from perl about missing files
13819         * top/maint.mk (def_sym_regex): Ignore files listed in
13820         $(gl_other_headers_) that do not exist, say because a project
13821         does not use a corresponding module.
13822
13823 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
13824
13825         stat: use pathmax.h only if needed
13826         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
13827         This is better for Emacs, which does not have a mingw port and
13828         therefore can avoid the pathmax module.
13829
13830         utimens: remove dependency on dup2
13831         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
13832         to work around the Linux kernel bug.
13833         * modules/utimens (Depends-on): Remove dup2.
13834
13835 2011-09-18  Bruno Haible  <bruno@clisp.org>
13836
13837         inet_ntop, inet_pton: Look for it also in libresolv.
13838         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
13839         libnsl, search for it in libresolv.
13840         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13841         Needed on Solaris 7.
13842
13843 2011-09-18  Bruno Haible  <bruno@clisp.org>
13844
13845         accept, accept4 tests: Avoid link error on Solaris.
13846         * modules/accept-tests (Makefile.am): Link test-accept against
13847         $(LIBSOCKET).
13848         * modules/accept4-tests (Makefile.am): Link test-accept4 against
13849         $(LIBSOCKET).
13850
13851         accept4: Avoid link error on Solaris.
13852         * modules/accept4 (Link): New section.
13853
13854         socket functions: Avoid link errors on Solaris.
13855         * modules/accept (Depends-on): Add socketlib.
13856         (Link): New section.
13857         * modules/bind (Depends-on): Add socketlib.
13858         (Link): New section.
13859         * modules/connect (Depends-on): Add socketlib.
13860         (Link): New section.
13861         * modules/getpeername (Depends-on): Add socketlib.
13862         (Link): New section.
13863         * modules/getsockname (Depends-on): Add socketlib.
13864         (Link): New section.
13865         * modules/getsockopt (Depends-on): Add socketlib.
13866         (Link): New section.
13867         * modules/listen (Depends-on): Add socketlib.
13868         (Link): New section.
13869         * modules/recv (Depends-on): Add socketlib.
13870         (Link): New section.
13871         * modules/recvfrom (Depends-on): Add socketlib.
13872         (Link): New section.
13873         * modules/send (Depends-on): Add socketlib.
13874         (Link): New section.
13875         * modules/sendto (Depends-on): Add socketlib.
13876         (Link): New section.
13877         * modules/setsockopt (Depends-on): Add socketlib.
13878         (Link): New section.
13879         * modules/shutdown (Depends-on): Add socketlib.
13880         (Link): New section.
13881         * modules/socket (Depends-on): Add socketlib.
13882         (Link): New section.
13883
13884 2011-09-18  Bruno Haible  <bruno@clisp.org>
13885
13886         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
13887         * tests/test-ptsname.c (main): Terminate the test if it takes longer
13888         than 5 seconds.
13889         * modules/ptsname-tests (configure.ac): Test for alarm.
13890
13891 2011-09-18  Bruno Haible  <bruno@clisp.org>
13892
13893         posix_spawn_file_actions_add*: Fix module dependencies.
13894         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
13895         posix_spawn_file_actions_init.
13896         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
13897         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
13898
13899 2011-09-18  Bruno Haible  <bruno@clisp.org>
13900
13901         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
13902         * tests/test-rename.h (test_rename): Allow error code EEXIST.
13903         * tests/test-renameat.c (main): Likewise.
13904
13905 2011-09-18  Bruno Haible  <bruno@clisp.org>
13906
13907         Tests for module 'accept4'.
13908         * modules/accept4-tests: New file.
13909         * tests/test-accept4.c: New file.
13910
13911 2011-09-18  Bruno Haible  <bruno@clisp.org>
13912
13913         Tests for module 'accept'.
13914         * modules/accept-tests: New file.
13915         * tests/test-accept.c: New file.
13916
13917 2011-09-18  Bruno Haible  <bruno@clisp.org>
13918
13919         dup2: Support for MSVC.
13920         * lib/dup2.c: Include msvc-inval.h.
13921         (rpl_dup2): Handle invalid parameter notifications during dup2 and
13922         _get_osfhandle calls.
13923         * modules/dup2 (Depends-on): Add msvc-inval.
13924         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
13925
13926         New module 'msvc-inval'.
13927         * lib/msvc-inval.h: New file.
13928         * lib/msvc-inval.c: New file.
13929         * m4/msvc-inval.m4: New file.
13930         * modules/msvc-inval: New file.
13931
13932 2011-09-17  Bruno Haible  <bruno@clisp.org>
13933
13934         Tests for module 'pclose'.
13935         * modules/pclose-tests: New file.
13936
13937         New module 'pclose'.
13938         * lib/stdio.in.h (pclose): New declaration.
13939         * lib/pclose.c: New file.
13940         * m4/pclose.m4: New file.
13941         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
13942         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
13943         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
13944         * modules/pclose: New file.
13945         * modules/popen-tests (Depends-on): Add pclose.
13946         * modules/popen-safer-tests (Depends-on): Likewise.
13947         * doc/posix-functions/pclose.texi: Mention the new module.
13948
13949 2011-09-17  Bruno Haible  <bruno@clisp.org>
13950
13951         popen: Support for MSVC.
13952         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
13953         * lib/popen.c (popen): Provide alternate definition for native Windows.
13954         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
13955         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
13956         * modules/popen (Depends-on, configure.ac): Update condition.
13957         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
13958         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
13959         fixed.
13960
13961 2011-09-17  Bruno Haible  <bruno@clisp.org>
13962
13963         isnanl, isnand, isnanf: Work around MSVC bug.
13964         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
13965
13966 2011-09-17  Bruno Haible  <bruno@clisp.org>
13967
13968         sys_socket tests: Fix recent mistake.
13969         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
13970
13971 2011-09-17  Bruno Haible  <bruno@clisp.org>
13972
13973         putenv: Support for MSVC.
13974         * modules/putenv (Depends-on): Add environ.
13975         * lib/putenv.c (environ): Disable declaration.
13976         * lib/unistd.in.h: Update comment.
13977
13978 2011-09-17  Bruno Haible  <bruno@clisp.org>
13979
13980         math: Avoid macro redefinition warnings on MSVC.
13981         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
13982         Undefine before redefining.
13983
13984 2011-09-17  Bruno Haible  <bruno@clisp.org>
13985
13986         doc: Mention functions which are declared as macros.
13987         * doc/posix-functions/*[fl].texi: Mention that some functions are
13988         defined as macros with arguments only.
13989
13990 2011-09-17  Bruno Haible  <bruno@clisp.org>
13991
13992         Add dependencies to new dirent related modules.
13993         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
13994         * modules/fts (Depends-on): Likewise.
13995         * modules/glob (Depends-on): Likewise.
13996         * modules/savedir (Depends-on): Likewise.
13997         * modules/scandir (Depends-on): Likewise.
13998         * modules/dirent-safer (Depends-on): Add opendir, closedir.
13999         * modules/fdopendir (Depends-on): Add opendir.
14000
14001 2011-09-17  Bruno Haible  <bruno@clisp.org>
14002
14003         inet_pton: Support for MSVC on Windows Vista or newer.
14004         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
14005         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
14006         HAVE_DECL_INET_PTON is defined.
14007         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
14008         On platforms with <winsock2.h>, test whether inet_pton is declared in
14009         <ws2tcpip.h>. If so, arrange to replace it.
14010         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
14011         REPLACE_INET_PTON.
14012         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
14013         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
14014         (Depends-on, configure.ac): Update condition.
14015         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
14016
14017 2011-09-17  Bruno Haible  <bruno@clisp.org>
14018
14019         inet_ntop: Support for MSVC on Windows Vista or newer.
14020         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
14021         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
14022         HAVE_DECL_INET_NTOP is defined.
14023         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
14024         On platforms with <winsock2.h>, test whether inet_ntop is declared in
14025         <ws2tcpip.h>. If so, arrange to replace it.
14026         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
14027         REPLACE_INET_NTOP.
14028         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
14029         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
14030         (Depends-on, configure.ac): Update condition.
14031         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
14032
14033 2011-09-16  Eric Blake  <eblake@redhat.com>
14034
14035         test-fsync: yet another enhancement
14036         * tests/test-fsync.c (main): Also test behavior on read-only text
14037         file.
14038
14039 2011-09-16  Bruno Haible  <bruno@clisp.org>
14040
14041         Enhance fsync, fdatasync tests.
14042         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
14043         * tests/test-fdatasync.c (main): Likewise.
14044
14045 2011-09-16  Bruno Haible  <bruno@clisp.org>
14046
14047         Support for MSVC compiler: Ensure mode_t gets defined.
14048         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
14049         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14050         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
14051         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
14052         * tests/test-fcntl-h.c: Check that mode_t is defined.
14053         * tests/test-sys_stat.c: Likewise.
14054         * tests/test-sys_types.c: Likewise.
14055         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
14056         * doc/posix-headers/sys_stat.texi: Likewise.
14057         * doc/posix-headers/sys_types.texi: Likewise.
14058
14059 2011-09-16  Bruno Haible  <bruno@clisp.org>
14060
14061         sys_stat: Support for MSVC.
14062         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
14063         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
14064         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
14065         MSVC.
14066
14067 2011-09-16  Bruno Haible  <bruno@clisp.org>
14068
14069         Support for MSVC compiler: Ensure off_t gets defined.
14070         * lib/unistd.in.h: Include <sys/types.h>.
14071         * tests/test-fcntl-h.c: Check that off_t is defined.
14072         * tests/test-sys_stat.c: Likewise.
14073         * tests/test-sys_types.c: Likewise.
14074
14075 2011-09-16  Eric Blake  <eblake@redhat.com>
14076
14077         fdatasync: port to Solaris
14078         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
14079         * modules/fdatasync (Link): Document it.
14080         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
14081
14082         fdatasync: port to MacOS X 10.7
14083         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
14084         declared.
14085         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
14086         * modules/unistd (Makefile.am): Substitute it.
14087         * lib/unistd.in.h (fdatasync): Declare on MacOS.
14088         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
14089
14090         fdatasync: minor improvements
14091         * modules/fdatasync (Depends-on): Add condition for fsync.
14092         * lib/fdatasync.c (fdatasync): Add comment.
14093         * tests/test-unistd-c++.cc: Test fdatasync.
14094
14095         unistd: update refs to newer POSIX
14096         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
14097         Suggested by Bruno Haible.
14098
14099         fdatasync: new module
14100         * modules/fsync (Description): Document difference to fdatasync.
14101         * modules/fdatasync: New module.
14102         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
14103         * lib/fdatasync.c (fdatasync): Likewise.
14104         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
14105         defaults.
14106         * modules/unistd (Makefile.am): Set witnesses.
14107         * lib/unistd.in.h (fdatasync): Declare.
14108         * MODULES.html.sh: Document it.
14109         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
14110         * modules/fdatasync-tests: New test.
14111         * tests/test-fdatasync.c: Likewise.
14112
14113 2011-09-16  Eric Blake  <eblake@redhat.com>
14114
14115         test-fsync: enhance tests
14116         * modules/fsync-tests (Depends-on): Add errno, for mingw.
14117         * tests/test-fsync.c (main): Enhance test.
14118
14119 2011-09-15  Bruno Haible  <bruno@clisp.org>
14120
14121         Support for MSVC compiler: Ensure ssize_t gets defined.
14122         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
14123         * doc/posix-headers/stdio.texi: Likewise.
14124         * modules/stdio (Depends-on): Add ssize_t.
14125         * modules/sys_socket (Depends-on): Likewise.
14126         * modules/sys_types (Depends-on): Likewise.
14127         * modules/sys_uio (Depends-on): Likewise.
14128         * modules/unistd (Depends-on): Likewise.
14129         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
14130         * tests/test-sys_types.c: Check that ssize_t is defined.
14131
14132 2011-09-14  Bruno Haible  <bruno@clisp.org>
14133
14134         Avoid using #, the m4 comment starter character, near brackets.
14135         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
14136         delimiter character in sed expressions.
14137         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
14138         Suggested by Eric Blake.
14139
14140         Properly quote AC_CHECK_DECLS' 4th argument.
14141         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
14142         argument.
14143         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14144         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14145         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
14146         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
14147         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
14148         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
14149         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
14150         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
14151         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
14152         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
14153         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
14154         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
14155         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
14156         * m4/isinf.m4 (gl_ISINF): Likewise.
14157         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
14158         * m4/readutmp.m4 (gl_READUTMP): Likewise.
14159         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
14160         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14161         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14162         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14163         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
14164         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
14165         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
14166         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14167         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14168         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14169         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
14170         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
14171         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
14172         Reported by Eric Blake.
14173
14174         Properly quote AC_CHECK_DECL's 4th argument.
14175         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
14176         argument.
14177         * m4/argp.m4 (gl_ARGP): Likewise.
14178         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
14179         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
14180         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
14181         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
14182         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
14183         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
14184         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
14185         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
14186         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
14187         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
14188         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
14189         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
14190         Reported by Eric Blake.
14191
14192 2011-09-14  Eric Blake  <eblake@redhat.com>
14193
14194         opendir: avoid compile warning
14195         * lib/opendir.c (includes): Always include errno.h.
14196         Reported by Tatsuro MATSUOKA.
14197
14198 2011-09-14  Jim Meyering  <meyering@redhat.com>
14199
14200         maint.mk: sc_tight_scope: propagate failure from sub-make
14201         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
14202         Reported by Martin von Gagern.
14203
14204 2011-09-13  Bruno Haible  <bruno@clisp.org>
14205
14206         tempname: Support for MSVC.
14207         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
14208         MSVC.
14209         * modules/tempname (Depends-on): Add fcntl-h.
14210
14211 2011-09-13  Bruno Haible  <bruno@clisp.org>
14212
14213         sys_time: Support for MSVC.
14214         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
14215         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
14216         include <winsock2.h>.
14217         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
14218         function declarations that collide with POSIX.
14219         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
14220         (Makefile.am): Substitute HAVE_WINSOCK2_H.
14221
14222 2011-09-13  Bruno Haible  <bruno@clisp.org>
14223
14224         stat: Support for MSVC.
14225         * lib/stat.c: Include pathmax.h.
14226         * modules/stat (Depends-on): Add pathmax.
14227
14228         pathmax: Support for native Windows.
14229         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
14230
14231 2011-09-12  Bruno Haible  <bruno@clisp.org>
14232
14233         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
14234         * lib/dirent.in.h (struct dirent): New type.
14235         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
14236         DT_WHT): New macros.
14237         (DIR): New type.
14238         (opendir, closedir): Declare only if the module 'opendir' is enabled.
14239         (readdir, rewinddir): New declarations.
14240         * lib/dirent-private.h: New file.
14241         * lib/opendir.c: New file.
14242         * lib/readdir.c: New file.
14243         * lib/rewinddir.c: New file.
14244         * lib/closedir.c: New file.
14245         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
14246         * m4/opendir.m4: New file.
14247         * m4/readdir.m4: New file.
14248         * m4/rewinddir.m4: New file.
14249         * m4/closedir.m4: New file.
14250         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
14251         REPLACE_CLOSEDIR here.
14252         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
14253         readdir, rewinddir are declared.
14254         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
14255         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
14256         HAVE_REWINDDIR, HAVE_CLOSEDIR.
14257         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
14258         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
14259         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
14260         * modules/opendir: New file.
14261         * modules/readdir: New file.
14262         * modules/rewinddir: New file.
14263         * modules/closedir: New file.
14264         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
14265         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
14266         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
14267         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
14268         * NEWS: Mention the 'fchdir' change.
14269
14270 2011-09-11  Bruno Haible  <bruno@clisp.org>
14271
14272         asm-underscore.m4: Support for MSVC.
14273         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
14274         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
14275
14276 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
14277
14278         Doc about crypt functions.
14279         * doc/posix-functions/crypt.texi: Expand range of glibc versions
14280         needing for _GNU_SOURCE to get crypt.
14281         * doc/posix-functions/encrypt.texi: Likewise.
14282         * doc/posix-functions/setkey.texi: Likewise.
14283
14284 2011-09-11  Bruno Haible  <bruno@clisp.org>
14285
14286         doc: Update regarding MSVC 9.
14287         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
14288         tested".
14289         * doc/posix-functions/*.texi: Update with info about MSVC 9.
14290         * doc/posix-headers/*.texi: Likewise.
14291         * doc/pastposix-functions/*.texi: Likewise.
14292         * doc/glibc-functions/*.texi: Likewise.
14293         * doc/glibc-headers/*.texi: Likewise.
14294
14295 2011-09-11  Bruno Haible  <bruno@clisp.org>
14296
14297         unistd et al.: Don't assume <unistd.h> exists.
14298         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
14299         does not exist.
14300         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
14301         exist. But include <stdlib.h>.
14302         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
14303         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
14304         symlink() does not exist.
14305         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
14306         include <io.h> instead.
14307         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
14308         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
14309         include <direct.h> instead.
14310         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
14311         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
14312         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
14313         <io.h> instead.
14314         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
14315         correctly if the system does not have hard links.
14316         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
14317         <direct.h> instead.
14318         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
14319         it when looking for function declarations.
14320         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
14321         <direct.h> and <io.h> instead.
14322         * doc/posix-headers/unistd.texi: More details about MSVC problem.
14323
14324 2011-09-11  Bruno Haible  <bruno@clisp.org>
14325
14326         strcase: Support for MSVC.
14327         * modules/strcase (Status, Notice): Remove obsoletion mark.
14328         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
14329         * doc/posix-functions/strncasecmp.texi: Likewise.
14330
14331         strings: Don't assume <strings.h> exists.
14332         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
14333         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
14334         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
14335         * doc/posix-headers/strings.texi: Mention the MSVC problem.
14336
14337 2011-09-11  Bruno Haible  <bruno@clisp.org>
14338
14339         dirent: Don't assume <dirent.h> exists.
14340         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
14341         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
14342         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
14343         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
14344
14345 2011-09-11  Bruno Haible  <bruno@clisp.org>
14346
14347         Fix wint_t on MSVC.
14348         * lib/wchar.in.h (wint_t): On MSVC, override it.
14349         * lib/wctype.in.h (wint_t): Likewise.
14350         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
14351         MSVC.
14352         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
14353         * doc/posix-headers/wctype.texi: Likewise.
14354
14355 2011-09-11  Bruno Haible  <bruno@clisp.org>
14356
14357         sys_types: Fix typo.
14358         * lib/sys_types.in.h: Fix typo in comment.
14359         Reported by Paul Eggert.
14360
14361         Support for MSVC compiler: Ensure size_t gets defined.
14362         * modules/strings (Depends-on): Add 'sys_types'.
14363         * modules/sys_uio (Depends-on): Likewise.
14364         * lib/sys_uio.in.h: Update comment.
14365
14366         C++ tests for module 'sys_types'.
14367         * modules/sys_types-c++-tests: New file.
14368         * tests/test-sys_types-c++.cc: New file.
14369
14370         Tests for module 'sys_types'.
14371         * modules/sys_types-tests: New file.
14372         * tests/test-sys_types.c: New file.
14373
14374         New module 'sys_types'.
14375         * lib/sys_types.in.h: New file.
14376         * m4/sys_types_h.m4: New file.
14377         * modules/sys_types: New file.
14378         * doc/posix-headers/sys_types.texi: Mention the new module and the
14379         size_t problem on MSVC 9.
14380
14381 2011-09-11  Bruno Haible  <bruno@clisp.org>
14382
14383         Support for MSVC compiler: Avoid division by a literal 0.
14384         * lib/math.in.h (NAN): Define through a function call also on MSVC.
14385         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
14386         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
14387         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
14388         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
14389         * tests/infinity.h: New file.
14390         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
14391         on MSVC.
14392         * tests/test-ceilf1.c: Include infinity.h.
14393         (main): Use Infinityf.
14394         * tests/test-ceil1.c: Include infinity.h.
14395         (main): Use Infinityd.
14396         * tests/test-ceill.c: Include infinity.h.
14397         (main): Use Infinityl.
14398         * tests/test-dprintf-posix.c: Include infinity.h.
14399         (test_function): Use Infinityd.
14400         * tests/test-floorf1.c: Include infinity.h.
14401         (main): Use Infinityf.
14402         * tests/test-floor1.c: Include infinity.h.
14403         (main): Use Infinityd.
14404         * tests/test-floorl.c: Include infinity.h.
14405         (main): Use Infinityl.
14406         * tests/test-fprintf-posix.c: Include infinity.h.
14407         (test_function): Use Infinityd.
14408         * tests/test-frexp.c: Include infinity.h.
14409         (main): Use Infinityd.
14410         * tests/test-frexpl.c: Include infinity.h.
14411         (main): Use Infinityl.
14412         * tests/test-isfinite.c: Include infinity.h.
14413         (test_isfinitef): Use Infinityf.
14414         (test_isfinited): Use Infinityd.
14415         (test_isfinitel): Use Infinityl.
14416         * tests/test-isinf.c: Include infinity.h.
14417         (test_isinff): Use Infinityf.
14418         (test_isinfd): Use Infinityd.
14419         (test_isinfl): Use Infinityl.
14420         * tests/test-isnan.c: Include infinity.h.
14421         (test_float): Use Infinityf.
14422         (test_double): Use Infinityd.
14423         (test_long_double): Use Infinityl.
14424         * tests/test-isnanf.h: Include infinity.h.
14425         (main): Use Infinityf.
14426         * tests/test-isnand.h: Include infinity.h.
14427         (main): Use Infinityd.
14428         * tests/test-isnanl.h: Include infinity.h.
14429         (main): Use Infinityl.
14430         * tests/test-ldexpl.c: Include infinity.h.
14431         (main): Use Infinityl.
14432         * tests/test-printf-posix.h: Include infinity.h.
14433         (test_function): Use Infinityd.
14434         * tests/test-roundf1.c: Include infinity.h.
14435         (main): Use Infinityf.
14436         * tests/test-round1.c: Include infinity.h.
14437         (main): Use Infinityd.
14438         * tests/test-roundl.c: Include infinity.h.
14439         (main): Use Infinityl.
14440         * tests/test-signbit.c: Include infinity.h.
14441         (test_signbitf): Use Infinityf.
14442         (test_signbitd): Use Infinityd.
14443         (test_signbitl): Use Infinityl.
14444         * tests/test-snprintf-posix.h: Include infinity.h.
14445         (test_function): Use Infinityd, Infinityl.
14446         * tests/test-sprintf-posix.h: Include infinity.h.
14447         (test_function): Use Infinityd, Infinityl.
14448         * tests/test-truncf1.c: Include infinity.h.
14449         (main): Use Infinityf.
14450         * tests/test-trunc1.c: Include infinity.h.
14451         (main): Use Infinityd.
14452         * tests/test-truncl.c: Include infinity.h.
14453         (main): Use Infinityl.
14454         * tests/test-vasnprintf-posix.c: Include infinity.h.
14455         (test_function): Use Infinityd, Infinityl.
14456         * tests/test-vasprintf-posix.c: Include infinity.h.
14457         (test_function): Use Infinityd, Infinityl.
14458         * modules/ceilf-tests (Files): Add tests/infinity.h.
14459         * modules/ceil-tests (Files): Likewise.
14460         * modules/ceill-tests (Files): Likewise.
14461         * modules/dprintf-posix-tests (Files): Likewise.
14462         * modules/floorf-tests (Files): Likewise.
14463         * modules/floor-tests (Files): Likewise.
14464         * modules/floorl-tests (Files): Likewise.
14465         * modules/fprintf-posix-tests (Files): Likewise.
14466         * modules/frexp-tests (Files): Likewise.
14467         * modules/frexp-nolibm-tests (Files): Likewise.
14468         * modules/frexpl-tests (Files): Likewise.
14469         * modules/frexpl-nolibm-tests (Files): Likewise.
14470         * modules/isfinite-tests (Files): Likewise.
14471         * modules/isinf-tests (Files): Likewise.
14472         * modules/isnan-tests (Files): Likewise.
14473         * modules/isnanf-tests (Files): Likewise.
14474         * modules/isnanf-nolibm-tests (Files): Likewise.
14475         * modules/isnand-tests (Files): Likewise.
14476         * modules/isnand-nolibm-tests (Files): Likewise.
14477         * modules/isnanl-tests (Files): Likewise.
14478         * modules/isnanl-nolibm-tests (Files): Likewise.
14479         * modules/ldexpl-tests (Files): Likewise.
14480         * modules/printf-posix-tests (Files): Likewise.
14481         * modules/roundf-tests (Files): Likewise.
14482         * modules/round-tests (Files): Likewise.
14483         * modules/roundl-tests (Files): Likewise.
14484         * modules/signbit-tests (Files): Likewise.
14485         * modules/snprintf-posix-tests (Files): Likewise.
14486         * modules/sprintf-posix-tests (Files): Likewise.
14487         * modules/truncf-tests (Files): Likewise.
14488         * modules/trunc-tests (Files): Likewise.
14489         * modules/truncl-tests (Files): Likewise.
14490         * modules/vasnprintf-posix-tests (Files): Likewise.
14491         * modules/vasprintf-posix-tests (Files): Likewise.
14492         * modules/vdprintf-posix-tests (Files): Likewise.
14493         * modules/vfprintf-posix-tests (Files): Likewise.
14494         * modules/vprintf-posix-tests (Files): Likewise.
14495         * modules/vsnprintf-posix-tests (Files): Likewise.
14496         * modules/vsprintf-posix-tests (Files): Likewise.
14497         * modules/xprintf-posix-tests (Files): Likewise.
14498
14499 2011-09-11  Bruno Haible  <bruno@clisp.org>
14500
14501         Ensure pid_t gets defined.
14502         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
14503         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14504         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
14505         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14506         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
14507         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14508         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
14509         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14510         * tests/test-fcntl-h.c: Check that pid_t is defined.
14511         * tests/test-sched.c: Likewise.
14512         * tests/test-termios.c: Likewise.
14513         * tests/test-time.c: Likewise.
14514         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
14515         * doc/posix-headers/signal.texi: Likewise.
14516         * doc/posix-headers/sys_types.texi: Likewise.
14517         * doc/posix-headers/time.texi: Likewise.
14518
14519 2011-09-11  Bruno Haible  <bruno@clisp.org>
14520
14521         acl: Fix compilation on Solaris 10 (older version).
14522         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
14523         of ACE_EVERYONE.
14524         * lib/set-mode-acl.c (qset_acl): Likewise.
14525         Reported by Christian Jullien <eligis@orange.fr>.
14526
14527 2011-09-10  Bruno Haible  <bruno@clisp.org>
14528
14529         iconv, unsetenv: Add support for MSVC compiler.
14530         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
14531         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
14532
14533 2011-09-10  Bruno Haible  <bruno@clisp.org>
14534
14535         *printf: Add support for MSVC compiler.
14536         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
14537         handles the exception caused by the %n directive. When cross-compiling,
14538         guess no on native Windows.
14539         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
14540         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
14541         emulate it through vsnprintf.
14542         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
14543         * doc/posix-functions/dprintf.texi: Update documentation regarding
14544         MSVC 9.
14545         * doc/posix-functions/fprintf.texi: Likewise.
14546         * doc/posix-functions/printf.texi: Likewise.
14547         * doc/posix-functions/snprintf.texi: Likewise.
14548         * doc/posix-functions/sprintf.texi: Likewise.
14549         * doc/posix-functions/swprintf.texi: Likewise.
14550         * doc/posix-functions/vdprintf.texi: Likewise.
14551         * doc/posix-functions/vfprintf.texi: Likewise.
14552         * doc/posix-functions/vprintf.texi: Likewise.
14553         * doc/posix-functions/vsnprintf.texi: Likewise.
14554         * doc/posix-functions/vsprintf.texi: Likewise.
14555         * doc/glibc-functions/asprintf.texi: Likewise.
14556         * doc/glibc-functions/obstack_printf.texi: Likewise.
14557         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
14558         * doc/glibc-functions/vasprintf.texi: Likewise.
14559
14560 2011-09-10  Bruno Haible  <bruno@clisp.org>
14561
14562         nocrash: Add support for native Windows.
14563         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
14564
14565 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
14566             Bruno Haible  <bruno@clisp.org>
14567
14568         absolute-header, include-next: Add support for MSVC compiler.
14569         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
14570         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
14571         directory separator in #line directives.
14572         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
14573         recognize also backslash as directory separator in #line directives.
14574
14575 2011-09-08  Jim Meyering  <meyering@redhat.com>
14576
14577         maint.mk: mark the post-release commit log with "maint: " prefix
14578         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
14579         one-line commit-log summary.
14580
14581 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
14582             Bruno Haible  <bruno@clisp.org>
14583
14584         Doc about crypt functions.
14585         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
14586         systems.
14587         * doc/posix-functions/encrypt.texi: Likewise.
14588         * doc/posix-functions/setkey.texi: Likewise.
14589
14590 2011-09-08  Simon Josefsson  <simon@josefsson.org>
14591
14592         * lib/gc.h: Fix copyright header.
14593
14594 2011-09-07  Bruno Haible  <bruno@clisp.org>
14595
14596         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
14597         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
14598         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
14599
14600 2011-09-07  Bruno Haible  <bruno@clisp.org>
14601
14602         openat: Work around compilation error with OSF/1 5.1 DTK cc.
14603         * lib/fopen.c: Use different syntax for include of <stdio.h>.
14604         * lib/freopen.c: Likewise.
14605         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
14606         * lib/lstat.c: Likewise.
14607         * lib/stat.c: Likewise.
14608         * lib/open.c: Use different syntax for include of <fcntl.h>.
14609         * lib/openat.c: Include fcntl.h again, explicitly.
14610
14611 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
14612
14613         parse-datetime: document the newly accepted format
14614         * doc/parse-datetime.texi (Combined date and time of day items):
14615         New section.
14616
14617 2011-09-06  Bruno Haible  <bruno@clisp.org>
14618
14619         acl: Fix a test failure on newer Solaris 10 with ZFS.
14620         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
14621         ENOSYS as no ACL.
14622         Reported by Jim Meyering.
14623
14624 2011-09-06  Bruno Haible  <bruno@clisp.org>
14625
14626         acl: Update for AIX >= 5.3 with NFS.
14627         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
14628         ENOSYS as no ACL.
14629
14630         acl: Fix a test failure on AIX >= 5.3 with NFS.
14631         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
14632         as no ACL.
14633
14634 2011-09-06  Bruno Haible  <bruno@clisp.org>
14635
14636         acl: Fix a test failure on IRIX 6.5 with NFS.
14637         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
14638         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
14639         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
14640         * lib/copy-acl.c (qcopy_acl): Likewise.
14641
14642 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14643
14644         openat: port to AIX 7.1 with large files
14645         AIX 7.1 does a "#define openat open64at" if large files are in use,
14646         so we can't simply #undef openat.  Use the orig_openat trick (similar
14647         to orig_open in lib/open.c) to work around the problem.  Problem
14648         reported by Kevin Brott for GNU tar, in the thread containing
14649         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
14650         * lib/openat.c (__need_system_fcntl_h): Define first.
14651         Include <fcntl.h> and <sys/types.h> before undefining.
14652         (orig_openat) [HAVE_OPENAT]: New inline function.
14653         (openat) [HAVE_OPENAT]: Do not undef.
14654         (rpl_openat): Use orig_openat, not openat.
14655
14656 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
14657             Bruno Haible  <bruno@clisp.org>
14658
14659         acl: Avoid errors on NonStop Kernel.
14660         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
14661         ENOTSUP errors.
14662
14663 2011-09-05  Bruno Haible  <bruno@clisp.org>
14664
14665         acl: Clean up Solaris code.
14666         * lib/acl-internal.h: Remove no-op #if.
14667         * lib/file-has-acl.c: Likewise.
14668         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
14669         * lib/copy-acl.c (qcopy_acl): Likewise.
14670
14671 2011-09-05  Bruno Haible  <bruno@clisp.org>
14672
14673         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
14674         binaries built on the original Solaris 10.
14675         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
14676         trivial.
14677
14678 2011-09-05  Bruno Haible  <bruno@clisp.org>
14679
14680         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14681         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
14682         10.
14683         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
14684         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
14685         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
14686         instead of acl_get, facl_get, acl_set, facl_set.
14687
14688 2011-09-05  Bruno Haible  <bruno@clisp.org>
14689
14690         copy-file: Try unit tests on more file systems.
14691         * tests/test-copy-file-1.sh: New file.
14692         * tests/test-copy-file-2.sh: New file.
14693         * modules/copy-file-tests (Files): Add them.
14694         (Makefile.am): Add them to TESTS.
14695
14696         acl: Try unit tests on more file systems.
14697         * tests/test-file-has-acl-1.sh: New file.
14698         * tests/test-file-has-acl-2.sh: New file.
14699         * tests/test-set-mode-acl-1.sh: New file.
14700         * tests/test-set-mode-acl-2.sh: New file.
14701         * tests/test-copy-acl-1.sh: New file.
14702         * tests/test-copy-acl-2.sh: New file.
14703         * modules/acl-tests (Files): Add them.
14704         (Makefile.am): Add them to TESTS.
14705
14706 2011-09-04  Bruno Haible  <bruno@clisp.org>
14707
14708         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14709         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
14710         10.
14711         (OLD_ALLOW, OLD_DENY): New macros.
14712         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
14713         ACE_ACCESS_ALLOWED_ACE_TYPE.
14714         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
14715         ACE_ACCESS_DENIED_ACE_TYPE.
14716         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
14717         (NEW_ACE_EXECUTE): Fix value.
14718         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
14719         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
14720         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
14721         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
14722         NEW_ACE_SYNCHRONIZE): New macros.
14723         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
14724         instead of acl_fromtext, acl_set, facl_set.
14725         Fixes a coreutils/tests/cp/perm failure.
14726
14727 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
14728
14729         openat: test for fstatat (..., 0) bug
14730         Further testing with tar suggests that fstatat (..., 0)
14731         does not work in general, on AIX 7.1; see
14732         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
14733         So, give up entirely on AIX 7.1's fstatat, and fall back on our
14734         replacement fstatat (which is what older AIX releases were using
14735         anyway).
14736         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
14737         use is now changed to orig_fstatat.  This was probably the right
14738         thing to do anyway.
14739         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
14740         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
14741         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
14742         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
14743         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
14744         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
14745         if the bug is found.
14746
14747         openat: test for fstatat (AT_FDCWD, ..., 0) bug
14748         This tests for another fstatat bug on AIX 7.1:
14749         fstatat (AT_FDCWD, ..., 0) does not work.  See
14750         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
14751         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
14752         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
14753         (rpl_fstatat): Adjust so that it works around either (or both)
14754         bugs if present.
14755         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
14756
14757 2011-09-03  Karl Berry  <karl@gnu.org>
14758
14759         * doc/regex.texi (Character Class Operators): Avoid literal ":"
14760         in index entries.
14761
14762 2011-09-02  Bruno Haible  <bruno@clisp.org>
14763
14764         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
14765         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
14766         values of AR, ARFLAGS, RANLIB.
14767         Reported by John W. Eaton <jwe@gnu.org> for Octave.
14768
14769 2011-09-02  Bruno Haible  <bruno@clisp.org>
14770
14771         Find 'ar' program that fits with --host argument.
14772         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
14773
14774 2011-09-02  Bruno Haible  <bruno@clisp.org>
14775
14776         tests: init.sh: Support any non-GNU diff.
14777         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
14778         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
14779         Solaris 8.
14780
14781 2011-09-02  Bruno Haible  <bruno@clisp.org>
14782
14783         tests: init.sh: work also with any non-GNU diff that supports -u
14784         * tests/init.sh: Relax check for diff -u support.
14785         Rather than checking for GNU diff via --version, simply check
14786         for support for -u itself.  Useful at least on OpenBSD 4.9,
14787         AIX 7.1, IRIX 6.5, and Solaris 10.
14788
14789 2011-09-01  Bruno Haible  <bruno@clisp.org>
14790
14791         strtoimax, strtoumax: Document problem on HP-UX 11.
14792         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
14793         * doc/posix-functions/strtoumax.texi: Likewise.
14794
14795 2011-09-01  Bruno Haible  <bruno@clisp.org>
14796
14797         strtoumax: Avoid link error on OSF/1 with DTK cc.
14798         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
14799         defined as a function.
14800         * modules/strtoumax (Depends-on, configure.ac): Test only whether
14801         strtoumax is defined, not whether it is declared.
14802
14803 2011-09-01  Bruno Haible  <bruno@clisp.org>
14804
14805         strtoimax: Avoid link error on OSF/1 with DTK cc.
14806         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
14807         defined as a function.
14808         * modules/strtoimax (Depends-on, configure.ac): Test only whether
14809         strtoimax is defined, not whether it is declared.
14810
14811 2011-09-01  Bruno Haible  <bruno@clisp.org>
14812
14813         imaxdiv: Avoid link error on OSF/1 with DTK cc.
14814         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
14815         as a function.
14816         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
14817         whether it is declared.
14818
14819 2011-09-01  Bruno Haible  <bruno@clisp.org>
14820
14821         imaxabs: Avoid link error on OSF/1 with DTK cc.
14822         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
14823         as a function.
14824         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
14825         whether it is declared.
14826
14827 2011-09-01  Bruno Haible  <bruno@clisp.org>
14828
14829         Tests for module 'strtoumax'.
14830         * modules/strtoumax-tests: New file.
14831         * tests/test-strtoumax.c: New file.
14832
14833         Tests for module 'strtoimax'.
14834         * modules/strtoimax-tests: New file.
14835         * tests/test-strtoimax.c: New file.
14836
14837         Tests for module 'imaxdiv'.
14838         * modules/imaxdiv-tests: New file.
14839         * tests/test-imaxdiv.c: New file.
14840
14841         Tests for module 'imaxabs'.
14842         * modules/imaxabs-tests: New file.
14843         * tests/test-imaxabs.c: New file.
14844
14845 2011-09-01  Bruno Haible  <bruno@clisp.org>
14846
14847         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
14848         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
14849         pthread_create.
14850
14851 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14852
14853         openat: work around AIX 7.1 fstatat issue
14854         This should fix the problem that was not properly fixed
14855         in the previous change, dated 2011-08-30.
14856         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
14857         __need_system_stat_h defined.
14858         (orig_fstatat) [HAVE_FSTATAT]: New function.
14859         (rpl_fstatat): Go back to the old way of doing things,
14860         except call orig_fstatat instead of fstatat.
14861         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
14862         Remove unnecessary check whether fstatat fills in st_size etc.
14863
14864 2011-09-01  Bruno Haible  <bruno@clisp.org>
14865
14866         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
14867         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
14868         just include the system's header.
14869
14870 2011-08-31  Jim Meyering  <meyering@redhat.com>
14871
14872         tests: avoid spurious assertion failure in test-float.c on ppc64
14873         * tests/test-float.c (test_long_double): Comment out an assertion,
14874         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
14875         with gcc-4.4.4.
14876
14877         maint: indent with spaces, not TABs
14878         I need to get in the habit of running gnulib's "make check".
14879         Both of these would have been caught.
14880         * m4/largefile.m4: Indent with spaces, not TABs.
14881         * lib/parse-datetime.y (iso_8601_time): Likewise.
14882         Spotted by Pádraig Brady.
14883
14884         test-parse-datetime.c: accommodate a relatively strict gcc warning
14885         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
14886         to avoid a warning from gcc's -Werror=missing-declarations.
14887         Insert a few spaces-before-funcall-parenthesis.
14888
14889 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
14890
14891         parse-datetime: accept ISO 8601 date and time rep with "T" separator
14892         The parser now accepts ISO 8601 date-time strings with "T" as the
14893         separator.  It has long parsed dates like "2004-02-29 16:21:42"
14894         with a space between the date and time strings.  Now it also parses
14895         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
14896         variants like "2004-02-29T16:21:42.333-07:00"
14897         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
14898         of day representation using the 'T' separator character.
14899         * doc/parse-datetime.texi (General date syntax): replace use of
14900         deprecated --iso-8601 option with --rfc-3339 in example of date
14901         command output formats that can be parsed.
14902         * tests/test-parse-datetime.c (tm_diff): New function, taken from
14903         lib/parse-datetime.y.
14904         (gmt_offset): New function.
14905         (main): Add additional test cases to validate ISO8601 extended
14906         date and time of day parsing.
14907
14908 2011-08-31  Bruno Haible  <bruno@clisp.org>
14909
14910         freopen: Documentation.
14911         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
14912         name.
14913         Reported by Claudio Bley <claudio.bley@gmail.com>.
14914
14915 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
14916
14917         freopen: Don't crash if the filename argument is NULL.
14918         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
14919         NULL.
14920
14921 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
14922
14923         openat: work around AIX 7.1 fstatat bug
14924         Problem reported by Kevin Brott for GNU tar, in the thread containing
14925         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
14926         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
14927         FSTATAT_ST_SIZE_ETC_BROKEN.
14928         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
14929         rpl_fstatat.
14930         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
14931         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
14932         AC_CHECK_FUNCS_ONCE for fstatat.
14933         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
14934         fchmodat, mkdirat, openat and unlinkat.
14935
14936 2011-08-30  Bruno Haible  <bruno@clisp.org>
14937
14938         Avoid endless recursions if config.h includes some header files.
14939         * lib/fopen.c (__need_FILE): Define already before including config.h.
14940         * lib/freopen.c (__need_FILE): Likewise.
14941         * lib/open.c (__need_system_fcntl_h): Likewise.
14942         * lib/stat.c (__need_system_sys_stat_h): Likewise.
14943         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
14944         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
14945
14946 2011-08-25  Karl Berry  <karl@gnu.org>
14947
14948         * config/srclist.txt (ylwrap): new try.
14949         * build-aux/ylwrap: new file.
14950
14951 2011-08-23  Bruno Haible  <bruno@clisp.org>
14952
14953         tmpdir: Use a good default directory on native Windows.
14954         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
14955         (P_tmpdir): Default to _P_tmpdir on native Windows.
14956         (path_search): On native Windows, try the value returned by GetTempPath
14957         before trying P_tmpdir.
14958         * modules/tmpdir (Depends-on): Add pathmax.
14959         Suggested by John Darrington <john@darrington.wattle.id.au>.
14960
14961 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
14962
14963         doc: fix typo in README-release
14964         * top/README-release: Capitalize first word of a sentence.
14965
14966 2011-08-19  Jim Meyering  <meyering@redhat.com>
14967
14968         fts: do not exhaust memory when processing million-entry directories
14969         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
14970         directory would require about 256*N bytes of memory.  Thus, it was
14971         easy to construct a directory too large to be processed by any of
14972         those tools.  With this change, fts' maximum memory utilization is
14973         now limited to around 30MB.
14974         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
14975         (fts_read): When we've processed the final entry (i.e., when
14976         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
14977         using the parent entry to read any remaining entries.  Dispatch
14978         depending on what fts_build returns:
14979         - NULL+stop, aka failure: stop
14980         - NULL otherwise: move up in the dir hierarchy
14981         - non-NULL: handle this new entry
14982         (fts_build): Declare and use new local, continue_readdir.
14983         Prepare to be called from fts_read, when the entries
14984         from a partially-read directory have just been exhausted.
14985         In that case, we'll skip the opendir and instead use the parent's
14986         fts_dirp and derive dir_fd from that.
14987         Finally, in the readdir loop, if we read max_entries entries,
14988         exit the loop ensuring *not* to call closedir.  This is required
14989         so that fts_dirp can be reused on a subsequent call.
14990         Prompted by Ben England's report of memory exhaustion in find
14991         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
14992
14993         maint: fts: move decl of `dp' down into while loop; split a long line
14994         * lib/fts.c (fts_build): No semantic change.
14995
14996         fts: add/use new struct member, fts_dirp
14997         We are about to use this to manage any directory with
14998         too many entries to read all of them into memory at once.
14999         To do that, we'll need to save the DIR* pointer in each
15000         affected FTSENT struct.
15001         * lib/fts_.h: Include <dirent.h>.
15002         (struct FTSENT) [fts_dirp]: New member.
15003         * lib/fts.c (closedir_and_clear): Define.
15004         Use it in place of closedir so that we are sure to
15005         clear the new fts_dirp member when done with it.
15006         (fts_alloc): Initialize the new member.
15007         (fts_lfree): Free, if needed.
15008
15009         maint: fts: give __opendir2 a new parameter and rename
15010         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
15011         than surreptitiously using sole caller's "dir_fd".
15012         (fts_opendir): Rename from __opendir2.
15013
15014         maint: fts.c: remove __opendir2's now-unused parameter, oflag
15015         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
15016
15017         maint: fts.c: correct off-by-one indentation
15018         * lib/fts.c (fts_build): Correct indentation, change style
15019         of a couple of block comments, and bracing style.
15020
15021         maint: fts.c: move __opendir2 #define "up" out of function body
15022         * lib/fts.c (__opendir2): Move "up".  No semantic change.
15023
15024         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
15025         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
15026         out for a long time and besides was useful only on BSD systems.
15027
15028 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
15029
15030         regex: port to Stratus OpenVOS
15031         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
15032         define to empty, rather than attempting nonportable optimizations.
15033         Problem reported by Paul Green in:
15034         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
15035         and fix suggested by Eric Blake in:
15036         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
15037
15038 2011-08-17  Eric Blake  <eblake@redhat.com>
15039
15040         getcwd: fix test failures on mingw
15041         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
15042         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
15043         test if long directory cannot be created, and allow mingw errno.
15044
15045         getcwd-lgpl: fix m4 to match relaxed test for BSD
15046         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
15047         (gl_FUNC_GETCWD_SIGNATURE): New macro.
15048         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
15049         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
15050         signature problem.
15051
15052         getcwd: fix compilation on mingw64
15053         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
15054         getcwd.
15055         Reported by Marc-André Lureau.
15056
15057         pipe2: silence compiler warning
15058         * lib/pipe2.c (pipe2): Hide label if it is not used.
15059
15060 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
15061
15062         relocatable-prog: fix link error
15063         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
15064         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
15065         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
15066         into modules/relocatable-lib without noticing that
15067         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
15068         also needs to build relocatable.c.
15069
15070 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15071
15072         getaddrinfo: fix sh typo in gai_strerrorA decl checking
15073         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
15074         shell code: it contained a 'break' that was not in a loop.
15075         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
15076         via a shell-language loop; this may have been true in old Autoconf
15077         versions, but it's not true in Autoconf 2.68.  I found this bug
15078         when testing coreutils git on Solaris 8, whose shell complains
15079         about the syntax error.
15080
15081 2011-08-12  Simon Josefsson  <simon@josefsson.org>
15082
15083         * lib/base64.c: Fix comment to reference RFC 4648.
15084         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
15085         <gvtulder@gmail.com>.
15086
15087 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15088
15089         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
15090
15091         po/Makefile.in.in: fix make -q problem
15092         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
15093         rule, since there's no file named 'check-macro-version' and its
15094         use as a file breaks make -q.
15095         (all): Don't depend on check-macro-version.
15096         (CHECK_MACRO_VERSION): New macro.
15097         (stamp-po): Use it.
15098
15099         configmake: fix make -q problem
15100         * modules/configmake (configmake.h): Update configmake.h's time stamp
15101         even if the file does not change.  Otherwise, 'make -q' fails.
15102         Problem reported by Simon Josefsson in
15103         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
15104
15105 2011-08-11  Jim Meyering  <meyering@redhat.com>
15106
15107         git-version-gen: correct the advice in a comment
15108         * build-aux/git-version-gen: Correct comment.
15109         Don't recommend to list .tarball-version in .gitignore.
15110
15111 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
15112
15113         base64: fix off-by-one buffer size bug
15114         Problem and (trivial) fix reported by Gijs van Tulder in
15115         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
15116         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
15117         * tests/test-base64.c (main): Catch the bug.
15118
15119 2011-08-10  Eric Blake  <eblake@redhat.com>
15120
15121         closein: correct comments
15122         * lib/closein.c (close_stdin): Improve comments.
15123
15124 2011-08-09  Bruno Haible  <bruno@clisp.org>
15125
15126         More tests for 'fseeko'.
15127         * tests/test-fseeko3.c: New file, from Eric Blake.
15128         * tests/test-fseeko3.sh: New file.
15129         * modules/fseeko-tests (Files): Add them.
15130         (TESTS): Add test-fseeko3.sh.
15131         (check_PROGRAMS): Add test-fseeko3.
15132
15133 2011-08-09  Eric Blake  <eblake@redhat.com>
15134
15135         fseeko: remove unneeded hack
15136         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
15137
15138         fseeko: fix bug on glibc
15139         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
15140         Reported by John W. Eaton.
15141
15142 2011-08-08  Bruno Haible  <bruno@clisp.org>
15143
15144         unictype/base: Fix interoperability with preinstalled libunistring.
15145         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
15146         Reported by Simon Josefsson.
15147
15148 2011-08-08  Bruno Haible  <bruno@clisp.org>
15149
15150         iswblank: Detect declaration correctly.
15151         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
15152         AC_CHECK_DECLS invocation.
15153
15154 2011-08-08  Bruno Haible  <bruno@clisp.org>
15155
15156         tcgetsid: Detect declaration correctly.
15157         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
15158         AC_CHECK_DECLS invocation.
15159         Reported by Simon Josefsson.
15160
15161 2011-08-08  Eric Blake  <eblake@redhat.com>
15162
15163         largefile: fix typo that regressed large file support
15164         * modules/largefile (configure.ac-early): Fix section name.
15165
15166 2011-08-06  Karl Berry  <karl@gnu.org>
15167
15168         * MODULES.html.sh (func_all_files): _Noreturn is no longer
15169         a separate module.
15170
15171 2011-08-05  Simon Josefsson  <simon@josefsson.org>
15172
15173         openat: Fix warnings and commens when building unlinkat.c on Hurd.
15174         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
15175         get prototype for free.
15176
15177 2011-08-04  Bruno Haible  <bruno@clisp.org>
15178
15179         Tests for module 'pathmax'.
15180         * modules/pathmax-tests: New file.
15181         * tests/test-pathmax.c: New file.
15182
15183         canonicalize-lgpl: Support larger filenames on the Hurd.
15184         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
15185         Reported by Paul Eggert.
15186
15187         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
15188         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
15189         * lib/chdir-long.h: Include pathmax.h.
15190         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
15191         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
15192         (PATH_MAX): Remove code that is done by pathmax.h.
15193         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
15194         * lib/tmpfile.c: Add a comment.
15195         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
15196         * modules/chdir-long (Depends-on): Add pathmax.
15197         * modules/getcwd (Depends-on): Add pathmax.
15198         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
15199         is not defined.
15200         * doc/posix-headers/limits.texi: Mention the pathmax module.
15201         * NEWS: Mention the change.
15202
15203 2011-08-02  Bruno Haible  <bruno@clisp.org>
15204
15205         pthread_sigmask: Actually use results of gl_THREADLIB.
15206         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
15207         gl_THREADLIB, not gl_[]THREADLIB.
15208         Reported by Eric Blake.
15209
15210 2011-08-02  Jim Meyering  <meyering@redhat.com>
15211
15212         maint.mk: relax the default _gl_TS_function_match regexp
15213         * top/maint.mk (_gl_TS_function_match): Don't require at least one
15214         space between function name and "(" in an "extern" declaration.
15215         That would fail to match a decl with no space there: extern void foo();
15216
15217 2011-07-31  Iain Nicol  <iain@thenicols.net>
15218
15219         git-version-gen: document that EXTRA_DIST must include .version
15220         * build-aux/git-version-gen: In the how-to-use comment, document
15221         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
15222         will fail when run from an unpacked distribution tarball.
15223
15224 2011-08-01  Bruno Haible  <bruno@clisp.org>
15225
15226         wctype-h: Fix last change.
15227         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
15228         REPLACE_TOWLOWER to 0.
15229         Reported by Sam Steingold <sds@gnu.org>.
15230
15231 2011-07-31  Bruno Haible  <bruno@clisp.org>
15232
15233         frexpl: Update autoconf test.
15234         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
15235         according to changes of 2011-06-20.
15236
15237 2011-07-31  Bruno Haible  <bruno@clisp.org>
15238
15239         sys_utsname: Add support for Minix.
15240         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
15241         <sys/utsname.h>.
15242         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15243         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
15244
15245 2011-07-31  Bruno Haible  <bruno@clisp.org>
15246
15247         strings: Add support for Minix.
15248         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
15249         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
15250         * doc/posix-headers/strings.texi: Document the Minix problem.
15251
15252 2011-07-31  Bruno Haible  <bruno@clisp.org>
15253
15254         wctype-h: Add support for Minix.
15255         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
15256         REPLACE_TOWLOWER.
15257         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
15258         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
15259         REPLACE_ISWCNTRL.
15260
15261 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
15262
15263         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
15264         This is a performance improvement for 64-bit hosts: it causes the
15265         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
15266
15267 2011-07-31  Bruno Haible  <bruno@clisp.org>
15268
15269         stdioext: Add support for Minix.
15270         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
15271         * lib/fpurge.c (fpurge): Likewise.
15272         * lib/freadahead.c (freadahead): Likewise.
15273         * lib/freadable.c (freadable): Likewise.
15274         * lib/freading.c (freading): Likewise.
15275         * lib/freadptr.c (freadptr): Likewise.
15276         * lib/freadseek.c (freadptrinc): Likewise.
15277         * lib/fseeko.c (rpl_fseeko): Likewise.
15278         * lib/fseterr.c (fseterr): Likewise.
15279         * lib/fwritable.c (fwritable): Likewise.
15280         * lib/fwriting.c (fwriting): Likewise.
15281         * lib/fflush.c (clear_ungetc_buffer): Update comment.
15282         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
15283
15284 2011-07-31  Bruno Haible  <bruno@clisp.org>
15285
15286         errno: Port to Minix.
15287         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
15288         ECONNABORTED are defined.
15289         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
15290         GNULIB_defined_ECONNABORTED): New macros.
15291         * lib/strerror-override.h (strerror_override): Test also
15292         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
15293         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
15294         ECONNABORTED.
15295         * doc/posix-headers/errno.texi: Mention the Minix problem.
15296
15297 2011-07-31  Bruno Haible  <bruno@clisp.org>
15298
15299         Work around declaration collisions on Minix.
15300         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
15301         defined, set REPLACE_MBSINIT.
15302         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
15303         defined, set REPLACE_MBRTOWC.
15304         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
15305         set REPLACE_MBRLEN.
15306         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
15307         defined, set REPLACE_MBSRTOWCS.
15308         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
15309         defined, set REPLACE_WCRTOMB.
15310         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
15311         defined, set REPLACE_WCSRTOMBS.
15312
15313 2011-07-31  Bruno Haible  <bruno@clisp.org>
15314
15315         Add support for Minix with ACK compiler.
15316         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
15317         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
15318         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
15319
15320 2011-07-31  Bruno Haible  <bruno@clisp.org>
15321
15322         Documentation about Minix.
15323         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
15324         * doc/glibc-headers/*.texi: Likewise.
15325         * doc/posix-functions/*.texi: Likewise.
15326         * doc/glibc-functions/*.texi: Likewise.
15327
15328 2011-07-31  Bruno Haible  <bruno@clisp.org>
15329
15330         snippet/warn-on-use: Fix indentation.
15331         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
15332
15333 2011-07-25  Jim Meyering  <meyering@redhat.com>
15334
15335         tests: test-update-copyright.sh: remove unnecessary "rm" commands
15336         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
15337         commands.
15338
15339 2011-07-27  Jim Meyering  <meyering@redhat.com>
15340
15341         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
15342         * top/maint.mk (gl_extract_significant_defines_): Now that
15343         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
15344         gnulib/lib/signal.in.h, and now that we recommend to
15345         define-if-undefined those two symbols in application code,
15346         we must filter them out of the "significant" list.
15347         This avoids a "make syntax-check" failure in coreutils.
15348
15349 2011-07-26  Eric Blake  <eblake@redhat.com>
15350
15351         warnings: add comments about previous patch
15352         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
15353         * m4/include_next.m4: Likewise.
15354         * m4/warn-on-use.m4: Likewise.
15355         * m4/warnings.m4: Likewise, and simplify use.
15356         Suggested by Stefano Lattarini.
15357
15358         include-next, warnings: support older autoconf
15359         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
15360         AS_VAR_PUSHDEF in a way that works with older autoconf.
15361         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
15362         Reported by Daniel P. Berrange.
15363
15364 2011-07-25  Bruno Haible  <bruno@clisp.org>
15365
15366         fseek, ftell: Fix doc.
15367         * doc/posix-functions/fseek.texi: Reword statement about
15368         AC_SYS_LARGEFILE.
15369         * doc/posix-functions/ftell.texi: Likewise.
15370
15371 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15372             Bruno Haible  <bruno@clisp.org>
15373
15374         Add dependencies to the 'largefile' module.
15375         * modules/fopen (Depends-on): Add 'largefile'.
15376         * modules/freopen (Depends-on): Likewise.
15377         * modules/fseeko (Depends-on): Likewise.
15378         * modules/ftello (Depends-on): Likewise.
15379         * modules/glob (Depends-on): Likewise.
15380         * modules/lseek (Depends-on): Likewise.
15381         * modules/lstat (Depends-on): Likewise.
15382         * modules/mkostemp (Depends-on): Likewise.
15383         * modules/mkostemps (Depends-on): Likewise.
15384         * modules/mkstemp (Depends-on): Likewise.
15385         * modules/mkstemps (Depends-on): Likewise.
15386         * modules/open (Depends-on): Likewise.
15387         * modules/openat (Depends-on): Likewise.
15388         * modules/pread (Depends-on): Likewise.
15389         * modules/pwrite (Depends-on): Likewise.
15390         * modules/scandir (Depends-on): Likewise.
15391         * modules/stat (Depends-on): Likewise.
15392         * modules/tmpfile (Depends-on): Likewise.
15393         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
15394         since the containing module now depends on the largefile module.
15395         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
15396         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
15397         off_t is fixed by gnulib.
15398         * doc/posix-functions/freopen.texi: Likewise.
15399         * doc/posix-functions/fseeko.texi: Likewise.
15400         * doc/posix-functions/fstatat.texi: Likewise.
15401         * doc/posix-functions/ftello.texi: Likewise.
15402         * doc/posix-functions/glob.texi: Likewise.
15403         * doc/posix-functions/lseek.texi: Likewise.
15404         * doc/posix-functions/lstat.texi: Likewise.
15405         * doc/posix-functions/mkstemp.texi: Likewise.
15406         * doc/posix-functions/open.texi: Likewise.
15407         * doc/posix-functions/openat.texi: Likewise.
15408         * doc/posix-functions/pread.texi: Likewise.
15409         * doc/posix-functions/pwrite.texi: Likewise.
15410         * doc/posix-functions/scandir.texi: Likewise.
15411         * doc/posix-functions/stat.texi: Likewise.
15412         * doc/posix-functions/tmpfile.texi: Likewise.
15413         * doc/glibc-functions/mkostemp.texi: Likewise.
15414         * doc/glibc-functions/mkostemps.texi: Likewise.
15415         * doc/glibc-functions/mkstemps.texi: Likewise.
15416
15417 2011-07-25  Bruno Haible  <bruno@clisp.org>
15418
15419         fcntl: Move AC_LIBOBJ invocation to module description.
15420         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
15421         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
15422
15423         fcntl: Remove call-in from fchdir.m4.
15424         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
15425         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
15426
15427         dup3: Remove potential call-in from fchdir.m4.
15428         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
15429         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
15430
15431         dup2: Move AC_LIBOBJ invocation to module description.
15432         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
15433         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
15434         Don't invoke AC_LIBOBJ.
15435         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
15436
15437         dup2: Remove call-in from fchdir.m4.
15438         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
15439         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
15440
15441         fclose: Move AC_LIBOBJ invocation to module description.
15442         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
15443         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
15444         to 1.
15445         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
15446
15447         fclose: Remove call-in from close.m4.
15448         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
15449         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
15450
15451         close: Move AC_LIBOBJ invocation to module description.
15452         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
15453         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
15454         1.
15455         * modules/close (configure.ac): Invoke AC_LIBOBJ.
15456
15457         close: Remove call-in from fchdir.m4.
15458         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
15459         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
15460
15461         open: Move AC_LIBOBJ invocation to module description.
15462         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
15463         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
15464         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
15465
15466         open: Remove call-in from fchdir.m4.
15467         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
15468         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
15469
15470         fchdir: Start to remove gl_REPLACE_* idiom.
15471         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
15472         (gl_FUNC_FCHDIR): Invoke it.
15473
15474 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15475
15476         * lib/ftell.c (ftell): Comment out cast.
15477
15478         close: use gl_REPLACE_FCLOSE only if defined
15479         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
15480         is defined.  The close module doesn't depend on the fclose module
15481         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
15482         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
15483         I reproduced the problem with "./gnulib-tool --test close sys_socket".
15484
15485 2011-07-24  Jim Meyering  <meyering@redhat.com>
15486
15487         test-select.h: avoid warning when using gcc's -Wmissing-declarations
15488         * tests/test-select.h (test_function): Declare as "static".
15489
15490 2011-07-24  Bruno Haible  <bruno@clisp.org>
15491
15492         doc: Mention the effects of AC_SYS_LARGEFILE.
15493         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
15494         on this function.
15495         * doc/posix-functions/aio_error.texi: Likewise.
15496         * doc/posix-functions/aio_fsync.texi: Likewise.
15497         * doc/posix-functions/aio_read.texi: Likewise.
15498         * doc/posix-functions/aio_return.texi: Likewise.
15499         * doc/posix-functions/aio_suspend.texi: Likewise.
15500         * doc/posix-functions/aio_write.texi: Likewise.
15501         * doc/posix-functions/fgetpos.texi: Likewise.
15502         * doc/posix-functions/fopen.texi: Likewise.
15503         * doc/posix-functions/freopen.texi: Likewise.
15504         * doc/posix-functions/fsetpos.texi: Likewise.
15505         * doc/posix-functions/fstatvfs.texi: Likewise.
15506         * doc/posix-functions/ftruncate.texi: Likewise.
15507         * doc/posix-functions/ftw.texi: Likewise.
15508         * doc/posix-functions/getrlimit.texi: Likewise.
15509         * doc/posix-functions/glob.texi: Likewise.
15510         * doc/posix-functions/lio_listio.texi: Likewise.
15511         * doc/posix-functions/lockf.texi: Likewise.
15512         * doc/posix-functions/mkstemp.texi: Likewise.
15513         * doc/posix-functions/mmap.texi: Likewise.
15514         * doc/posix-functions/nftw.texi: Likewise.
15515         * doc/posix-functions/openat.texi: Likewise.
15516         * doc/posix-functions/opendir.texi: Likewise.
15517         * doc/posix-functions/posix_fadvise.texi: Likewise.
15518         * doc/posix-functions/posix_fallocate.texi: Likewise.
15519         * doc/posix-functions/pread.texi: Likewise.
15520         * doc/posix-functions/pwrite.texi: Likewise.
15521         * doc/posix-functions/readdir.texi: Likewise.
15522         * doc/posix-functions/readdir_r.texi: Likewise.
15523         * doc/posix-functions/rewinddir.texi: Likewise.
15524         * doc/posix-functions/scandir.texi: Likewise.
15525         * doc/posix-functions/seekdir.texi: Likewise.
15526         * doc/posix-functions/setrlimit.texi: Likewise.
15527         * doc/posix-functions/statvfs.texi: Likewise.
15528         * doc/posix-functions/telldir.texi: Likewise.
15529         * doc/posix-functions/tmpfile.texi: Likewise.
15530         * doc/posix-functions/truncate.texi: Likewise.
15531         * doc/glibc-functions/fallocate.texi: Likewise.
15532         * doc/glibc-functions/fstatfs.texi: Likewise.
15533         * doc/glibc-functions/fts_children.texi: Likewise.
15534         * doc/glibc-functions/fts_read.texi: Likewise.
15535         * doc/glibc-functions/getdirentries.texi: Likewise.
15536         * doc/glibc-functions/mkostemp.texi: Likewise.
15537         * doc/glibc-functions/mkostemps.texi: Likewise.
15538         * doc/glibc-functions/mkstemps.texi: Likewise.
15539         * doc/glibc-functions/preadv.texi: Likewise.
15540         * doc/glibc-functions/pwritev.texi: Likewise.
15541         * doc/glibc-functions/sendfile.texi: Likewise.
15542         * doc/glibc-functions/statfs.texi: Likewise.
15543
15544 2011-07-24  Bruno Haible  <bruno@clisp.org>
15545
15546         doc: Fix typo.
15547         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
15548
15549 2011-07-24  Bruno Haible  <bruno@clisp.org>
15550
15551         doc: Mention fsusage.
15552         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
15553
15554 2011-07-24  Bruno Haible  <bruno@clisp.org>
15555
15556         doc: Mention new glibc headers and functions.
15557         * doc/glibc-headers/gshadow.texi: New file.
15558         * doc/glibc-functions/endsgent.texi: New file.
15559         * doc/glibc-functions/fgetsgent.texi: New file.
15560         * doc/glibc-functions/fgetsgent_r.texi: New file.
15561         * doc/glibc-functions/getsgent.texi: New file.
15562         * doc/glibc-functions/getsgent_r.texi: New file.
15563         * doc/glibc-functions/getsgnam.texi: New file.
15564         * doc/glibc-functions/getsgnam_r.texi: New file.
15565         * doc/glibc-functions/putsgent.texi: New file.
15566         * doc/glibc-functions/setsgent.texi: New file.
15567         * doc/glibc-functions/sgetsgent.texi: New file.
15568         * doc/glibc-functions/sgetsgent_r.texi: New file.
15569         * doc/glibc-functions/malloc_info.texi: New file.
15570         * doc/glibc-functions/preadv.texi: New file.
15571         * doc/glibc-functions/pwritev.texi: New file.
15572         * doc/glibc-functions/register_printf_modifier.texi: New file.
15573         * doc/glibc-functions/register_printf_specifier.texi: New file.
15574         * doc/glibc-functions/register_printf_type.texi: New file.
15575         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
15576         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
15577         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
15578         * doc/glibc-functions/pthread_getname_np.texi: New file.
15579         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
15580         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
15581         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
15582         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
15583         * doc/glibc-functions/pthread_setname_np.texi: New file.
15584         * doc/glibc-functions/pthread_sigqueue.texi: New file.
15585         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
15586         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
15587         * doc/glibc-functions/qsort_r.texi: New file.
15588         * doc/glibc-functions/quick_exit.texi: New file.
15589         * doc/glibc-functions/syncfs.texi: New file.
15590         * doc/gnulib.texi: Include them.
15591         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
15592         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
15593         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
15594         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
15595         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
15596         * doc/glibc-functions/execvpe.texi: Likewise.
15597
15598 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15599
15600         ftell: don't include <unistd.h>
15601         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
15602         guaranteed to define off_t, and the ftell module depends on the
15603         stdio module.
15604
15605         ftell: do not assume wraparound signed arithmetic
15606         * lib/ftell.c: Include <limits.h>.
15607         (ftell): Don't assume wraparound signed arithmetic.
15608
15609 2011-07-24  Bruno Haible  <bruno@clisp.org>
15610
15611         close: No longer depend on module 'fclose'.
15612         * modules/close (Depends-on): Remove fclose.
15613         * NEWS: Mention the change.
15614         Suggested by Sam Steingold <sds@gnu.org>.
15615
15616 2011-07-24  Bruno Haible  <bruno@clisp.org>
15617
15618         fsusage: Enable large volume support on AIX >= 5.2.
15619         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
15620         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
15621         instead of STAT_STATVFS.
15622         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
15623
15624         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
15625         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
15626         f_blocks field only on MacOS X.
15627
15628         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
15629         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
15630         * modules/fsusage (Depends-on): Add largefile.
15631
15632 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15633
15634         * README: Modernize discussion of signed integers.
15635         Assuming overflow wraparound is no longer safe.
15636         Mention ones' complement and signed magnitude.
15637
15638 2011-07-22  Bruno Haible  <bruno@clisp.org>
15639
15640         select tests, pselect tests: Refactor.
15641         * tests/test-select.h: New file, extracted from tests/test-select.c.
15642         (select_fn): New type.
15643         (test, do_select, do_select_nowait, do_select_wait, test_tty,
15644         test_connect_first, test_accept_first, test_pair, test_socket_pair,
15645         test_pipe): Add my_select argument.
15646         (test_function): Renamed from main. Add my_select argument.
15647         * tests/test-select.c: Move most code to tests/test-select.h. Include
15648         test-select.h.
15649         * modules/select-tests (Files): Add tests/test-select.h.
15650         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
15651         (my_select, main): New functions.
15652         * modules/pselect-tests (Files): Add tests/test-select.h,
15653         tests/macros.h, tests/signature.h.
15654         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
15655         (configure.ac): Check for <sys/wait.h>.
15656
15657 2011-07-22  Bruno Haible  <bruno@clisp.org>
15658
15659         sys_select tests: Check the signature of FD_*.
15660         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
15661         signature tests from here...
15662         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
15663         here.
15664         * modules/sys_select-tests (Files): Add tests/signature.h.
15665
15666 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15667
15668         largefile: new module, replacing large-inode
15669         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
15670         * MODULES.html.sh: Add largefile, remove large-inode.
15671         * modules/largefile, m4/largefile.m4: New files.
15672         * modules/large-inode, m4/large-inode.m4: Remove.
15673
15674         fsusage: port to MacOS X 10.7 with 4 TiB file systems
15675         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
15676         implementations that use only 32 bits to count blocks.
15677         On typical hosts with 1024-byte blocks, this fails with file
15678         systems as small as 4 TiB.  Problem reported by Herb Wartens
15679         <http://debbugs.gnu.org/9140> and this should also fix a similar
15680         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
15681
15682         large-inode: New module
15683         * MODULES.html.sh: Add it.
15684         * modules/large-inode, m4/large-inode.m4: New files.
15685
15686         extensions: Enable extensions on MacOS X 10.5 and later.
15687         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
15688
15689 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
15690
15691         file-has-acl: use acl_extended_file_nofollow if available
15692         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
15693         (acl_extended_file): New macro.
15694         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
15695         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
15696
15697 2011-07-21  Bruno Haible  <bruno@clisp.org>
15698
15699         Declare system functions in a way that works with C++.
15700         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
15701         declare fdopendir as extern "C".
15702         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
15703         declare frexpl as extern "C".
15704         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
15705         declare gai_strerror as extern "C".
15706         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
15707         programs, declare gai_strerror as extern "C".
15708         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
15709         declare getlogin_r as extern "C".
15710         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
15711         as extern "C".
15712         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
15713         declare ldexpl as extern "C".
15714         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
15715         as extern "C".
15716         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
15717         program, declare getmntinfo as extern "C".
15718         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
15719         stpncpy as extern "C".
15720         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
15721         program, declare __xpg_strerror_r as extern "C".
15722         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
15723         strndup as extern "C".
15724         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
15725         declare memset and bzero as extern "C".
15726         Reported by Sam Steingold <sds@gnu.org>.
15727
15728 2011-07-12  Jim Meyering  <meyering@redhat.com>
15729
15730         maint.mk: prohibit inclusion of "verify.h" without use
15731         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
15732
15733 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15734
15735         timer-time: A new module to check for timer_settime()
15736         * m4/timer_time.m4: Check for the posix function.
15737         * modules/timer-time: Add the new module.
15738         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
15739         Mention it.
15740
15741 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
15742             Bruno Haible  <bruno@clisp.org>
15743
15744         pthread_sigmask: assume POSIX threads if --avoid=threadlib
15745         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
15746         not defined, assume POSIX threads and look for pthread_sigmask in
15747         $LIBS, without changing $CPPFLAGS.
15748
15749 2011-07-19  Bruno Haible  <bruno@clisp.org>
15750
15751         strstr: Update cross-compilation guess.
15752         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
15753         CPUs, guess no, in view of glibc
15754         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
15755         Suggested by Eric Blake. Reported by Reuben Thomas.
15756
15757 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15758
15759         getopt-gnu: suppress core dumps from detection code
15760         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
15761         to suppress core dumps that may well occur on glibc systems.
15762         * modules/getopt-gnu: Depend on nocrash.
15763
15764 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15765
15766         pthread_sigmask: ensure usleep is declared
15767         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
15768         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
15769
15770 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
15771
15772         doc: Document NonStop portability issues.
15773         * doc/posix-functions/sigaction.texi (sigaction):
15774         * doc/posix-headers/signal.texi (signal.h):
15775         Document NonStop.  See Joachim Schmitz in
15776         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
15777
15778 2011-07-15  Bruno Haible  <bruno@clisp.org>
15779
15780         ffsl, ffsll: Avoid unportable behaviour.
15781         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
15782
15783 2011-07-15  Bruno Haible  <bruno@clisp.org>
15784
15785         ffs: More tests.
15786         * tests/test-ffs.c (NBITS): New macro.
15787         (main): Add more tests.
15788         * tests/test-ffsl.c (NBITS): New macro.
15789         (main): Add more tests.
15790         * tests/test-ffsll.c (NBITS): New macro.
15791         (main): Add more tests.
15792
15793 2011-07-15  Eric Blake  <eblake@redhat.com>
15794
15795         ffsl, ffsll: new modules
15796         * modules/ffsl: New file.
15797         * modules/ffsll: Likewise.
15798         * m4/ffsl.m4: Likewise.
15799         * m4/ffsll.m4: Likewise.
15800         * lib/ffsl.c: Likewise.
15801         * lib/ffsl.h: Likewise.
15802         * lib/ffsll.c: Likewise.
15803         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
15804         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
15805         * modules/string (Makefile.am): Substitute witnesses.
15806         * lib/strings.in.h (ffsl, ffsll): Declare.
15807         * modules/ffsl-tests: New test file.
15808         * modules/ffsll-tests: Likewise.
15809         * tests/test-ffsl.c: Likewise.
15810         * tests/test-ffsll.c: Likewise.
15811         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15812         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
15813         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
15814
15815         ffs: fix m4 prerequisite
15816         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
15817
15818         ffs: avoid undefined behavior
15819         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
15820         * tests/test-ffs.c (naive, main): Avoid signed shifts.
15821         Reported by Bruno Haible.
15822
15823 2011-07-12  Bruno Haible  <bruno@clisp.org>
15824
15825         pthread_sigmask: Rely on module 'threadlib'.
15826         * modules/pthread_sigmask (Depends-on): Add threadlib.
15827         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
15828         is defined.
15829
15830 2011-07-12  Bruno Haible  <bruno@clisp.org>
15831
15832         regex: Depend on module 'strcase'.
15833         * modules/regex (Depends-on): Add strcase, for strcasecmp().
15834
15835 2011-07-12  Jim Meyering  <meyering@redhat.com>
15836
15837         warn-on-use: fix typo in file name
15838         * modules/snippet/warn-on-use (Files): Correct file name:
15839         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
15840
15841 2011-07-12  Bruno Haible  <bruno@clisp.org>
15842
15843         strings: Document module.
15844         * doc/posix-headers/strings.texi: Mention module 'strings'.
15845
15846 2011-07-12  Bruno Haible  <bruno@clisp.org>
15847
15848         Rename module '_Noreturn' to 'snippet/_Noreturn'.
15849         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
15850         (Files, Makefile.am): Update.
15851         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
15852         * modules/stdlib (Depends-on): Update.
15853
15854 2011-07-12  Bruno Haible  <bruno@clisp.org>
15855
15856         * NEWS: Mention the changes.
15857
15858         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
15859         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
15860         (Files, Makefile.am): Update.
15861         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
15862         * modules/arpa_inet (Depends-on): Update.
15863         * modules/ctype (Depends-on): Update.
15864         * modules/dirent (Depends-on): Update.
15865         * modules/fcntl-h (Depends-on): Update.
15866         * modules/glob (Depends-on): Update.
15867         * modules/iconv-h (Depends-on): Update.
15868         * modules/inttypes-incomplete (Depends-on): Update.
15869         * modules/langinfo (Depends-on): Update.
15870         * modules/locale (Depends-on): Update.
15871         * modules/math (Depends-on): Update.
15872         * modules/netdb (Depends-on): Update.
15873         * modules/poll-h (Depends-on): Update.
15874         * modules/pty (Depends-on): Update.
15875         * modules/search (Depends-on): Update.
15876         * modules/signal (Depends-on): Update.
15877         * modules/spawn (Depends-on): Update.
15878         * modules/stdio (Depends-on): Update.
15879         * modules/stdlib (Depends-on): Update.
15880         * modules/string (Depends-on): Update.
15881         * modules/strings (Depends-on): Update.
15882         * modules/sys_file (Depends-on): Update.
15883         * modules/sys_ioctl (Depends-on): Update.
15884         * modules/sys_select (Depends-on): Update.
15885         * modules/sys_socket (Depends-on): Update.
15886         * modules/sys_stat (Depends-on): Update.
15887         * modules/sys_time (Depends-on): Update.
15888         * modules/sys_times (Depends-on): Update.
15889         * modules/sys_utsname (Depends-on): Update.
15890         * modules/sys_wait (Depends-on): Update.
15891         * modules/termios (Depends-on): Update.
15892         * modules/time (Depends-on): Update.
15893         * modules/unistd (Depends-on): Update.
15894         * modules/wchar (Depends-on): Update.
15895         * modules/wctype-h (Depends-on): Update.
15896         * MODULES.html.sh (Support for building libraries and executables):
15897         Update.
15898
15899         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
15900         * modules/snippet/unused-parameter: Renamed from
15901         modules/unused-parameter.
15902         (Files, Makefile.am): Update.
15903         * build-aux/snippet/unused-parameter.h: Renamed from
15904         build-aux/unused-parameter.h.
15905         * modules/selinux-h (Depends-on): Update.
15906         * modules/unistr/base (Depends-on): Update.
15907         * MODULES.html.sh (Core language properties): Update.
15908
15909         Rename module 'link-warning' to 'snippet/link-warning'.
15910         * modules/snippet/link-warning: Renamed from modules/link-warning.
15911         (Files, Makefile.am): Update.
15912         * build-aux/snippet/link-warning.h: Renamed from
15913         build-aux/link-warning.h.
15914         * MODULES.html.sh (Support for building libraries and executables):
15915         Update.
15916
15917         Rename module 'c++defs' to 'snippet/c++defs'.
15918         * modules/snippet/c++defs: Renamed from modules/c++defs.
15919         (Files, Makefile.am): Update.
15920         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
15921         * modules/arpa_inet (Depends-on): Update.
15922         * modules/ctype (Depends-on): Update.
15923         * modules/dirent (Depends-on): Update.
15924         * modules/fcntl-h (Depends-on): Update.
15925         * modules/glob (Depends-on): Update.
15926         * modules/iconv-h (Depends-on): Update.
15927         * modules/langinfo (Depends-on): Update.
15928         * modules/locale (Depends-on): Update.
15929         * modules/math (Depends-on): Update.
15930         * modules/netdb (Depends-on): Update.
15931         * modules/poll-h (Depends-on): Update.
15932         * modules/pty (Depends-on): Update.
15933         * modules/search (Depends-on): Update.
15934         * modules/signal (Depends-on): Update.
15935         * modules/spawn (Depends-on): Update.
15936         * modules/stdio (Depends-on): Update.
15937         * modules/stdlib (Depends-on): Update.
15938         * modules/string (Depends-on): Update.
15939         * modules/strings (Depends-on): Update.
15940         * modules/sys_ioctl (Depends-on): Update.
15941         * modules/sys_select (Depends-on): Update.
15942         * modules/sys_socket (Depends-on): Update.
15943         * modules/sys_stat (Depends-on): Update.
15944         * modules/sys_time (Depends-on): Update.
15945         * modules/sys_wait (Depends-on): Update.
15946         * modules/termios (Depends-on): Update.
15947         * modules/time (Depends-on): Update.
15948         * modules/unistd (Depends-on): Update.
15949         * modules/wchar (Depends-on): Update.
15950         * modules/wctype-h (Depends-on): Update.
15951
15952         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
15953         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
15954         (Files, Makefile.am): Update.
15955         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
15956         * modules/argv-iter (Depends-on): Update.
15957         * modules/arpa_inet (Depends-on): Update.
15958         * modules/dirent (Depends-on): Update.
15959         * modules/fcntl-h (Depends-on): Update.
15960         * modules/fnmatch (Depends-on): Update.
15961         * modules/getopt-posix (Depends-on): Update.
15962         * modules/glob (Depends-on): Update.
15963         * modules/iconv-h (Depends-on): Update.
15964         * modules/inttypes-incomplete (Depends-on): Update.
15965         * modules/locale (Depends-on): Update.
15966         * modules/math (Depends-on): Update.
15967         * modules/netdb (Depends-on): Update.
15968         * modules/search (Depends-on): Update.
15969         * modules/signal (Depends-on): Update.
15970         * modules/spawn (Depends-on): Update.
15971         * modules/stdio (Depends-on): Update.
15972         * modules/stdlib (Depends-on): Update.
15973         * modules/string (Depends-on): Update.
15974         * modules/strings (Depends-on): Update.
15975         * modules/sys_socket (Depends-on): Update.
15976         * modules/sys_stat (Depends-on): Update.
15977         * modules/sys_time (Depends-on): Update.
15978         * modules/sys_times (Depends-on): Update.
15979         * modules/sys_utsname (Depends-on): Update.
15980         * modules/time (Depends-on): Update.
15981         * modules/unistd (Depends-on): Update.
15982         * modules/wchar (Depends-on): Update.
15983         * MODULES.html.sh (Support for building libraries and executables):
15984         Update.
15985
15986 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15987
15988         Improvements on _Noreturn and related modules.
15989
15990         modules/_Exit-tests: test _Noreturn too
15991         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
15992         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
15993         (main): Use them.
15994
15995         stdnoreturn, stdnoreturn-tests: remove modules
15996         They're not needed here and a bit premature for use elsewhere.  See
15997         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
15998         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
15999         * tests/test-stdnoreturn.c: Remove files.
16000         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
16001         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
16002         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
16003         and using noreturn.
16004         * modules/openat, modules/sigpipe-die, modules/xalloc:
16005         * modules/xmemdup0, modules/xstrtol:
16006         Remove dependency on stdnoreturn.
16007
16008         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
16009         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
16010         Reparenthesize to avoid GCC warning.
16011         Support Microsoft's syntax.
16012         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
16013
16014         _Noreturn-tests: remove module
16015         * modules/_Noreturn-tests: Remove.
16016         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
16017         * tests/test-_Noreturn.c: Remove.
16018         * tests/test-stdnoreturn.c: Merge from the old
16019         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
16020
16021 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
16022
16023         _Noreturn, stdnoreturn, and related modules.
16024
16025         * top/maint.mk: Adjust to new noreturn support.
16026         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
16027         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
16028
16029         xalloc: use stdnoreturn.h
16030         * lib/xalloc.h: Include <stdnoreturn.h>.
16031         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16032         * modules/xalloc (Depends-on): Add stdnoreturn.
16033
16034         xstrtol: use stdnoreturn.h
16035         * lib/xstrtol.h: Include <stdnoreturn.h>.
16036         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16037         * modules/xstrtol (Depends-on): Add stdnoreturn.
16038
16039         xmemdup0: use stdnoreturn.h
16040         * lib/xmemdup0.h: Include <stdnoreturn.h>.
16041         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16042         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
16043
16044         sigpipe-die: use stdnoreturn.h
16045         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
16046         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16047         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
16048
16049         openat: use stdnoreturn.h
16050         * lib/openat.h: Include <stdnoreturn.h>.
16051         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16052         * modules/openat (Depends-on): Add stdnoreturn.
16053
16054         * lib/openat-die.c (openat_save_fail): Modernize comment.
16055
16056         * lib/xalloc-die.c (xalloc_die): Modernize comment.
16057
16058         * lib/glthread/thread.h: Modernize comment.
16059
16060         obstack: use _Noreturn
16061         * lib/obstack.c (__attribute__): Remove macro.
16062         (print_and_abort): Use _Noreturn.
16063
16064         c-stack: use _Noreturn
16065         * lib/c-stack.c (die, overflow_handler, segv_handler):
16066         Use _Noreturn rather than __attribute__((noreturn)).
16067
16068         argmatch-tests, exclude_tests: use _Noreturn
16069         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
16070         Remove.
16071         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
16072
16073         stdlib: use _Noreturn
16074         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
16075         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
16076         * modules/stdlib (Depends-on): Add _Noreturn.
16077         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
16078
16079         stdnoreturn-tests: new module
16080         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
16081
16082         stdnoreturn: new module
16083         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
16084         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
16085
16086         _Noreturn-tests: new module
16087         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
16088
16089         _Noreturn: new module
16090         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
16091         New section, mentioning it.
16092         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
16093
16094         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
16095
16096 2011-07-11  Eric Blake  <eblake@redhat.com>
16097
16098         ffs: new module
16099         * modules/ffs: New file.
16100         * m4/ffs.m4: Likewise.
16101         * lib/ffs.c: Likewise.
16102         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
16103         * modules/strings (Makefile.am): Substitute witness.
16104         (Depends-on): Add c++defs.
16105         * lib/strings.in.h (ffs): Declare.
16106         * modules/ffs-tests: New test file.
16107         * tests/test-ffs.c: Test new module.
16108         * MODULES.html.sh (Integer arithmetic functions): Mention it.
16109         * doc/posix-functions/ffs.texi (ffs): Likewise.
16110
16111         regex: avoid compiler warning
16112         * lib/regex.c (includes): Include <strings.h>, for use of
16113         strcasecmp in regcomp.c.
16114         Reported by Joachim Schmitz.
16115
16116 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
16117
16118         stdint: respect system's intmax_t if INTMAX_MAX
16119         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
16120         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
16121         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
16122         long but int64_t is long long, and where we will clash with the
16123         system intmax_t if we override it.  See
16124         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
16125         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
16126         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
16127         similarly for UINTMAX_C.
16128
16129 2011-07-08  Bruno Haible  <bruno@clisp.org>
16130
16131         pthread_sigmask tests: Avoid a compiler warning.
16132         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
16133         non-zero.
16134
16135         sigprocmask tests: A better way to avoid a compiler warning.
16136         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
16137         (main): Complain if system() returns non-zero.
16138         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
16139
16140 2011-07-08  Bruno Haible  <bruno@clisp.org>
16141
16142         pthread_sigmask: Work around IRIX bug.
16143         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
16144         bug.
16145         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
16146         there may be unblocked pending signals.
16147         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
16148
16149 2011-07-08  Bruno Haible  <bruno@clisp.org>
16150
16151         pthread_sigmask: Work around Cygwin bug.
16152         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
16153         bug.
16154         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
16155         the system's pthread_sigmask function.
16156         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
16157
16158 2011-07-08  Bruno Haible  <bruno@clisp.org>
16159
16160         pthread_sigmask: Work around bug in single-threaded implementation.
16161         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
16162         FreeBSD, HP-UX, Solaris bug.
16163         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
16164         * lib/pthread_sigmask.c: Include <stddef.h>.
16165         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
16166         the system's pthread_sigmask function.
16167         * modules/pthread_sigmask (configure.ac): Invoke
16168         gl_PREREQ_PTHREAD_SIGMASK.
16169         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
16170         HP-UX, Solaris.
16171
16172 2011-07-08  Eric Blake  <eblake@redhat.com>
16173
16174         test-sigprocmask: avoid compiler warning
16175         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
16176         * tests/test-sigprocmask.c (main): Use it to silence warning.
16177         Reported by Jim Meyering.
16178
16179         test-snprintf: avoid compiler warning
16180         * tests/test-snprintf.c (main): Avoid shadowed declaration.
16181         * tests/test-vsnprintf.c (main): Likewise.
16182         Reported by Jim Meyering.
16183
16184 2011-07-08  Bruno Haible  <bruno@clisp.org>
16185
16186         Tests for module 'pthread_sigmask'.
16187         * modules/pthread_sigmask-tests: New file.
16188         * tests/test-pthread_sigmask1.c: New file, based on
16189         tests/test-sigprocmask.c.
16190         * tests/test-pthread_sigmask2.c: New file.
16191
16192 2011-07-08  Jim Meyering  <meyering@redhat.com>
16193
16194         test-getopt.h: avoid warning about an unused variable
16195         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
16196
16197 2011-07-07  Jim Meyering  <meyering@redhat.com>
16198
16199         maint: reduce list of files exempt from sc_prohibit_leading_TABs
16200         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
16201         now that it no longer contains leading TABs.
16202         Remove unused "url=FIXME" statement.
16203
16204 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
16205
16206         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
16207         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16208         When gl_THREADLIB is not in use, assume that the POSIX sematics
16209         are desired.  This is better for Emacs, which uses POSIX semantics
16210         on GNUish and/or POSIXish platforms, and does not use threads at
16211         all otherwise.
16212
16213         pthread_sigmask: fix typo when testing for libraries
16214         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16215         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
16216
16217 2011-07-08  Eric Blake  <eblake@redhat.com>
16218
16219         fts: introduce FTS_NOATIME
16220         * lib/fts_.h (FTS_NOATIME): New bit flag.
16221         (FTS_OPTIONMASK): Adjust.
16222         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
16223         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
16224
16225 2011-07-08  Bruno Haible  <bruno@clisp.org>
16226
16227         Tests for module 'thread'.
16228         * modules/thread-tests: New file.
16229         * tests/test-thread_self.c: New file.
16230         * tests/test-thread_create.cc: New file.
16231
16232 2011-07-08  Bruno Haible  <bruno@clisp.org>
16233
16234         thread: Avoid gcc warnings when using gl_thread_self().
16235         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
16236         'void *'.
16237         (gl_thread_self_pointer): Update.
16238
16239 2011-07-07  Bruno Haible  <bruno@clisp.org>
16240
16241         signal-c++-tests: Check declaration of pthread_sigmask.
16242         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
16243         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
16244         $(LIB_PTHREAD_SIGMASK).
16245
16246 2011-07-07  Bruno Haible  <bruno@clisp.org>
16247
16248         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
16249         * lib/signal.in.h (pthread_sigmask): Override if
16250         REPLACE_PTHREAD_SIGMASK is 1.
16251         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
16252         REPLACE_PTHREAD_SIGMASK.
16253         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
16254         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
16255         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
16256         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
16257         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
16258
16259 2011-07-07  Bruno Haible  <bruno@clisp.org>
16260
16261         pthread_sigmask: Ensure declaration in <signal.h>.
16262         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
16263         include <pthread.h>.
16264         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
16265         problem.
16266
16267 2011-07-07  Bruno Haible  <bruno@clisp.org>
16268
16269         pthread_sigmask: Document the module.
16270         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
16271
16272 2011-07-07  Bruno Haible  <bruno@clisp.org>
16273
16274         pthread_sigmask: Follow gnulib conventions.
16275         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
16276         gl_PTHREAD_SIGMASK.
16277         * modules/pthread_sigmask (configure.ac): Update.
16278
16279 2011-07-07  Bruno Haible  <bruno@clisp.org>
16280
16281         pthread_sigmask: Make declaration C++ safe.
16282         * lib/signal.in.h: In two special conditions, just do an #include_next.
16283         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
16284         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
16285         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
16286         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
16287         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
16288         not REPLACE_PTHREAD_MASK.
16289         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
16290         not REPLACE_PTHREAD_MASK.
16291         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
16292
16293 2011-07-07  Bruno Haible  <bruno@clisp.org>
16294
16295         pthread_sigmask: Fix return value.
16296         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
16297         * lib/pthread_sigmask.c: New file.
16298         * modules/pthread_sigmask (Files): Add it.
16299         (configure.ac): Invoke AC_LIBOBJ.
16300
16301 2011-07-07  Eric Blake  <eblake@redhat.com>
16302
16303         getopt: more portable argv creation
16304         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
16305         const, use char arrays rather than strings.
16306         Suggested by Paul Eggert.
16307
16308 2011-07-07  Bruno Haible  <bruno@clisp.org>
16309
16310         Tests for module 'sigprocmask'.
16311         * modules/sigprocmask-tests: New file.
16312         * tests/test-sigprocmask.c: New file.
16313
16314 2011-07-07  Bruno Haible  <bruno@clisp.org>
16315
16316         float tests: Tweak.
16317         * tests/test-float.c (main): Tweak skip message.
16318
16319 2011-07-07  Eric Blake  <eblake@redhat.com>
16320
16321         getopt: avoid compiler warning during configure
16322         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
16323         assigning string literals to non-const pointer.
16324
16325         getopt-gnu: avoid crash in glibc getopt
16326         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
16327         * tests/test-getopt.h (test_getopt): Enhance test.
16328         * tests/test-getopt_long.h (test_getopt_long): Likewise.
16329         * doc/posix-functions/getopt.texi (getopt): Document it.
16330         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
16331         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
16332         Likewise.
16333
16334 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
16335
16336         getopt: handle W; without long options in getopt [BZ #12922]
16337         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
16338         but no long options are defined, just return 'W'.
16339
16340 2011-07-07  Bruno Haible  <bruno@clisp.org>
16341
16342         Avoid literal tabs.
16343         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
16344         variable containing a tab instead of a literal tab.
16345         Reported by Jim Meyering.
16346
16347 2011-07-07  Bruno Haible  <bruno@clisp.org>
16348
16349         Comments.
16350         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
16351
16352 2011-07-06  Bruno Haible  <bruno@clisp.org>
16353
16354         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
16355         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
16356         <winsock2.h>.
16357         (rpl_fd_isset, FD_ISSET): New definitions, copied from
16358         lib/sys_socket.in.h.
16359         (close, gethostname): Hide declarations from <winsock2.h>.
16360         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
16361         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
16362         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
16363         (select): Don't override if gnulib's <sys/select.h> was already
16364         included.
16365         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
16366         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
16367         setsockopt, shutdown, select): Tweak indentation.
16368
16369 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16370
16371         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
16372         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
16373         in an application that does not use the sys_select module.
16374
16375 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
16376
16377         poll: do not return 0 on timeout=-1
16378         * lib/poll.c: Loop with yield if no events occurred.
16379
16380 2011-07-06  Eric Blake  <eblake@redhat.com>
16381
16382         pthread_sigmask: always replace when not using pthread
16383         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
16384         replacement when using some threading other than pthread.  Fix
16385         logic bug.
16386
16387 2011-07-06  Bruno Haible  <bruno@clisp.org>
16388
16389         Comments.
16390         * m4/printf.m4: Update comments about mingw.
16391
16392 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16393
16394         sys_select: define sigset_t more portably
16395         * lib/sys_select.in.h: Always include <sys/types.h>, since
16396         we now need sigset_t and mingw defines it there.
16397         Include <signal.h> before split inclusion guard, to avoid
16398         mishaps on Solaris, whose <signal.h> eventually includes us.
16399         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
16400         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
16401         which come from ...
16402         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
16403         gl_CHECK_TYPE_SIGSET_T.
16404         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
16405         does the real work.
16406         * modules/sys_select (Depends-on): Add 'signal'.
16407
16408         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
16409         Suggested by Bruno Haible.
16410
16411         pselect: Use pthread_sigmask, not sigprocmask.
16412         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
16413         multithreaded apps better than sigprocmask does.
16414         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
16415         sigprocmask directly.
16416
16417 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
16418
16419         * lib/pselect.c (pselect): Use plain name, without "rpl_".
16420         Don't #undef,  since we don't need any underlying pselect.
16421         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
16422         (Depends-on): Add select.
16423         (Link): Add $(LIBSOCKET).
16424         These changes suggested by Bruno Haible.
16425
16426         pselect: document better
16427         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16428         * doc/posix-functions/pselect.texi (pselect): Document new module.
16429
16430         pthread_sigmask: new module
16431         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16432         * doc/posix-functions/pthread_sigmask.texi: Document new module.
16433         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
16434         This is done only as a macro; I don't know how well that'll
16435         work for C++.  Move <sys/types.h> include before the include_next,
16436         to avoid mishap on Solaris.
16437         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
16438         * modules/signal (Makefile.am): Substitute the check's results.
16439         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
16440
16441         test-pselect: new module
16442         * modules/pselect-tests, tests/test-pselect.c: New files.
16443         * tests/test-select.c, tests/test-sys_select-c++.cc:
16444         If TEST_PSELECT is defined, test pselect instead of testing select.
16445
16446         * tests/test-sys_select.c (sigset_t): Test for it, too.
16447         Suggested by Bruno Haible.
16448
16449 2011-07-05  Eric Blake  <eblake@redhat.com>
16450
16451         snprintf: guarantee %1$d, for libintl
16452         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
16453         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
16454         * doc/posix-functions/snprintf.texi (snprintf): Update.
16455         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16456         * tests/test-snprintf.c (main): Enhance test.
16457         * tests/test-vsnprintf.c (main): Likewise.
16458
16459 2011-07-05  Jim Meyering  <meyering@redhat.com>
16460
16461         maint: exempt stdio-read.c and stdio-write.c from the cppi check
16462         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
16463         per Bruno's request, to accommodate this idiom (no space after "#")
16464         even when the function is inside an #if block:
16465         char *
16466         gets (char *s)
16467         #undef gets
16468         {
16469           ...
16470         }
16471
16472 2011-07-04  Jim Meyering  <meyering@redhat.com>
16473
16474         maint: indent with spaces, not TABs, and add a rule to check this
16475         * tests/test-userspec.c: Indent with spaces, not TABs.
16476         * tests/test-argp.c: Likewise.
16477         * tests/test-c-stack2.sh: Likewise.
16478         * tests/test-parse-duration.sh: Likewise
16479         * m4/strtod.m4: Likewise.
16480         * m4/alloca.m4: Likewise.
16481         * m4/pselect.m4: Likewise.
16482         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
16483
16484 2011-07-03  Jim Meyering  <meyering@redhat.com>
16485
16486         maint.mk: correct omissions in prohibit_argmatch_without_use check
16487         This rule would mistakenly report that argmatch.h is included without
16488         use even when both the argmatch and invalid_arg macro were used.
16489         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
16490         of argmatch and invalid_arg.
16491
16492 2011-07-03  Bruno Haible  <bruno@clisp.org>
16493
16494         Comments about EINTR.
16495         * lib/safe-read.h: Explain the purpose of this module.
16496         * lib/safe-write.h: Likewise.
16497         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
16498         module.
16499         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
16500         module.
16501         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16502
16503 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
16504
16505         xnanosleep: Rewrite to use new dtotimespec module.
16506         It has the conversion code that used to be in xnanosleep.
16507         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
16508         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
16509         (TIME_T_MAX): Remove.
16510         (xnanosleep): Rewrite in terms of dtotimespec.
16511         * modules/xnanosleep (Depends-on): Add dtotimespec.
16512         Remove intprops, stdbool.
16513
16514         timespec-add, timespec-sub: new modules
16515         * lib/timespec.h (timespec_add, timespec_sub): New decls.
16516         * lib/timespec-add.c, lib/timespec-sub.c:
16517         * modules/timespec-add, modules/timespec-sub: New files.
16518
16519         dtotimespec: new module
16520         * lib/timespec.h (dtotimespec): New decl.
16521         * lib/dtotimespec.c, modules/dtotimespec: New files.
16522
16523         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
16524
16525         pselect: new module
16526         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
16527         (pselect): New decls.
16528         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
16529         since the standard pselect decl uses 'restrict'.
16530         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
16531         HAVE_PSELECT, REPLACE_PSELECT.
16532         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
16533         HAVE_PSELECT, REPLACE_PSELECT.
16534         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
16535
16536         sys_select: don't depend on sys_socket
16537         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
16538         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
16539         This fix works on GNU and GNU-like platforms, but has not been tested
16540         on native Windows.
16541         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
16542         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
16543         gl_HEADER_SYS_SOCKET.
16544         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
16545         gl_PREREQ_SYS_H_WINSOCK2.
16546
16547 2011-06-29  Eric Blake  <eblake@redhat.com>
16548
16549         pipe2: fix C89 compile problem
16550         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
16551         Reported by Bruno Haible.
16552
16553         pipe, pipe2: don't corrupt fd on error
16554         * lib/pipe.c (pipe): Leave fd unchanged on error.
16555         * lib/pipe2.c (pipe2): Likewise.
16556         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
16557         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
16558
16559 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
16560
16561         mmap-anon: do not use regular expressions inadvertently
16562         * m4/mmap-anon.m4: Remove trailing period from strings sought
16563         in the output.
16564
16565 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
16566
16567         nanosleep: fix integer overflow problem
16568         * lib/nanosleep.c (my_usleep): Don't assume signed integer
16569         arithmetic wraps around on overflow.
16570
16571         nanosleep: simplify carrying
16572         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
16573         first call to the underyling nanosleep, not for the last one.
16574         This doesn't fix any bugs, but it simplifies the computation of
16575         the remaining delay.  Found while auditing integer overflow issues.
16576
16577         dup2: remove test for existence of fcntl
16578         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
16579         "#if HAVE_FCNTL", in the configure-time test program.
16580         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
16581         and therefore speeds up "configure" a bit.  Found while
16582         adding the dup2 module to Emacs.
16583
16584 2011-06-24  Eric Blake  <eblake@redhat.com>
16585
16586         maint.mk: enhance useless header checks
16587         * top/maint.mk (_sc_header_without_use): Check both include
16588         styles.
16589         (sc_prohibit_assert_without_use)
16590         (sc_prohibit_close_stream_without_use)
16591         (sc_prohibit_getopt_without_use)
16592         (sc_prohibit_quotearg_without_use)
16593         (sc_prohibit_quote_without_use)
16594         (sc_prohibit_long_options_without_use)
16595         (sc_prohibit_inttostr_without_use)
16596         (sc_prohibit_ignore_value_without_use)
16597         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
16598         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
16599         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
16600         (sc_prohibit_hash_pjw_without_use)
16601         (sc_prohibit_safe_read_without_use)
16602         (sc_prohibit_argmatch_without_use)
16603         (sc_prohibit_canonicalize_without_use)
16604         (sc_prohibit_root_dev_ino_without_use)
16605         (sc_prohibit_openat_without_use)
16606         (sc_prohibit_c_ctype_without_use)
16607         (sc_prohibit_signal_without_use)
16608         (sc_prohibit_stdio--_without_use)
16609         (sc_prohibit_stdio-safer_without_use)
16610         (sc_prohibit_strings_without_use)
16611         (sc_prohibit_intprops_without_use)
16612         (sc_prohibit_stddef_without_use)
16613         (sc_prohibit_xfreopen_without_use): Update clients.
16614
16615 2011-06-24  Jim Meyering  <meyering@redhat.com>
16616
16617         syntax-check: keep one maint.mk rule in sync with its header
16618         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
16619         of the bug Eric has just fixed, with today's commit 25e4c2ec.
16620         I prefer to avoid temporary files here, so use <(...), but that
16621         is not supported by /bin/sh, so...
16622         (SHELL): Define to /bin/bash.
16623
16624 2011-06-24  Eric Blake  <eblake@redhat.com>
16625
16626         maint.mk: update sc_prohibit_intprops_without_use
16627         * top/maint.mk (_intprops_names): Match recent changes.
16628
16629 2011-06-24  Bruno Haible  <bruno@clisp.org>
16630
16631         strerror-override: No-op tweak.
16632         * lib/strerror-override.h (strerror_override): Reorder conditions,
16633         for consistency with lib/strerror-override.c.
16634
16635 2011-06-23  Eric Blake  <eblake@redhat.com>
16636
16637         maint.mk: test further PATH_MAX issues
16638         * top/maint.mk (sc_prohibit_path_max_array): Rename...
16639         (sc_prohibit_path_max_allocation): ...and also test alloca.
16640         Suggested by Jim Meyering.
16641
16642 2011-06-22  Eric Blake  <eblake@redhat.com>
16643
16644         maint.mk: add syntax-check to avoid char[PATH_MAX]
16645         * top/maint.mk (sc_prohibit_path_max_array): New rule.
16646
16647         stat: be robust to PATH_MAX definition
16648         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
16649         * modules/stat (Depends-on): Add verify.
16650
16651         link: work around IRIX bug
16652         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
16653         * lib/link.c (rpl_link): Work around it.
16654         * tests/test-link.h (test_link): Enhance test.
16655         * doc/posix-functions/link.texi (link): Document the bug.
16656
16657         getopt: silence clang warning
16658         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
16659         dereference.
16660         Reported by Gustavo Martin Domato.
16661
16662 2011-06-22  Jim Meyering  <meyering@redhat.com>
16663
16664         bootstrap: do not insert a blank line into each .gitignore file
16665         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
16666
16667 2011-06-21  Eric Blake  <eblake@redhat.com>
16668
16669         perror: test for output mismatch
16670         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
16671         perror on IRIX.
16672
16673         strerror_r: fix OpenBSD behavior on out-of-range
16674         * lib/strerror_r.c (strerror_r): Always use maximal string.
16675         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16676
16677         strerror_r: fix OpenBSD behavior on 0
16678         * lib/strerror-override.c (strerror_override): Also override 0
16679         when needed.
16680         * lib/strerror-override.h (strerror_override): Likewise.
16681         * lib/strerror.c (strerror): Simplify, now that 0 override is done
16682         earlier.
16683         * lib/strerror_r.c (strerror_r): Likewise.
16684         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
16685         behavior...
16686         (gl_FUNC_STRERROR_0): ...into new macro.
16687         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
16688         is overridden.
16689         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
16690         * modules/strerror-override (Files): Add strerror.m4.
16691         (configure.ac): Also provide override for 0 when needed.
16692         * doc/posix-functions/strerror.texi (strerror): Document this.
16693         * doc/posix-functions/perror.texi (perror): Likewise.
16694
16695         perror: adjust array size
16696         * modules/perror (Depends-on): Add strerror-override.
16697         * lib/perror.c (perror): Use it to avoid magic number.
16698
16699         strerror-override: reduce size
16700         * lib/strerror-override.c (strerror_override): Use fewer lines.
16701
16702 2011-06-20  Bruno Haible  <bruno@clisp.org>
16703
16704         pathmax: Ensure correct value for PATH_MAX on HP-UX.
16705         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
16706
16707 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
16708
16709         alloca: port to compilers that can optimize like GCC 4.6.0
16710         * lib/alloca.c (find_stack_direction): New signature, taken from
16711         Autoconf git.  This works with GCC 4.6.0.  This code should never
16712         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
16713         be used with other compilers that optimize as well as GCC 4.6.0 does.
16714         (alloca): Adjust to new signature.
16715         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
16716         New macro, which patches Autoconf in a similar way.
16717
16718         c-stack: stop worrying about stack direction
16719         * lib/c-stack.c (find_stack_direction): Remove.
16720         (segv_handler): Don't worry about stack direction growth, as it's
16721         too much of a pain to configure this correctly, given how compilers
16722         are optimizing-away our stack-growth detection code.  Instead, assume
16723         that any access to just before or just after the stack is OK.
16724         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
16725         Don't require AC_FUNC_ALLOCA; no longer needed.
16726
16727 2011-06-20  Eric Blake  <eblake@redhat.com>
16728
16729         test-stat: don't allocate PATH_MAX bytes
16730         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
16731         PATH_MAX-sized buffer.
16732         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
16733         * modules/stat-tests (Depends-on): Likewise.
16734         * tests/test-fstatat.c (includes): Drop pathmax.h.
16735         * tests/test-stat.c (includes): Likewise.
16736         Reported by Bruno Haible.
16737
16738 2011-06-20  Bruno Haible  <bruno@clisp.org>
16739
16740         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
16741         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
16742         * lib/float.c: New file.
16743         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
16744         REPLACE_FLOAT_LDBL.
16745         * modules/float (Files): Add lib/float.c.
16746         (configure.ac): Invoke AC_LIBOBJ.
16747         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
16748
16749 2011-06-20  Bruno Haible  <bruno@clisp.org>
16750
16751         Tests for module 'float'.
16752         * modules/float-tests: New file.
16753         * tests/test-float.c: New file.
16754
16755 2011-06-19  Bruno Haible  <bruno@clisp.org>
16756
16757         isinf: Coding style.
16758         * lib/isinf.c: Use GNU coding style.
16759
16760 2011-06-19  Bruno Haible  <bruno@clisp.org>
16761
16762         linkat test: Avoid test failure on AIX 7.1.
16763         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
16764         * tests/test-link.h (test_link): Likewise.
16765
16766 2011-06-19  Bruno Haible  <bruno@clisp.org>
16767
16768         pread test: Avoid test failure on OpenBSD 4.9.
16769         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
16770
16771 2011-06-19  Bruno Haible  <bruno@clisp.org>
16772
16773         sprintf-posix: Fix test failure on AIX 7.1.
16774         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
16775         * doc/posix-functions/dprintf.texi: Mention limited precision problem
16776         on AIX.
16777         * doc/posix-functions/fprintf.texi: Likewise.
16778         * doc/posix-functions/printf.texi: Likewise.
16779         * doc/posix-functions/snprintf.texi: Likewise.
16780         * doc/posix-functions/sprintf.texi: Likewise.
16781         * doc/posix-functions/vdprintf.texi: Likewise.
16782         * doc/posix-functions/vfprintf.texi: Likewise.
16783         * doc/posix-functions/vprintf.texi: Likewise.
16784         * doc/posix-functions/vsnprintf.texi: Likewise.
16785         * doc/posix-functions/vsprintf.texi: Likewise.
16786
16787 2011-06-19  Bruno Haible  <bruno@clisp.org>
16788
16789         roundl-ieee: Fix test failure on AIX 7.1.
16790         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
16791         * doc/posix-functions/roundl.texi: Mention problem with negative
16792         arguments.
16793
16794 2011-06-19  Bruno Haible  <bruno@clisp.org>
16795
16796         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16797         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
16798         * doc/posix-functions/round.texi: Mention problem with negative
16799         arguments.
16800         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
16801
16802 2011-06-19  Bruno Haible  <bruno@clisp.org>
16803
16804         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16805         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
16806         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
16807         * doc/posix-functions/roundf.texi: Mention problem with negative
16808         arguments.
16809         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
16810
16811 2011-06-19  Bruno Haible  <bruno@clisp.org>
16812
16813         ceilf-ieee: Work around bug on MacOS X 10.5.
16814         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
16815
16816         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
16817         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
16818         IEEE compliant, avoid compiler optimizations.
16819         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16820         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16821         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16822         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16823         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16824         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16825         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16826         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16827         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16828         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16829
16830 2011-06-19  Bruno Haible  <bruno@clisp.org>
16831
16832         ceilf-ieee: Work around bug on AIX 7.1.
16833         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
16834         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
16835
16836 2011-06-19  Bruno Haible  <bruno@clisp.org>
16837
16838         ceil-ieee: Work around bug on AIX 7.1.
16839         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
16840         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
16841
16842 2011-06-18  Bruno Haible  <bruno@clisp.org>
16843
16844         fsync test: Avoid test failure on MacOS X and AIX.
16845         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
16846         EINVAL.
16847
16848 2011-06-18  Bruno Haible  <bruno@clisp.org>
16849
16850         openat, fdopendir tests: Fix link errors.
16851         * modules/openat-tests (Depends-on): Add progname.
16852         * modules/fdopendir-tests (Depends-on): Likewise.
16853         * tests/test-fchownat.c: Include progname.h.
16854         (main): Call set_program_name.
16855         * tests/test-fstatat.c: Include progname.h.
16856         (main): Call set_program_name.
16857         * tests/test-mkdirat.c: Include progname.h.
16858         (main): Call set_program_name.
16859         * tests/test-openat.c: Include progname.h.
16860         (main): Call set_program_name.
16861         * tests/test-unlinkat.c: Include progname.h.
16862         (main): Call set_program_name.
16863         * tests/test-fdopendir.c: Include progname.h.
16864         (main): Call set_program_name.
16865
16866 2011-06-18  Bruno Haible  <bruno@clisp.org>
16867
16868         Doc update.
16869         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
16870         HP-UX.
16871         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
16872
16873 2011-06-18  Bruno Haible  <bruno@clisp.org>
16874
16875         getcwd tests: Avoid compilation error on HP-UX 11.31.
16876         * modules/getcwd-tests (Depends-on): Add pathmax.
16877         * tests/test-getcwd.c: Include pathmax.h.
16878
16879 2011-06-18  Bruno Haible  <bruno@clisp.org>
16880
16881         isfinite, isinf: Fix link error on AIX 6 and 7.
16882         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
16883         needed, also test the macro with a 'float' argument.
16884         * m4/isinf.m4 (gl_ISINF): Likewise.
16885
16886 2011-06-18  Bruno Haible  <bruno@clisp.org>
16887
16888         getloadavg: Don't clobber LIBS. Regression from previous commit.
16889         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
16890         AC_CHECK_LIB from here...
16891         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
16892         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
16893         gl_func_getloadavg_done.
16894         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16895
16896 2011-06-18  Bruno Haible  <bruno@clisp.org>
16897
16898         clean-temp: Improve documentation.
16899         * lib/clean-temp.h: Explain better how to use this module.
16900         Reported by John Darrington <john@darrington.wattle.id.au>.
16901
16902 2011-06-17  Bruno Haible  <bruno@clisp.org>
16903
16904         pread, pwrite: Avoid cc warning on AIX.
16905         * lib/unistd.in.h (pread): Undefine before defining as a macro.
16906         (pwrite): Likewise.
16907
16908 2011-06-17  Bruno Haible  <bruno@clisp.org>
16909
16910         spawn-pipe tests: Fix link error.
16911         * tests/test-spawn-pipe-child.c: Undefine fprintf.
16912         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16913
16914 2011-06-17  Bruno Haible  <bruno@clisp.org>
16915
16916         Tests: Remove unnecessary dependency.
16917         * modules/canonicalize-tests (Depends-on): Remove progname.
16918         * modules/chown-tests (Depends-on): Likewise.
16919         * modules/dirname-tests (Depends-on): Likewise.
16920         * modules/fdopendir-tests (Depends-on): Likewise.
16921         * modules/fdutimensat-tests (Depends-on): Likewise.
16922         * modules/hash-tests (Depends-on): Likewise.
16923         * modules/lchown-tests (Depends-on): Likewise.
16924         * modules/linkat-tests (Depends-on): Likewise.
16925         * modules/renameat-tests (Depends-on): Likewise.
16926         * modules/spawn-pipe-tests (Depends-on): Likewise.
16927         * modules/utimensat-tests (Depends-on): Likewise.
16928
16929 2011-06-17  Bruno Haible  <bruno@clisp.org>
16930
16931         spawn-pipe tests: Fix link error.
16932         * tests/test-spawn-pipe-child.c: Undefine fflush.
16933
16934 2011-06-17  Bruno Haible  <bruno@clisp.org>
16935
16936         Fix tests link errors.
16937         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
16938         * modules/chown-tests (Makefile.am): Don't link test-chown with
16939         LIBINTL.
16940         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
16941         LIBINTL.
16942         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
16943         LIBINTL.
16944         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
16945         LIBINTL.
16946
16947 2011-06-16  Bruno Haible  <bruno@clisp.org>
16948
16949         crypto/gc-sha1: Fix recent regression.
16950         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
16951         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
16952
16953         crypto/gc-md5: Fix recent regression.
16954         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
16955
16956         crypto/gc-md4: Fix recent regression.
16957         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
16958         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
16959
16960         crypto/gc-arctwo: Fix recent regression.
16961         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
16962         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
16963
16964         crypto/gc-rijndael: Fix recent regression.
16965         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
16966         (configure.ac): Invoke AC_LIBOBJ here.
16967         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
16968         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16969
16970         crypto/gc-hmac-sha1: Fix recent regression.
16971         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
16972         (configure.ac): Invoke AC_LIBOBJ here.
16973         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
16974         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16975
16976         crypto/gc-hmac-md5: Fix recent regression.
16977         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
16978         (configure.ac): Invoke AC_LIBOBJ here.
16979         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
16980         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16981
16982         crypto/gc-des: Fix recent regression.
16983         * modules/crypto/gc-des (Files): Remove m4/des.m4.
16984         (configure.ac): Invoke AC_LIBOBJ here.
16985         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
16986         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16987
16988         crypto/gc-arcfour: Fix recent regression.
16989         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
16990         (configure.ac): Invoke AC_LIBOBJ here.
16991         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
16992         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16993
16994 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
16995
16996         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
16997         After the 2011-05-21 change, this macro requires
16998         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
16999         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
17000
17001 2011-06-16  Bruno Haible  <bruno@clisp.org>
17002
17003         fprintftime: Move AC_LIBOBJ invocations to module description.
17004         * m4/fprintftime.m4: Remove file.
17005         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
17006         (configure.ac): Remove gl_FPRINTFTIME call.
17007         (Makefile.am): Augment lib_SOURCES.
17008         Reported by Jim Meyering.
17009
17010 2011-06-16  Bruno Haible  <bruno@clisp.org>
17011
17012         tmpfile-safer: Finish 2011-05-23 commit.
17013         * m4/stdio-safer.m4: Really remove file.
17014         Reported by Jim Meyering.
17015
17016 2011-06-16  Bruno Haible  <bruno@clisp.org>
17017
17018         syntax-check: Fix typo.
17019         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
17020         printf-posix.m4.
17021         Reported by Jim Meyering.
17022
17023 2011-06-13  Jim Meyering  <meyering@redhat.com>
17024
17025         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
17026         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
17027
17028 2011-05-23  Bruno Haible  <bruno@clisp.org>
17029
17030         yesno: Move AC_LIBOBJ invocations to module description.
17031         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
17032         * modules/yesno (Makefile.am): Augment lib_SOURCES.
17033
17034 2011-05-23  Bruno Haible  <bruno@clisp.org>
17035
17036         xstrtol: Move AC_LIBOBJ invocations to module description.
17037         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
17038         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
17039
17040 2011-05-23  Bruno Haible  <bruno@clisp.org>
17041
17042         xstrtold: Move AC_LIBOBJ invocations to module description.
17043         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
17044         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
17045
17046 2011-05-23  Bruno Haible  <bruno@clisp.org>
17047
17048         xstrtod: Move AC_LIBOBJ invocations to module description.
17049         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
17050         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
17051
17052 2011-05-23  Bruno Haible  <bruno@clisp.org>
17053
17054         xnanosleep: Move AC_LIBOBJ invocations to module description.
17055         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
17056         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
17057
17058 2011-05-23  Bruno Haible  <bruno@clisp.org>
17059
17060         xgetcwd: Move AC_LIBOBJ invocations to module description.
17061         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
17062         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
17063
17064 2011-05-23  Bruno Haible  <bruno@clisp.org>
17065
17066         xalloc: Move AC_LIBOBJ invocations to module description.
17067         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
17068         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
17069
17070 2011-05-23  Bruno Haible  <bruno@clisp.org>
17071
17072         write-any-file: Move AC_LIBOBJ invocations to module description.
17073         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
17074         invocation.
17075         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
17076
17077 2011-05-23  Bruno Haible  <bruno@clisp.org>
17078
17079         utimens: Move AC_LIBOBJ invocations to module description.
17080         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
17081         * modules/utimens (Makefile.am): Augment lib_SOURCES.
17082
17083 2011-05-23  Bruno Haible  <bruno@clisp.org>
17084
17085         utimecmp: Move AC_LIBOBJ invocations to module description.
17086         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
17087         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
17088
17089 2011-05-23  Bruno Haible  <bruno@clisp.org>
17090
17091         userspec: Move AC_LIBOBJ invocations to module description.
17092         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
17093         * modules/userspec (Makefile.am): Augment lib_SOURCES.
17094
17095 2011-05-23  Bruno Haible  <bruno@clisp.org>
17096
17097         unlinkdir: Move AC_LIBOBJ invocations to module description.
17098         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
17099         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
17100
17101 2011-05-23  Bruno Haible  <bruno@clisp.org>
17102
17103         unistd-safer: Move AC_LIBOBJ invocations to module description.
17104         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
17105         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
17106
17107 2011-05-23  Bruno Haible  <bruno@clisp.org>
17108
17109         tempname: Move AC_LIBOBJ invocations to module description.
17110         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
17111         * modules/tempname (Makefile.am): Augment lib_SOURCES.
17112
17113 2011-05-23  Bruno Haible  <bruno@clisp.org>
17114
17115         strftime: Move AC_LIBOBJ invocations to module description.
17116         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
17117         * modules/strftime (Makefile.am): Augment lib_SOURCES.
17118
17119 2011-05-23  Bruno Haible  <bruno@clisp.org>
17120
17121         stdlib-safer: Move AC_LIBOBJ invocations to module description.
17122         * m4/stdlib-safer.m4: Remove file.
17123         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
17124         (configure.ac): Remove gl_STDLIB_SAFER call.
17125         (Makefile.am): Augment lib_SOURCES.
17126
17127 2011-05-23  Bruno Haible  <bruno@clisp.org>
17128
17129         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
17130         * m4/stdio-safer.m4: Remove file.
17131         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
17132         (configure.ac): Remove gl_TMPFILE_SAFER call.
17133         (Makefile.am): Augment lib_SOURCES.
17134
17135 2011-05-23  Bruno Haible  <bruno@clisp.org>
17136
17137         popen-safer: Move AC_LIBOBJ invocations to module description.
17138         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
17139         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
17140         (configure.ac): Remove gl_POPEN_SAFER call.
17141         (Makefile.am): Augment lib_SOURCES.
17142
17143 2011-05-23  Bruno Haible  <bruno@clisp.org>
17144
17145         freopen-safer: Move AC_LIBOBJ invocations to module description.
17146         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
17147         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
17148         (configure.ac): Remove gl_FREOPEN_SAFER call.
17149         (Makefile.am): Augment lib_SOURCES.
17150
17151 2011-05-23  Bruno Haible  <bruno@clisp.org>
17152
17153         fopen-safer: Move AC_LIBOBJ invocations to module description.
17154         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
17155         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
17156         (configure.ac): Remove gl_FOPEN_SAFER call.
17157         (Makefile.am): Augment lib_SOURCES.
17158
17159 2011-05-23  Bruno Haible  <bruno@clisp.org>
17160
17161         crypto/sha512: Move AC_LIBOBJ invocations to module description.
17162         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
17163         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
17164
17165 2011-05-23  Bruno Haible  <bruno@clisp.org>
17166
17167         crypto/sha256: Move AC_LIBOBJ invocations to module description.
17168         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
17169         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
17170
17171 2011-05-23  Bruno Haible  <bruno@clisp.org>
17172
17173         crypto/sha1: Move AC_LIBOBJ invocations to module description.
17174         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
17175         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
17176
17177 2011-05-23  Bruno Haible  <bruno@clisp.org>
17178
17179         settime: Move AC_LIBOBJ invocations to module description.
17180         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
17181         * modules/settime (Makefile.am): Augment lib_SOURCES.
17182
17183 2011-05-23  Bruno Haible  <bruno@clisp.org>
17184
17185         savedir: Move AC_LIBOBJ invocations to module description.
17186         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
17187         * modules/savedir (Makefile.am): Augment lib_SOURCES.
17188
17189 2011-05-23  Bruno Haible  <bruno@clisp.org>
17190
17191         save-cwd: Move AC_LIBOBJ invocations to module description.
17192         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
17193         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
17194
17195 2011-05-23  Bruno Haible  <bruno@clisp.org>
17196
17197         same: Move AC_LIBOBJ invocations to module description.
17198         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
17199         * modules/same (Makefile.am): Augment lib_SOURCES.
17200
17201 2011-05-23  Bruno Haible  <bruno@clisp.org>
17202
17203         safe-write: Move AC_LIBOBJ invocations to module description.
17204         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
17205         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
17206         instead of gl_SAFE_WRITE.
17207         (Makefile.am): Augment lib_SOURCES.
17208
17209 2011-05-23  Bruno Haible  <bruno@clisp.org>
17210
17211         safe-read: Move AC_LIBOBJ invocations to module description.
17212         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
17213         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
17214         of gl_SAFE_READ.
17215         (Makefile.am): Augment lib_SOURCES.
17216
17217 2011-05-23  Bruno Haible  <bruno@clisp.org>
17218
17219         safe-alloc: Move AC_LIBOBJ invocations to module description.
17220         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
17221         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
17222
17223 2011-05-23  Bruno Haible  <bruno@clisp.org>
17224
17225         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
17226         * m4/rijndael.m4: Remove file.
17227         * modules/crypto/rijndael (Files): Remove it.
17228         (configure.ac): Remove gl_RIJNDAEL call.
17229         (Makefile.am): Augment lib_SOURCES.
17230
17231 2011-05-23  Bruno Haible  <bruno@clisp.org>
17232
17233         readtokens: Move AC_LIBOBJ invocations to module description.
17234         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
17235         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
17236
17237 2011-05-23  Bruno Haible  <bruno@clisp.org>
17238
17239         read-file: Move AC_LIBOBJ invocations to module description.
17240         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
17241         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
17242         of gl_FUNC_READ_FILE.
17243         (Makefile.am): Augment lib_SOURCES.
17244
17245 2011-05-23  Bruno Haible  <bruno@clisp.org>
17246
17247         quotearg: Move AC_LIBOBJ invocations to module description.
17248         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
17249         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
17250
17251 2011-05-23  Bruno Haible  <bruno@clisp.org>
17252
17253         quote: Move AC_LIBOBJ invocations to module description.
17254         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
17255         * modules/quote (Makefile.am): Augment lib_SOURCES.
17256
17257 2011-05-23  Bruno Haible  <bruno@clisp.org>
17258
17259         posixver: Move AC_LIBOBJ invocations to module description.
17260         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
17261         * modules/posixver (Makefile.am): Augment lib_SOURCES.
17262
17263 2011-05-23  Bruno Haible  <bruno@clisp.org>
17264
17265         posixtm: Move AC_LIBOBJ invocations to module description.
17266         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
17267         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
17268
17269 2011-05-23  Bruno Haible  <bruno@clisp.org>
17270
17271         physmem: Move AC_LIBOBJ invocations to module description.
17272         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
17273         * modules/physmem (Makefile.am): Augment lib_SOURCES.
17274
17275 2011-05-23  Bruno Haible  <bruno@clisp.org>
17276
17277         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
17278         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
17279         invocation.
17280         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
17281
17282 2011-05-23  Bruno Haible  <bruno@clisp.org>
17283
17284         mpsort: Move AC_LIBOBJ invocations to module description.
17285         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
17286         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
17287
17288 2011-05-23  Bruno Haible  <bruno@clisp.org>
17289
17290         modechange: Move AC_LIBOBJ invocations to module description.
17291         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
17292         * modules/modechange (Makefile.am): Augment lib_SOURCES.
17293
17294 2011-05-23  Bruno Haible  <bruno@clisp.org>
17295
17296         mkdir-p: Move AC_LIBOBJ invocations to module description.
17297         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
17298         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
17299
17300 2011-05-23  Bruno Haible  <bruno@clisp.org>
17301
17302         mkancesdirs: Move AC_LIBOBJ invocations to module description.
17303         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
17304         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
17305
17306 2011-05-23  Bruno Haible  <bruno@clisp.org>
17307
17308         mgetgroups: Move AC_LIBOBJ invocations to module description.
17309         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
17310         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
17311
17312 2011-05-23  Bruno Haible  <bruno@clisp.org>
17313
17314         memxor: Move AC_LIBOBJ invocations to module description.
17315         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
17316         * modules/memxor (Makefile.am): Augment lib_SOURCES.
17317
17318 2011-05-23  Bruno Haible  <bruno@clisp.org>
17319
17320         memcoll: Move AC_LIBOBJ invocations to module description.
17321         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
17322         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
17323
17324 2011-05-23  Bruno Haible  <bruno@clisp.org>
17325
17326         memcasecmp: Move AC_LIBOBJ invocations to module description.
17327         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
17328         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
17329
17330 2011-05-23  Bruno Haible  <bruno@clisp.org>
17331
17332         crypto/md5: Move AC_LIBOBJ invocations to module description.
17333         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
17334         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
17335
17336 2011-05-23  Bruno Haible  <bruno@clisp.org>
17337
17338         crypto/md4: Move AC_LIBOBJ invocations to module description.
17339         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
17340         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
17341
17342 2011-05-23  Bruno Haible  <bruno@clisp.org>
17343
17344         crypto/md2: Move AC_LIBOBJ invocations to module description.
17345         * m4/md2.m4: Remove file.
17346         * modules/crypto/md2 (Files): Remove it.
17347         (configure.ac): Remove gl_MD2 call.
17348         (Makefile.am): Augment lib_SOURCES.
17349
17350 2011-05-23  Bruno Haible  <bruno@clisp.org>
17351
17352         long-options: Move AC_LIBOBJ invocations to module description.
17353         * m4/long-options.m4: Remove file.
17354         * modules/long-options (Files): Remove it.
17355         (configure.ac): Remove gl_LONG_OPTIONS call.
17356         (Makefile.am): Augment lib_SOURCES.
17357
17358 2011-05-23  Bruno Haible  <bruno@clisp.org>
17359
17360         i-ring: Move AC_LIBOBJ invocations to module description.
17361         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
17362         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
17363
17364 2011-05-23  Bruno Haible  <bruno@clisp.org>
17365
17366         idcache: Move AC_LIBOBJ invocations to module description.
17367         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
17368         * modules/idcache (Makefile.am): Augment lib_SOURCES.
17369
17370 2011-05-23  Bruno Haible  <bruno@clisp.org>
17371
17372         human: Move AC_LIBOBJ invocations to module description.
17373         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
17374         * modules/human (Makefile.am): Augment lib_SOURCES.
17375
17376 2011-05-23  Bruno Haible  <bruno@clisp.org>
17377
17378         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
17379         * m4/hmac-sha1.m4: Remove file.
17380         * modules/crypto/hmac-sha1 (Files): Remove it.
17381         (configure.ac): Remove gl_HMAC_SHA1 call.
17382         (Makefile.am): Augment lib_SOURCES.
17383
17384 2011-05-23  Bruno Haible  <bruno@clisp.org>
17385
17386         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
17387         * m4/hmac-md5.m4: Remove file.
17388         * modules/crypto/hmac-md5 (Files): Remove it.
17389         (configure.ac): Remove gl_HMAC_MD5 call.
17390         (Makefile.am): Augment lib_SOURCES.
17391
17392 2011-05-23  Bruno Haible  <bruno@clisp.org>
17393
17394         hash: Move AC_LIBOBJ invocations to module description.
17395         * m4/hash.m4: Remove file.
17396         * modules/hash (Files): Remove it.
17397         (configure.ac): Remove gl_HASH call.
17398         (Makefile.am): Augment lib_SOURCES.
17399
17400 2011-05-23  Bruno Haible  <bruno@clisp.org>
17401
17402         hard-locale: Move AC_LIBOBJ invocations to module description.
17403         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
17404         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
17405
17406 2011-05-23  Bruno Haible  <bruno@clisp.org>
17407
17408         getugroups: Move AC_LIBOBJ invocations to module description.
17409         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
17410         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
17411
17412 2011-05-23  Bruno Haible  <bruno@clisp.org>
17413
17414         gettime: Move AC_LIBOBJ invocations to module description.
17415         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
17416         * modules/gettime (Makefile.am): Augment lib_SOURCES.
17417
17418 2011-05-23  Bruno Haible  <bruno@clisp.org>
17419
17420         getndelim2: Move AC_LIBOBJ invocations to module description.
17421         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
17422         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
17423
17424 2011-05-23  Bruno Haible  <bruno@clisp.org>
17425
17426         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
17427         * m4/gc-pbkdf2-sha1.m4: Remove file.
17428         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
17429         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
17430         (Makefile.am): Augment lib_SOURCES.
17431
17432 2011-05-23  Bruno Haible  <bruno@clisp.org>
17433
17434         fts: Move AC_LIBOBJ invocations to module description.
17435         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
17436         * modules/fts (configure.ac): ... to here.
17437
17438 2011-05-23  Bruno Haible  <bruno@clisp.org>
17439
17440         file-type: Move AC_LIBOBJ invocations to module description.
17441         * m4/file-type.m4: Remove file.
17442         * modules/file-type (Files): Remove it.
17443         (configure.ac): Remove gl_FILE_TYPE call.
17444         (Makefile.am): Augment lib_SOURCES.
17445
17446 2011-05-23  Bruno Haible  <bruno@clisp.org>
17447
17448         filenamecat*: Respect rules for use of AC_LIBOBJ.
17449         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
17450         Remove AC_LIBOBJ invocation.
17451         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
17452         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
17453
17454 2011-05-23  Bruno Haible  <bruno@clisp.org>
17455
17456         filemode: Move AC_LIBOBJ invocations to module description.
17457         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
17458         * modules/filemode (Makefile.am): Augment lib_SOURCES.
17459
17460 2011-05-23  Bruno Haible  <bruno@clisp.org>
17461
17462         openat-safer: Move AC_LIBOBJ invocations to module description.
17463         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
17464         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
17465
17466 2011-05-23  Bruno Haible  <bruno@clisp.org>
17467
17468         fcntl-safer: Move AC_LIBOBJ invocations to module description.
17469         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
17470         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
17471
17472 2011-05-23  Bruno Haible  <bruno@clisp.org>
17473
17474         exclude: Move AC_LIBOBJ invocations to module description.
17475         * m4/exclude.m4: Remove file.
17476         * modules/exclude (Files): Remove it.
17477         (configure.ac): Remove gl_EXCLUDE call.
17478         (Makefile.am): Augment lib_SOURCES.
17479
17480 2011-05-23  Bruno Haible  <bruno@clisp.org>
17481
17482         dirname*: Respect rules for use of AC_LIBOBJ.
17483         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
17484         invocations.
17485         * modules/dirname (Makefile.am): Augment lib_SOURCES.
17486         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
17487
17488 2011-05-23  Bruno Haible  <bruno@clisp.org>
17489
17490         dirent-safer: Move AC_LIBOBJ invocations to module description.
17491         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
17492         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
17493
17494 2011-05-23  Bruno Haible  <bruno@clisp.org>
17495
17496         crypto/des: Move AC_LIBOBJ invocations to module description.
17497         * m4/des.m4: Remove file.
17498         * modules/crypto/des (Files): Remove it.
17499         (configure.ac): Remove gl_DES call.
17500         (Makefile.am): Augment lib_SOURCES.
17501
17502 2011-05-23  Bruno Haible  <bruno@clisp.org>
17503
17504         cycle-check: Move AC_LIBOBJ invocations to module description.
17505         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
17506         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
17507
17508 2011-05-23  Bruno Haible  <bruno@clisp.org>
17509
17510         c-strtold: Move AC_LIBOBJ invocations to module description.
17511         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
17512         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
17513
17514 2011-05-23  Bruno Haible  <bruno@clisp.org>
17515
17516         c-strtod: Move AC_LIBOBJ invocations to module description.
17517         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
17518         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
17519
17520 2011-05-23  Bruno Haible  <bruno@clisp.org>
17521
17522         crc: Move AC_LIBOBJ invocations to module description.
17523         * m4/crc.m4: Remove file.
17524         * modules/crc (Files): Remove it.
17525         (configure.ac): Remove gl_CRC call.
17526         (Makefile.am): Augment lib_SOURCES.
17527
17528 2011-05-23  Bruno Haible  <bruno@clisp.org>
17529
17530         close-stream: Move AC_LIBOBJ invocations to module description.
17531         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
17532         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
17533
17534 2011-05-23  Bruno Haible  <bruno@clisp.org>
17535
17536         closeout: Move AC_LIBOBJ invocations to module description.
17537         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
17538         * modules/closeout (Makefile.am): Augment lib_SOURCES.
17539
17540 2011-05-23  Bruno Haible  <bruno@clisp.org>
17541
17542         closein: Move AC_LIBOBJ invocations to module description.
17543         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
17544         * modules/closein (Makefile.am): Augment lib_SOURCES.
17545
17546 2011-05-23  Bruno Haible  <bruno@clisp.org>
17547
17548         cloexec: Move AC_LIBOBJ invocations to module description.
17549         * m4/cloexec.m4: Remove file.
17550         * modules/cloexec (Files): Remove it.
17551         (configure.ac): Remove gl_CLOEXEC call.
17552         (Makefile.am): Augment lib_SOURCES.
17553
17554 2011-05-23  Bruno Haible  <bruno@clisp.org>
17555
17556         check-version: Move AC_LIBOBJ invocations to module description.
17557         * m4/check-version.m4: Remove file.
17558         * modules/check-version (Files): Remove it.
17559         (configure.ac): Remove gl_CHECK_VERSION call.
17560         (Makefile.am): Augment lib_SOURCES.
17561
17562 2011-05-23  Bruno Haible  <bruno@clisp.org>
17563
17564         chdir-safer: Move AC_LIBOBJ invocations to module description.
17565         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
17566         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
17567
17568 2011-05-23  Bruno Haible  <bruno@clisp.org>
17569
17570         canonicalize: Move AC_LIBOBJ invocations to module description.
17571         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
17572         AC_LIBOBJ invocation.
17573         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
17574
17575 2011-05-23  Bruno Haible  <bruno@clisp.org>
17576
17577         canon-host: Move AC_LIBOBJ invocations to module description.
17578         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
17579         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
17580         instead of gl_CANON_HOST.
17581         (Makefile.am): Augment lib_SOURCES.
17582
17583 2011-05-23  Bruno Haible  <bruno@clisp.org>
17584
17585         backupfile: Move AC_LIBOBJ invocations to module description.
17586         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
17587         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
17588
17589 2011-05-23  Bruno Haible  <bruno@clisp.org>
17590
17591         argmatch: Move AC_LIBOBJ invocations to module description.
17592         * m4/argmatch.m4: Remove file.
17593         * modules/argmatch (Files): Remove it.
17594         (configure.ac): Remove gl_ARGMATCH call.
17595         (Makefile.am): Augment lib_SOURCES.
17596
17597 2011-05-23  Bruno Haible  <bruno@clisp.org>
17598
17599         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
17600         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
17601         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
17602
17603 2011-05-23  Bruno Haible  <bruno@clisp.org>
17604
17605         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
17606         * m4/arcfour.m4: Remove file.
17607         * modules/crypto/arcfour (Files): Remove it.
17608         (configure.ac): Remove gl_ARCFOUR call.
17609         (Makefile.am): Augment lib_SOURCES.
17610
17611 2011-05-22  Bruno Haible  <bruno@clisp.org>
17612
17613         write: Move AC_LIBOBJ invocations to module description.
17614         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
17615         * modules/write (configure.ac): ... to here.
17616
17617 2011-05-22  Bruno Haible  <bruno@clisp.org>
17618
17619         wmemset: Move AC_LIBOBJ invocations to module description.
17620         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
17621         here...
17622         * modules/wmemset (configure.ac): ... to here.
17623
17624 2011-05-22  Bruno Haible  <bruno@clisp.org>
17625
17626         wmemmove: Move AC_LIBOBJ invocations to module description.
17627         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
17628         here...
17629         * modules/wmemmove (configure.ac): ... to here.
17630
17631 2011-05-22  Bruno Haible  <bruno@clisp.org>
17632
17633         wmemcpy: Move AC_LIBOBJ invocations to module description.
17634         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
17635         here...
17636         * modules/wmemcpy (configure.ac): ... to here.
17637
17638 2011-05-22  Bruno Haible  <bruno@clisp.org>
17639
17640         wmemcmp: Move AC_LIBOBJ invocations to module description.
17641         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
17642         here...
17643         * modules/wmemcmp (configure.ac): ... to here.
17644
17645 2011-05-22  Bruno Haible  <bruno@clisp.org>
17646
17647         wmemchr: Move AC_LIBOBJ invocations to module description.
17648         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
17649         here...
17650         * modules/wmemchr (configure.ac): ... to here.
17651
17652 2011-05-22  Bruno Haible  <bruno@clisp.org>
17653
17654         wcswidth: Move AC_LIBOBJ invocations to module description.
17655         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
17656         here...
17657         * modules/wcswidth (configure.ac): ... to here.
17658
17659 2011-05-22  Bruno Haible  <bruno@clisp.org>
17660
17661         wcwidth: Respect rules for use of AC_LIBOBJ.
17662         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
17663         invocation from here...
17664         * modules/wcwidth (configure.ac): ... to here.
17665         (Depends-on): Update conditions.
17666
17667 2011-05-22  Bruno Haible  <bruno@clisp.org>
17668
17669         wctype: Move AC_LIBOBJ invocations to module description.
17670         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
17671         invocation from here...
17672         * modules/wctype (configure.ac): ... to here.
17673         (Depends-on): Update conditions.
17674
17675 2011-05-22  Bruno Haible  <bruno@clisp.org>
17676
17677         wctrans: Move AC_LIBOBJ invocations to module description.
17678         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
17679         invocation from here...
17680         * modules/wctrans (configure.ac): ... to here.
17681
17682 2011-05-22  Bruno Haible  <bruno@clisp.org>
17683
17684         wctomb: Move AC_LIBOBJ invocations to module description.
17685         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
17686         invocations from here...
17687         * modules/wctomb (configure.ac): ... to here.
17688
17689 2011-05-22  Bruno Haible  <bruno@clisp.org>
17690
17691         wctob: Move AC_LIBOBJ invocations to module description.
17692         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
17693         gl_PREREQ_WCTOB invocations from here...
17694         * modules/wctob (configure.ac): ... to here.
17695         (Depends-on): Update conditions.
17696
17697 2011-05-22  Bruno Haible  <bruno@clisp.org>
17698
17699         wcsxfrm: Move AC_LIBOBJ invocations to module description.
17700         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
17701         here...
17702         * modules/wcsxfrm (configure.ac): ... to here.
17703
17704 2011-05-22  Bruno Haible  <bruno@clisp.org>
17705
17706         wcstok: Move AC_LIBOBJ invocations to module description.
17707         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
17708         * modules/wcstok (configure.ac): ... to here.
17709
17710 2011-05-22  Bruno Haible  <bruno@clisp.org>
17711
17712         wcsstr: Move AC_LIBOBJ invocations to module description.
17713         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
17714         * modules/wcsstr (configure.ac): ... to here.
17715
17716 2011-05-22  Bruno Haible  <bruno@clisp.org>
17717
17718         wcsspn: Move AC_LIBOBJ invocations to module description.
17719         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
17720         * modules/wcsspn (configure.ac): ... to here.
17721
17722 2011-05-22  Bruno Haible  <bruno@clisp.org>
17723
17724         wcsrtombs: Move AC_LIBOBJ invocations to module description.
17725         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
17726         gl_PREREQ_WCSRTOMBS invocations from here...
17727         * modules/wcsrtombs (configure.ac): ... to here.
17728
17729 2011-05-22  Bruno Haible  <bruno@clisp.org>
17730
17731         wcsrchr: Move AC_LIBOBJ invocations to module description.
17732         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
17733         here...
17734         * modules/wcsrchr (configure.ac): ... to here.
17735
17736 2011-05-22  Bruno Haible  <bruno@clisp.org>
17737
17738         wcspbrk: Move AC_LIBOBJ invocations to module description.
17739         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
17740         here...
17741         * modules/wcspbrk (configure.ac): ... to here.
17742
17743 2011-05-22  Bruno Haible  <bruno@clisp.org>
17744
17745         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
17746         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
17747         gl_PREREQ_WCSNRTOMBS invocations from here...
17748         * modules/wcsnrtombs (configure.ac): ... to here.
17749
17750 2011-05-22  Bruno Haible  <bruno@clisp.org>
17751
17752         wcsnlen: Move AC_LIBOBJ invocations to module description.
17753         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
17754         here...
17755         * modules/wcsnlen (configure.ac): ... to here.
17756
17757 2011-05-22  Bruno Haible  <bruno@clisp.org>
17758
17759         wcsncpy: Move AC_LIBOBJ invocations to module description.
17760         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
17761         here...
17762         * modules/wcsncpy (configure.ac): ... to here.
17763
17764 2011-05-22  Bruno Haible  <bruno@clisp.org>
17765
17766         wcsncmp: Move AC_LIBOBJ invocations to module description.
17767         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
17768         here...
17769         * modules/wcsncmp (configure.ac): ... to here.
17770
17771 2011-05-22  Bruno Haible  <bruno@clisp.org>
17772
17773         wcsncat: Move AC_LIBOBJ invocations to module description.
17774         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
17775         here...
17776         * modules/wcsncat (configure.ac): ... to here.
17777
17778 2011-05-22  Bruno Haible  <bruno@clisp.org>
17779
17780         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
17781         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
17782         from here...
17783         * modules/wcsncasecmp (configure.ac): ... to here.
17784
17785 2011-05-22  Bruno Haible  <bruno@clisp.org>
17786
17787         wcslen: Move AC_LIBOBJ invocations to module description.
17788         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
17789         * modules/wcslen (configure.ac): ... to here.
17790
17791 2011-05-22  Bruno Haible  <bruno@clisp.org>
17792
17793         wcsdup: Move AC_LIBOBJ invocations to module description.
17794         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
17795         * modules/wcsdup (configure.ac): ... to here.
17796
17797 2011-05-22  Bruno Haible  <bruno@clisp.org>
17798
17799         wcscspn: Move AC_LIBOBJ invocations to module description.
17800         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
17801         here...
17802         * modules/wcscspn (configure.ac): ... to here.
17803
17804 2011-05-22  Bruno Haible  <bruno@clisp.org>
17805
17806         wcscpy: Move AC_LIBOBJ invocations to module description.
17807         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
17808         * modules/wcscpy (configure.ac): ... to here.
17809
17810 2011-05-22  Bruno Haible  <bruno@clisp.org>
17811
17812         wcscoll: Move AC_LIBOBJ invocations to module description.
17813         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
17814         here...
17815         * modules/wcscoll (configure.ac): ... to here.
17816
17817 2011-05-22  Bruno Haible  <bruno@clisp.org>
17818
17819         wcscmp: Move AC_LIBOBJ invocations to module description.
17820         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
17821         * modules/wcscmp (configure.ac): ... to here.
17822
17823 2011-05-22  Bruno Haible  <bruno@clisp.org>
17824
17825         wcschr: Move AC_LIBOBJ invocations to module description.
17826         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
17827         * modules/wcschr (configure.ac): ... to here.
17828
17829 2011-05-22  Bruno Haible  <bruno@clisp.org>
17830
17831         wcscat: Move AC_LIBOBJ invocations to module description.
17832         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
17833         * modules/wcscat (configure.ac): ... to here.
17834
17835 2011-05-22  Bruno Haible  <bruno@clisp.org>
17836
17837         wcscasecmp: Move AC_LIBOBJ invocations to module description.
17838         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
17839         here...
17840         * modules/wcscasecmp (configure.ac): ... to here.
17841
17842 2011-05-22  Bruno Haible  <bruno@clisp.org>
17843
17844         wcrtomb: Move AC_LIBOBJ invocations to module description.
17845         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
17846         invocations from here...
17847         * modules/wcrtomb (configure.ac): ... to here.
17848
17849 2011-05-22  Bruno Haible  <bruno@clisp.org>
17850
17851         wcpncpy: Move AC_LIBOBJ invocations to module description.
17852         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
17853         here...
17854         * modules/wcpncpy (configure.ac): ... to here.
17855
17856 2011-05-22  Bruno Haible  <bruno@clisp.org>
17857
17858         wcpcpy: Move AC_LIBOBJ invocations to module description.
17859         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
17860         * modules/wcpcpy (configure.ac): ... to here.
17861
17862 2011-05-22  Bruno Haible  <bruno@clisp.org>
17863
17864         waitpid: Move AC_LIBOBJ invocations to module description.
17865         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
17866         invocation from here...
17867         * modules/waitpid (configure.ac): ... to here.
17868
17869 2011-05-22  Bruno Haible  <bruno@clisp.org>
17870
17871         utimensat: Move AC_LIBOBJ invocations to module description.
17872         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
17873         here...
17874         * modules/utimensat (configure.ac): ... to here.
17875
17876 2011-05-22  Bruno Haible  <bruno@clisp.org>
17877
17878         usleep: Move AC_LIBOBJ invocations to module description.
17879         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
17880         here...
17881         * modules/usleep (configure.ac): ... to here.
17882
17883 2011-05-22  Bruno Haible  <bruno@clisp.org>
17884
17885         unlockpt: Move AC_LIBOBJ invocations to module description.
17886         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
17887         gl_PREREQ_UNLOCKPT invocations from here...
17888         * modules/unlockpt (configure.ac): ... to here.
17889
17890 2011-05-22  Bruno Haible  <bruno@clisp.org>
17891
17892         unlink: Respect rules for use of AC_LIBOBJ.
17893         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
17894         * modules/unlink (configure.ac): ... to here.
17895
17896 2011-05-22  Bruno Haible  <bruno@clisp.org>
17897
17898         uname: Move AC_LIBOBJ invocations to module description.
17899         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
17900         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
17901         here...
17902         * modules/uname (configure.ac): ... to here.
17903
17904 2011-05-22  Bruno Haible  <bruno@clisp.org>
17905
17906         ttyname_r: Move AC_LIBOBJ invocations to module description.
17907         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
17908         gl_PREREQ_TTYNAME_R invocations from here...
17909         * modules/ttyname_r (configure.ac): ... to here.
17910
17911 2011-05-22  Bruno Haible  <bruno@clisp.org>
17912
17913         tsearch: Move AC_LIBOBJ invocations to module description.
17914         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
17915         invocations from here...
17916         * modules/tsearch (configure.ac): ... to here.
17917
17918 2011-05-22  Bruno Haible  <bruno@clisp.org>
17919
17920         towctrans: Move AC_LIBOBJ invocations to module description.
17921         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
17922         AC_LIBOBJ invocation from here...
17923         * modules/towctrans (configure.ac): ... to here.
17924
17925 2011-05-22  Bruno Haible  <bruno@clisp.org>
17926
17927         tmpfile: Move AC_LIBOBJ invocations to module description.
17928         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
17929         invocations from here...
17930         * modules/tmpfile (configure.ac): ... to here.
17931
17932 2011-05-22  Bruno Haible  <bruno@clisp.org>
17933
17934         times: Move AC_LIBOBJ invocations to module description.
17935         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
17936         * modules/times (configure.ac): ... to here.
17937
17938 2011-05-22  Bruno Haible  <bruno@clisp.org>
17939
17940         time_r: Move AC_LIBOBJ invocations to module description.
17941         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
17942         invocations from here...
17943         * modules/time_r (configure.ac): ... to here.
17944
17945 2011-05-22  Bruno Haible  <bruno@clisp.org>
17946
17947         timegm: Move AC_LIBOBJ invocations to module description.
17948         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
17949         invocations from here...
17950         * modules/timegm (configure.ac): ... to here.
17951
17952 2011-05-22  Bruno Haible  <bruno@clisp.org>
17953
17954         tcgetsid: Move AC_LIBOBJ invocations to module description.
17955         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
17956         and gl_PREREQ_TCGETSID invocations from here...
17957         * modules/tcgetsid (configure.ac): ... to here.
17958         (Depends-on): Update conditions.
17959
17960 2011-05-22  Bruno Haible  <bruno@clisp.org>
17961
17962         symlinkat: Move AC_LIBOBJ invocations to module description.
17963         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
17964         here...
17965         * modules/symlinkat (configure.ac): ... to here.
17966
17967 2011-05-22  Bruno Haible  <bruno@clisp.org>
17968
17969         symlink: Move AC_LIBOBJ invocations to module description.
17970         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
17971         here...
17972         * modules/symlink (configure.ac): ... to here.
17973
17974 2011-05-22  Bruno Haible  <bruno@clisp.org>
17975
17976         strverscmp: Move AC_LIBOBJ invocations to module description.
17977         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
17978         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
17979         from here...
17980         * modules/strverscmp (configure.ac): ... to here.
17981
17982 2011-05-22  Bruno Haible  <bruno@clisp.org>
17983
17984         strtok_r: Move AC_LIBOBJ invocations to module description.
17985         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
17986         and gl_PREREQ_STRTOK_R invocations from here...
17987         * modules/strtok_r (configure.ac): ... to here.
17988         (Depends-on): Update conditions.
17989
17990 2011-05-22  Bruno Haible  <bruno@clisp.org>
17991
17992         strtoumax: Move AC_LIBOBJ invocations to module description.
17993         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
17994         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
17995         from here...
17996         * modules/strtoumax (configure.ac): ... to here.
17997
17998 2011-05-22  Bruno Haible  <bruno@clisp.org>
17999
18000         strtoimax: Move AC_LIBOBJ invocations to module description.
18001         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
18002         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
18003         from here...
18004         * modules/strtoimax (configure.ac): ... to here.
18005
18006 2011-05-22  Bruno Haible  <bruno@clisp.org>
18007
18008         strtoull: Move AC_LIBOBJ invocations to module description.
18009         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
18010         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
18011         from here...
18012         * modules/strtoull (configure.ac): ... to here.
18013
18014 2011-05-22  Bruno Haible  <bruno@clisp.org>
18015
18016         strtoll: Move AC_LIBOBJ invocations to module description.
18017         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
18018         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
18019         here...
18020         * modules/strtoll (configure.ac): ... to here.
18021
18022 2011-05-22  Bruno Haible  <bruno@clisp.org>
18023
18024         strtoul: Move AC_LIBOBJ invocations to module description.
18025         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
18026         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
18027         * modules/strtoul (configure.ac): ... to here.
18028
18029 2011-05-22  Bruno Haible  <bruno@clisp.org>
18030
18031         strtol: Move AC_LIBOBJ invocations to module description.
18032         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
18033         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
18034         * modules/strtol (configure.ac): ... to here.
18035
18036 2011-05-22  Bruno Haible  <bruno@clisp.org>
18037
18038         strtod: Move AC_LIBOBJ invocations to module description.
18039         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
18040         invocations from here...
18041         * modules/strtod (configure.ac): ... to here.
18042
18043 2011-05-22  Bruno Haible  <bruno@clisp.org>
18044
18045         strstr*: Move AC_LIBOBJ invocations to module description.
18046         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
18047         invocations from here...
18048         * modules/strstr-simple (configure.ac): ... to here.
18049         * modules/strstr (configure.ac): ... and here.
18050
18051 2011-05-22  Bruno Haible  <bruno@clisp.org>
18052
18053         strsignal: Move AC_LIBOBJ invocations to module description.
18054         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
18055         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
18056         * modules/strsignal (configure.ac): ... to here.
18057         (Depends-on): Update conditions.
18058
18059 2011-05-22  Bruno Haible  <bruno@clisp.org>
18060
18061         strsep: Move AC_LIBOBJ invocations to module description.
18062         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
18063         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
18064         here...
18065         * modules/strsep (configure.ac): ... to here.
18066
18067 2011-05-22  Bruno Haible  <bruno@clisp.org>
18068
18069         strptime: Move AC_LIBOBJ invocations to module description.
18070         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
18071         gl_PREREQ_STRPTIME invocations from here...
18072         * modules/strptime (configure.ac): ... to here.
18073
18074 2011-05-22  Bruno Haible  <bruno@clisp.org>
18075
18076         strpbrk: Move AC_LIBOBJ invocations to module description.
18077         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
18078         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
18079         here...
18080         * modules/strpbrk (configure.ac): ... to here.
18081
18082 2011-05-22  Bruno Haible  <bruno@clisp.org>
18083
18084         strnlen: Move AC_LIBOBJ invocations to module description.
18085         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
18086         invocations from here...
18087         * modules/strnlen (configure.ac): ... to here.
18088
18089 2011-05-22  Bruno Haible  <bruno@clisp.org>
18090
18091         strndup: Move AC_LIBOBJ invocations to module description.
18092         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
18093         invocations from here...
18094         * modules/strndup (configure.ac): ... to here.
18095         (Depends-on): Update conditions.
18096
18097 2011-05-22  Bruno Haible  <bruno@clisp.org>
18098
18099         strncat: Move AC_LIBOBJ invocations to module description.
18100         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
18101         invocations from here...
18102         * modules/strncat (configure.ac): ... to here.
18103
18104 2011-05-22  Bruno Haible  <bruno@clisp.org>
18105
18106         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
18107         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
18108         invocations from here...
18109         * modules/strdup (configure.ac): ... to here.
18110         * modules/strdup-posix (configure.ac): ... and here.
18111
18112 2011-05-22  Bruno Haible  <bruno@clisp.org>
18113
18114         strcspn: Move AC_LIBOBJ invocations to module description.
18115         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
18116         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
18117         here...
18118         * modules/strcspn (configure.ac): ... to here.
18119
18120 2011-05-22  Bruno Haible  <bruno@clisp.org>
18121
18122         strchrnul: Move AC_LIBOBJ invocations to module description.
18123         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
18124         gl_PREREQ_STRCHRNUL invocations from here...
18125         * modules/strchrnul (configure.ac): ... to here.
18126
18127 2011-05-22  Bruno Haible  <bruno@clisp.org>
18128
18129         strcasestr*: Move AC_LIBOBJ invocations to module description.
18130         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
18131         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
18132         * modules/strcasestr-simple (configure.ac): ... to here.
18133         * modules/strcasestr (configure.ac): ... and here.
18134
18135 2011-05-22  Bruno Haible  <bruno@clisp.org>
18136
18137         strcase: Move AC_LIBOBJ invocations to module description.
18138         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
18139         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
18140         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
18141         gl_PREREQ_STRNCASECMP invocations from here...
18142         * modules/strcase (configure.ac): ... to here.
18143
18144 2011-05-22  Bruno Haible  <bruno@clisp.org>
18145
18146         stpncpy: Move AC_LIBOBJ invocations to module description.
18147         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
18148         here...
18149         * modules/stpncpy (configure.ac): ... to here.
18150
18151 2011-05-22  Bruno Haible  <bruno@clisp.org>
18152
18153         stpcpy: Move AC_LIBOBJ invocations to module description.
18154         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
18155         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
18156         here...
18157         * modules/stpcpy (configure.ac): ... to here.
18158
18159 2011-05-21  Bruno Haible  <bruno@clisp.org>
18160
18161         stat: Move AC_LIBOBJ invocations to module description.
18162         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
18163         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
18164         here...
18165         * modules/stat (configure.ac): ... to here.
18166
18167 2011-05-21  Bruno Haible  <bruno@clisp.org>
18168
18169         sleep: Move AC_LIBOBJ invocations to module description.
18170         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
18171         * modules/sleep (configure.ac): ... to here.
18172
18173 2011-05-21  Bruno Haible  <bruno@clisp.org>
18174
18175         signbit: Move AC_LIBOBJ invocations to module description.
18176         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
18177         * modules/signbit (configure.ac): ... to here.
18178
18179 2011-05-21  Bruno Haible  <bruno@clisp.org>
18180
18181         sigprocmask: Move AC_LIBOBJ invocations to module description.
18182         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
18183         gl_PREREQ_SIGPROMASK invocations from here...
18184         * modules/sigprocmask (configure.ac): ... to here.
18185
18186 2011-05-21  Bruno Haible  <bruno@clisp.org>
18187
18188         sigaction: Move AC_LIBOBJ invocations to module description.
18189         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
18190         gl_PREREQ_SIGACTION invocations from here...
18191         * modules/sigaction (configure.ac): ... to here.
18192
18193 2011-05-21  Bruno Haible  <bruno@clisp.org>
18194
18195         sig2str: Move AC_LIBOBJ invocations to module description.
18196         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
18197         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
18198         here...
18199         * modules/sig2str (configure.ac): ... to here.
18200
18201 2011-05-21  Bruno Haible  <bruno@clisp.org>
18202
18203         setlocale: Move AC_LIBOBJ invocations to module description.
18204         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
18205         gl_PREREQ_SETLOCALE invocations from here...
18206         * modules/setlocale (configure.ac): ... to here.
18207
18208 2011-05-21  Bruno Haible  <bruno@clisp.org>
18209
18210         unsetenv: Move AC_LIBOBJ invocations to module description.
18211         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
18212         and gl_PREREQ_UNSETENV invocations from here...
18213         * modules/unsetenv (configure.ac): ... to here.
18214         (Depends-on): Update.
18215
18216 2011-05-21  Bruno Haible  <bruno@clisp.org>
18217
18218         setenv: Move AC_LIBOBJ invocations to module description.
18219         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
18220         here...
18221         * modules/setenv (configure.ac): ... to here.
18222
18223 2011-05-21  Bruno Haible  <bruno@clisp.org>
18224
18225         selinux-h: Move AC_LIBOBJ invocations to module description.
18226         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
18227         AC_LIBOBJ invocation from here...
18228         * modules/selinux-h (configure.ac): ... to here.
18229
18230 2011-05-21  Bruno Haible  <bruno@clisp.org>
18231
18232         select: Respect rules for use of AC_LIBOBJ.
18233         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
18234         here...
18235         * modules/select (configure.ac): ... to here.
18236
18237 2011-05-21  Bruno Haible  <bruno@clisp.org>
18238
18239         scandir: Move AC_LIBOBJ invocations to module description.
18240         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
18241         invocations from here...
18242         * modules/scandir (configure.ac): ... to here.
18243
18244 2011-05-21  Bruno Haible  <bruno@clisp.org>
18245
18246         rpmatch: Move AC_LIBOBJ invocations to module description.
18247         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
18248         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
18249         here...
18250         * modules/rpmatch (configure.ac): ... to here.
18251
18252 2011-05-21  Bruno Haible  <bruno@clisp.org>
18253
18254         rmdir: Respect rules for use of AC_LIBOBJ.
18255         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
18256         * modules/rmdir (configure.ac): ... to here.
18257
18258 2011-05-21  Bruno Haible  <bruno@clisp.org>
18259
18260         renameat: Move AC_LIBOBJ invocations to module description.
18261         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
18262         here...
18263         * modules/renameat (configure.ac): ... to here.
18264
18265 2011-05-21  Bruno Haible  <bruno@clisp.org>
18266
18267         rename: Respect rules for use of AC_LIBOBJ.
18268         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
18269         here...
18270         * modules/rename (configure.ac): ... to here.
18271
18272 2011-05-21  Bruno Haible  <bruno@clisp.org>
18273
18274         remove: Move AC_LIBOBJ invocations to module description.
18275         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
18276         here...
18277         * modules/remove (configure.ac): ... to here.
18278
18279 2011-05-21  Bruno Haible  <bruno@clisp.org>
18280
18281         relocatable-lib: Move AC_LIBOBJ invocations to module description.
18282         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
18283         macro.
18284         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
18285         * modules/relocatable-lib (configure.ac): ... to here.
18286         * modules/relocatable-prog-wrapper (configure.ac): Invoke
18287         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
18288
18289 2011-05-21  Bruno Haible  <bruno@clisp.org>
18290
18291         relocatable-prog: Move AC_LIBOBJ invocations to module description.
18292         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
18293         here...
18294         * modules/relocatable-prog (configure.ac): ... to here.
18295
18296 2011-05-21  Bruno Haible  <bruno@clisp.org>
18297
18298         regex: Move AC_LIBOBJ invocations to module description.
18299         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
18300         invocations from here...
18301         * modules/regex (configure.ac): ... to here.
18302
18303 2011-05-21  Bruno Haible  <bruno@clisp.org>
18304
18305         realloc-*: Move AC_LIBOBJ invocations to module description.
18306         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
18307         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
18308         AC_LIBOBJ invocations from here...
18309         * modules/realloc-gnu (configure.ac): ... to here.
18310         * modules/realloc-posix (configure.ac): ... and here.
18311
18312 2011-05-21  Bruno Haible  <bruno@clisp.org>
18313
18314         readutmp: Move AC_LIBOBJ invocations to module description.
18315         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
18316         * modules/readutmp (configure.ac): ... to here.
18317
18318 2011-05-21  Bruno Haible  <bruno@clisp.org>
18319
18320         readlinkat: Move AC_LIBOBJ invocations to module description.
18321         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
18322         here...
18323         * modules/readlinkat (configure.ac): ... to here.
18324
18325 2011-05-21  Bruno Haible  <bruno@clisp.org>
18326
18327         readlink: Move AC_LIBOBJ invocations to module description.
18328         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
18329         gl_PREREQ_READLINK invocations from here...
18330         * modules/readlink (configure.ac): ... to here.
18331
18332 2011-05-21  Bruno Haible  <bruno@clisp.org>
18333
18334         readline: Move AC_LIBOBJ invocations to module description.
18335         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
18336         gl_PREREQ_READLINE invocations from here...
18337         * modules/readline (configure.ac): ... to here.
18338
18339 2011-05-21  Bruno Haible  <bruno@clisp.org>
18340
18341         read: Move AC_LIBOBJ invocations to module description.
18342         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
18343         * modules/read (configure.ac): ... to here.
18344
18345 2011-05-21  Bruno Haible  <bruno@clisp.org>
18346
18347         rawmemchr: Move AC_LIBOBJ invocations to module description.
18348         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
18349         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
18350         from here...
18351         * modules/rawmemchr (configure.ac): ... to here.
18352
18353 2011-05-21  Bruno Haible  <bruno@clisp.org>
18354
18355         random_r: Move AC_LIBOBJ invocations to module description.
18356         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
18357         gl_PREREQ_RANDOM_R invocations from here...
18358         * modules/random_r (configure.ac): ... to here.
18359
18360 2011-05-21  Bruno Haible  <bruno@clisp.org>
18361
18362         pwrite: Move AC_LIBOBJ invocations to module description.
18363         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
18364         * modules/pwrite (configure.ac): ... to here.
18365
18366 2011-05-21  Bruno Haible  <bruno@clisp.org>
18367
18368         putenv: Move AC_LIBOBJ invocations to module description.
18369         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
18370         * modules/putenv (configure.ac): ... to here.
18371
18372 2011-05-21  Bruno Haible  <bruno@clisp.org>
18373
18374         login_tty: Move AC_LIBOBJ invocations to module description.
18375         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
18376         * modules/login_tty (configure.ac): ... to here.
18377
18378 2011-05-21  Bruno Haible  <bruno@clisp.org>
18379
18380         openpty: Move AC_LIBOBJ invocations to module description.
18381         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
18382         * modules/openpty (configure.ac): ... to here.
18383
18384 2011-05-21  Bruno Haible  <bruno@clisp.org>
18385
18386         forkpty: Move AC_LIBOBJ invocations to module description.
18387         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
18388         * modules/forkpty (configure.ac): ... to here.
18389
18390 2011-05-21  Bruno Haible  <bruno@clisp.org>
18391
18392         ptsname: Move AC_LIBOBJ invocations to module description.
18393         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
18394         invocations from here...
18395         * modules/ptsname (configure.ac): ... to here.
18396
18397 2011-05-21  Bruno Haible  <bruno@clisp.org>
18398
18399         pread: Move AC_LIBOBJ invocations to module description.
18400         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
18401         * modules/pread (configure.ac): ... to here.
18402
18403 2011-05-21  Bruno Haible  <bruno@clisp.org>
18404
18405         posix_spawn*: Move AC_LIBOBJ invocations to module description.
18406         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
18407         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
18408         * modules/posix_spawn (configure.ac): ... to here.
18409         * modules/posix_spawnp (configure.ac): ... and here.
18410
18411 2011-05-21  Bruno Haible  <bruno@clisp.org>
18412
18413         popen: Move AC_LIBOBJ invocations to module description.
18414         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
18415         invocations from here...
18416         * modules/popen (configure.ac): ... to here.
18417
18418 2011-05-21  Bruno Haible  <bruno@clisp.org>
18419
18420         poll: Move AC_LIBOBJ invocations to module description.
18421         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
18422         invocations from here...
18423         * modules/poll (configure.ac): ... to here.
18424
18425 2011-05-21  Bruno Haible  <bruno@clisp.org>
18426
18427         pipe-posix: Move AC_LIBOBJ invocations to module description.
18428         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
18429         * modules/pipe-posix (configure.ac): ... to here.
18430
18431 2011-05-21  Bruno Haible  <bruno@clisp.org>
18432
18433         openat: Respect rules for use of AC_LIBOBJ.
18434         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
18435         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18436         * modules/openat (configure.ac): ... to here.
18437
18438 2011-05-21  Bruno Haible  <bruno@clisp.org>
18439
18440         obstack-printf*: Move AC_LIBOBJ invocations to module description.
18441         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
18442         invocation from here...
18443         * modules/obstack-printf (configure.ac): ... to here.
18444         * modules/obstack-printf-posix (configure.ac): ... and here.
18445
18446 2011-05-21  Bruno Haible  <bruno@clisp.org>
18447
18448         nl_langinfo: Move AC_LIBOBJ invocations to module description.
18449         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
18450         from here...
18451         * modules/nl_langinfo (configure.ac): ... to here.
18452
18453 2011-05-21  Bruno Haible  <bruno@clisp.org>
18454
18455         nanosleep: Move AC_LIBOBJ invocations to module description.
18456         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
18457         gl_PREREQ_NANOSLEEP invocations from here...
18458         * modules/nanosleep (configure.ac): ... to here.
18459
18460 2011-05-21  Bruno Haible  <bruno@clisp.org>
18461
18462         mountlist: Move AC_LIBOBJ invocations to module description.
18463         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
18464         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
18465         * modules/mountlist (configure.ac): ... to here.
18466
18467 2011-05-21  Bruno Haible  <bruno@clisp.org>
18468
18469         mktime: Respect rules for use of AC_LIBOBJ.
18470         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
18471         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
18472         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
18473         (gl_FUNC_MKTIME_INTERNAL): ... and here...
18474         * modules/mktime (configure.ac): ... to here.
18475         * modules/mktime-internal (configure.ac): ... and here.
18476         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
18477
18478 2011-05-21  Bruno Haible  <bruno@clisp.org>
18479
18480         mkstemps: Move AC_LIBOBJ invocations to module description.
18481         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
18482         here...
18483         * modules/mkstemps (configure.ac): ... to here.
18484
18485 2011-05-21  Bruno Haible  <bruno@clisp.org>
18486
18487         mkstemp: Move AC_LIBOBJ invocations to module description.
18488         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
18489         gl_PREREQ_MKSTEMP invocations from here...
18490         * modules/mkstemp (configure.ac): ... to here.
18491
18492 2011-05-21  Bruno Haible  <bruno@clisp.org>
18493
18494         mkostemps: Move AC_LIBOBJ invocations to module description.
18495         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
18496         here...
18497         * modules/mkostemps (configure.ac): ... to here.
18498
18499 2011-05-21  Bruno Haible  <bruno@clisp.org>
18500
18501         mkostemp: Move AC_LIBOBJ invocations to module description.
18502         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
18503         gl_PREREQ_MKOSTEMP invocations from here...
18504         * modules/mkostemp (configure.ac): ... to here.
18505
18506 2011-05-21  Bruno Haible  <bruno@clisp.org>
18507
18508         mknod: Move AC_LIBOBJ invocations to module description.
18509         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
18510         * modules/mknod (configure.ac): ... to here.
18511
18512 2011-05-21  Bruno Haible  <bruno@clisp.org>
18513
18514         mkfifoat: Move AC_LIBOBJ invocations to module description.
18515         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
18516         here...
18517         * modules/mkfifoat (configure.ac): ... to here.
18518
18519 2011-05-21  Bruno Haible  <bruno@clisp.org>
18520
18521         mkfifo: Respect rules for use of AC_LIBOBJ.
18522         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
18523         here...
18524         * modules/mkfifo (configure.ac): ... to here.
18525
18526 2011-05-21  Bruno Haible  <bruno@clisp.org>
18527
18528         mkdtemp: Move AC_LIBOBJ invocations to module description.
18529         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
18530         invocations from here...
18531         * modules/mkdtemp (configure.ac): ... to here.
18532
18533 2011-05-21  Bruno Haible  <bruno@clisp.org>
18534
18535         mkdir: Move AC_LIBOBJ invocations to module description.
18536         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
18537         * modules/mkdir (configure.ac): ... to here.
18538
18539 2011-05-21  Bruno Haible  <bruno@clisp.org>
18540
18541         memset: Move AC_LIBOBJ invocations to module description.
18542         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
18543         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
18544         here...
18545         * modules/memset (configure.ac): ... to here.
18546
18547 2011-05-21  Bruno Haible  <bruno@clisp.org>
18548
18549         memrchr: Move AC_LIBOBJ invocations to module description.
18550         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
18551         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
18552         here...
18553         * modules/memrchr (configure.ac): ... to here.
18554
18555 2011-05-21  Bruno Haible  <bruno@clisp.org>
18556
18557         mempcpy: Move AC_LIBOBJ invocations to module description.
18558         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
18559         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
18560         here...
18561         * modules/mempcpy (configure.ac): ... to here.
18562
18563 2011-05-21  Bruno Haible  <bruno@clisp.org>
18564
18565         memmove: Move AC_LIBOBJ invocations to module description.
18566         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
18567         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
18568         here...
18569         * modules/memmove (configure.ac): ... to here.
18570
18571 2011-05-21  Bruno Haible  <bruno@clisp.org>
18572
18573         memmem*: Move AC_LIBOBJ invocations to module description.
18574         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
18575         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
18576         here...
18577         (gl_FUNC_MEMMEM): ... and here...
18578         * modules/memmem-simple (configure.ac): ... to here.
18579         * modules/memmem (configure.ac): ... and here.
18580
18581 2011-05-21  Bruno Haible  <bruno@clisp.org>
18582
18583         memcpy: Move AC_LIBOBJ invocations to module description.
18584         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
18585         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
18586         here...
18587         * modules/memcpy (configure.ac): ... to here.
18588
18589 2011-05-21  Bruno Haible  <bruno@clisp.org>
18590
18591         memcmp: Simplify autoconf macro.
18592         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
18593         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
18594         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
18595
18596 2011-05-21  Bruno Haible  <bruno@clisp.org>
18597
18598         memcmp: Move AC_LIBOBJ invocations to module description.
18599         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
18600         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
18601         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
18602         * modules/memcmp (configure.ac): ... to here.
18603         (Depends-on): Update conditions.
18604
18605 2011-05-21  Bruno Haible  <bruno@clisp.org>
18606
18607         memchr: Respect rules for use of AC_LIBOBJ.
18608         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
18609         invocations from here...
18610         * modules/memchr (configure.ac): ... to here.
18611
18612 2011-05-21  Bruno Haible  <bruno@clisp.org>
18613
18614         mbtowc: Move AC_LIBOBJ invocations to module description.
18615         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
18616         invocations from here...
18617         * modules/mbtowc (configure.ac): ... to here.
18618
18619 2011-05-21  Bruno Haible  <bruno@clisp.org>
18620
18621         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
18622         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
18623         gl_PREREQ_MBSRTOWCS invocations from here...
18624         * modules/mbsrtowcs (configure.ac): ... to here.
18625
18626 2011-05-21  Bruno Haible  <bruno@clisp.org>
18627
18628         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
18629         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
18630         gl_PREREQ_MBSNRTOWCS invocations from here...
18631         * modules/mbsnrtowcs (configure.ac): ... to here.
18632
18633 2011-05-21  Bruno Haible  <bruno@clisp.org>
18634
18635         mbsinit: Move AC_LIBOBJ invocations to module description.
18636         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
18637         invocations from here...
18638         * modules/mbsinit (configure.ac): ... to here.
18639
18640 2011-05-21  Bruno Haible  <bruno@clisp.org>
18641
18642         mbrlen: Move AC_LIBOBJ invocations to module description.
18643         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
18644         invocations from here...
18645         * modules/mbrlen (configure.ac): ... to here.
18646
18647 2011-05-21  Bruno Haible  <bruno@clisp.org>
18648
18649         mbrtowc: Respect rules for use of AC_LIBOBJ.
18650         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
18651         invocations from here...
18652         * modules/mbrtowc (configure.ac): ... to here.
18653
18654 2011-05-21  Bruno Haible  <bruno@clisp.org>
18655
18656         malloc-*: Move AC_LIBOBJ invocations to module description.
18657         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
18658         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
18659         AC_LIBOBJ invocations from here...
18660         * modules/malloc-gnu (configure.ac): ... to here.
18661         * modules/malloc-posix (configure.ac): ... and here.
18662
18663 2011-05-21  Bruno Haible  <bruno@clisp.org>
18664
18665         lstat, openat: Respect rules for use of AC_LIBOBJ.
18666         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
18667         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
18668         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
18669         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
18670         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
18671         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
18672         here.
18673         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
18674
18675 2011-05-21  Bruno Haible  <bruno@clisp.org>
18676
18677         lseek: Move AC_LIBOBJ invocations to module description.
18678         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
18679         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
18680         * modules/lseek (configure.ac): ... to here.
18681
18682 2011-05-21  Bruno Haible  <bruno@clisp.org>
18683
18684         linkat: Move AC_LIBOBJ invocations to module description.
18685         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
18686         here...
18687         * modules/linkat (configure.ac): ... to here.
18688
18689 2011-05-21  Bruno Haible  <bruno@clisp.org>
18690
18691         link: Respect rules for use of AC_LIBOBJ.
18692         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
18693         * modules/link (configure.ac): ... to here.
18694
18695 2011-05-21  Bruno Haible  <bruno@clisp.org>
18696
18697         lchown: Move AC_LIBOBJ invocations to module description.
18698         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18699         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18700         * modules/lchown (configure.ac): ... to here.
18701
18702 2011-05-21  Bruno Haible  <bruno@clisp.org>
18703
18704         iswctype: Move AC_LIBOBJ invocations to module description.
18705         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
18706         here...
18707         * modules/iswctype (configure.ac): ... to here.
18708
18709 2011-05-21  Bruno Haible  <bruno@clisp.org>
18710
18711         iswblank: Move AC_LIBOBJ invocations to module description.
18712         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
18713         here...
18714         * modules/iswblank (configure.ac): ... to here.
18715
18716 2011-05-21  Bruno Haible  <bruno@clisp.org>
18717
18718         atanl: Move AC_LIBOBJ invocations to module description.
18719         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
18720         * modules/atanl (configure.ac): ... to here.
18721
18722 2011-05-21  Bruno Haible  <bruno@clisp.org>
18723
18724         acosl: Move AC_LIBOBJ invocations to module description.
18725         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
18726         * modules/acosl (configure.ac): ... to here.
18727
18728 2011-05-21  Bruno Haible  <bruno@clisp.org>
18729
18730         asinl: Respect rules for use of AC_LIBOBJ.
18731         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
18732         * modules/asinl (configure.ac): ... to here.
18733
18734 2011-05-21  Bruno Haible  <bruno@clisp.org>
18735
18736         tanl: Move AC_LIBOBJ invocations to module description.
18737         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
18738         * modules/tanl (configure.ac): ... to here.
18739
18740 2011-05-21  Bruno Haible  <bruno@clisp.org>
18741
18742         cosl: Move AC_LIBOBJ invocations to module description.
18743         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
18744         * modules/cosl (configure.ac): ... to here.
18745
18746 2011-05-21  Bruno Haible  <bruno@clisp.org>
18747
18748         sinl: Move AC_LIBOBJ invocations to module description.
18749         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
18750         * modules/sinl (configure.ac): ... to here.
18751
18752 2011-05-21  Bruno Haible  <bruno@clisp.org>
18753
18754         logl: Move AC_LIBOBJ invocations to module description.
18755         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
18756         * modules/logl (configure.ac): ... to here.
18757
18758 2011-05-21  Bruno Haible  <bruno@clisp.org>
18759
18760         expl: Move AC_LIBOBJ invocations to module description.
18761         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
18762         * modules/expl (configure.ac): ... to here.
18763
18764 2011-05-21  Bruno Haible  <bruno@clisp.org>
18765
18766         roundl: Move AC_LIBOBJ invocations to module description.
18767         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
18768         * modules/roundl (configure.ac): ... to here.
18769
18770 2011-05-21  Bruno Haible  <bruno@clisp.org>
18771
18772         round: Move AC_LIBOBJ invocations to module description.
18773         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
18774         * modules/round (configure.ac): ... to here.
18775
18776 2011-05-21  Bruno Haible  <bruno@clisp.org>
18777
18778         roundf: Move AC_LIBOBJ invocations to module description.
18779         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
18780         * modules/roundf (configure.ac): ... to here.
18781
18782 2011-05-21  Bruno Haible  <bruno@clisp.org>
18783
18784         truncl: Move AC_LIBOBJ invocations to module description.
18785         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
18786         * modules/truncl (configure.ac): ... to here.
18787
18788 2011-05-21  Bruno Haible  <bruno@clisp.org>
18789
18790         trunc: Move AC_LIBOBJ invocations to module description.
18791         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
18792         * modules/trunc (configure.ac): ... to here.
18793
18794 2011-05-21  Bruno Haible  <bruno@clisp.org>
18795
18796         truncf: Move AC_LIBOBJ invocations to module description.
18797         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
18798         * modules/truncf (configure.ac): ... to here.
18799
18800 2011-05-21  Bruno Haible  <bruno@clisp.org>
18801
18802         ceill: Move AC_LIBOBJ invocations to module description.
18803         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
18804         * modules/ceill (configure.ac): ... to here.
18805
18806 2011-05-21  Bruno Haible  <bruno@clisp.org>
18807
18808         ceil: Move AC_LIBOBJ invocations to module description.
18809         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
18810         * modules/ceil (configure.ac): ... to here.
18811
18812 2011-05-21  Bruno Haible  <bruno@clisp.org>
18813
18814         ceilf: Move AC_LIBOBJ invocations to module description.
18815         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
18816         * modules/ceilf (configure.ac): ... to here.
18817
18818 2011-05-21  Bruno Haible  <bruno@clisp.org>
18819
18820         floorl: Respect rules for use of AC_LIBOBJ.
18821         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
18822         * modules/floorl (configure.ac): ... to here.
18823
18824 2011-05-21  Bruno Haible  <bruno@clisp.org>
18825
18826         floor: Respect rules for use of AC_LIBOBJ.
18827         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
18828         * modules/floor (configure.ac): ... to here.
18829
18830 2011-05-21  Bruno Haible  <bruno@clisp.org>
18831
18832         floorf: Move AC_LIBOBJ invocations to module description.
18833         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
18834         * modules/floorf (configure.ac): ... to here.
18835
18836 2011-05-20  Bruno Haible  <bruno@clisp.org>
18837
18838         sqrtl: Respect rules for use of AC_LIBOBJ.
18839         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
18840         * modules/sqrtl (configure.ac): ... to here.
18841
18842 2011-05-20  Bruno Haible  <bruno@clisp.org>
18843
18844         ldexpl: Respect rules for use of AC_LIBOBJ.
18845         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
18846         * modules/ldexpl (configure.ac): ... to here.
18847
18848 2011-05-20  Bruno Haible  <bruno@clisp.org>
18849
18850         frexpl*: Respect rules for use of AC_LIBOBJ.
18851         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
18852         invocation from here...
18853         * modules/frexpl (configure.ac): ... to here.
18854         * modules/frexpl-nolibm (configure.ac): ... and here.
18855
18856 2011-05-20  Bruno Haible  <bruno@clisp.org>
18857
18858         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
18859         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
18860         invocation from here...
18861         * modules/frexp (configure.ac): ... to here.
18862         * modules/frexp-nolibm (configure.ac): ... and here.
18863
18864 2011-05-20  Bruno Haible  <bruno@clisp.org>
18865
18866         isnan: Respect rules for use of AC_LIBOBJ.
18867         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
18868         invocations here.
18869         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
18870         REPLACE_ISNAN.
18871         * modules/isnand (configure.ac): Likewise.
18872         * modules/isnanl (configure.ac): Likewise.
18873
18874 2011-05-20  Bruno Haible  <bruno@clisp.org>
18875
18876         isnanl*: Respect rules for use of AC_LIBOBJ.
18877         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
18878         invocation from here...
18879         * modules/isnanl (configure.ac): ... to here.
18880         * modules/isnanl-nolibm (configure.ac): ... and here.
18881
18882 2011-05-20  Bruno Haible  <bruno@clisp.org>
18883
18884         isnand*: Move AC_LIBOBJ invocations to module description.
18885         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
18886         invocation from here...
18887         * modules/isnand (configure.ac): ... to here.
18888         * modules/isnand-nolibm (configure.ac): ... and here.
18889
18890 2011-05-20  Bruno Haible  <bruno@clisp.org>
18891
18892         isnanf*: Move AC_LIBOBJ invocations to module description.
18893         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
18894         invocation from here...
18895         * modules/isnanf (configure.ac): ... to here.
18896         * modules/isnanf-nolibm (configure.ac): ... and here.
18897
18898 2011-05-20  Bruno Haible  <bruno@clisp.org>
18899
18900         isnan*: Separate the AC_LIBOBJ invocations.
18901         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
18902         AC_LIBOBJ invocation.
18903         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
18904         here.
18905         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
18906         AC_LIBOBJ invocation.
18907         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
18908         here.
18909         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
18910         AC_LIBOBJ invocation.
18911         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
18912         here.
18913         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
18914
18915 2011-05-08  Bruno Haible  <bruno@clisp.org>
18916
18917         isinf: Move AC_LIBOBJ invocations to module description.
18918         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
18919         * modules/isinf (configure.ac): ... to here.
18920
18921 2011-05-08  Bruno Haible  <bruno@clisp.org>
18922
18923         isfinite: Move AC_LIBOBJ invocations to module description.
18924         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
18925         * modules/isfinite (configure.ac): ... to here.
18926
18927 2011-05-08  Bruno Haible  <bruno@clisp.org>
18928
18929         isblank: Move AC_LIBOBJ invocations to module description.
18930         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
18931         here...
18932         * modules/isblank (configure.ac): ... to here.
18933
18934 2011-05-08  Bruno Haible  <bruno@clisp.org>
18935
18936         isapipe: Move AC_LIBOBJ invocations to module description.
18937         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
18938         gl_PREREQ_ISAPIPE invocations from here...
18939         * modules/isapipe (configure.ac): ... to here.
18940         (Depends-on): Update condition.
18941
18942 2011-05-08  Bruno Haible  <bruno@clisp.org>
18943
18944         ioctl: Move AC_LIBOBJ invocations to module description.
18945         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
18946         invocations from here...
18947         * modules/ioctl (configure.ac): ... to here.
18948         (Depends-on): Update condition.
18949
18950 2011-05-08  Bruno Haible  <bruno@clisp.org>
18951
18952         imaxdiv: Move AC_LIBOBJ invocations to module description.
18953         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
18954         invocations from here...
18955         * modules/imaxdiv (configure.ac): ... to here.
18956
18957 2011-05-08  Bruno Haible  <bruno@clisp.org>
18958
18959         imaxabs: Move AC_LIBOBJ invocations to module description.
18960         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
18961         invocations from here...
18962         * modules/imaxabs (configure.ac): ... to here.
18963
18964 2011-05-08  Bruno Haible  <bruno@clisp.org>
18965
18966         getaddrinfo: Move AC_LIBOBJ invocations to module description.
18967         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
18968         AC_LIBOBJ invocations from here...
18969         * modules/getaddrinfo (configure.ac): ... to here.
18970         (Depends-on): Add conditions.
18971
18972 2011-05-08  Bruno Haible  <bruno@clisp.org>
18973
18974         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18975         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
18976         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18977         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
18978         (gl_PREREQ_INET_PTON): ... from here.
18979         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
18980         gl_PREREQ_INET_PTON here.
18981         (Depends-on): Update condition.
18982
18983 2011-05-08  Bruno Haible  <bruno@clisp.org>
18984
18985         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18986         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
18987         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18988         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
18989         (gl_PREREQ_INET_NTOP): ... from here.
18990         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
18991         gl_PREREQ_INET_NTOP here.
18992         (Depends-on): Update condition.
18993
18994 2011-05-08  Bruno Haible  <bruno@clisp.org>
18995
18996         iconv_open: Move AC_LIBOBJ invocations to module description.
18997         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
18998         AC_LIBOBJ invocations from here...
18999         * modules/iconv_open (configure.ac): ... to here.
19000
19001 2011-05-08  Bruno Haible  <bruno@clisp.org>
19002
19003         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
19004         If module 'iconv_open' is among the main modules and module
19005         'iconv_open-utf' is among the tests dependencies, then
19006         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
19007         return the special iconv_t values. Therefore iconv() and iconv_close()
19008         must support these special iconv_t values, already in lib, not only in
19009         tests.
19010         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
19011         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
19012         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
19013         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
19014         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
19015         (Depends-on): Add the dependencies of iconv_open-utf.
19016         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
19017         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
19018         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
19019
19020 2011-05-08  Bruno Haible  <bruno@clisp.org>
19021
19022         group-member: Move AC_LIBOBJ invocations to module description.
19023         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
19024         gl_PREREQ_GROUP_MEMBER invocations from here...
19025         * modules/group-member (configure.ac): ... to here.
19026
19027 2011-05-08  Bruno Haible  <bruno@clisp.org>
19028
19029         grantpt: Move AC_LIBOBJ invocations to module description.
19030         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
19031         invocations from here...
19032         * modules/grantpt (configure.ac): ... to here.
19033
19034 2011-05-08  Bruno Haible  <bruno@clisp.org>
19035
19036         glob: Move AC_LIBOBJ invocations to module description.
19037         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
19038         from here...
19039         * modules/glob (configure.ac): ... to here.
19040
19041 2011-05-08  Bruno Haible  <bruno@clisp.org>
19042
19043         getusershell: Move AC_LIBOBJ invocations to module description.
19044         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
19045         Move AC_LIBOBJ invocation from here...
19046         * modules/getusershell (configure.ac): ... to here.
19047         (Depends-on): Update condition.
19048
19049 2011-05-08  Bruno Haible  <bruno@clisp.org>
19050
19051         gettimeofday: Move AC_LIBOBJ invocations to module description.
19052         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
19053         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
19054         gl_PREREQ_GETTIMEOFDAY invocations from here...
19055         * modules/gettimeofday (configure.ac): ... to here.
19056
19057 2011-05-08  Bruno Haible  <bruno@clisp.org>
19058
19059         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
19060         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
19061         just gl_FUNC_TZSET.
19062         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
19063         (gl_FUNC_TZSET_CLOBBER): Remove actions.
19064         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
19065         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
19066
19067 2011-05-08  Bruno Haible  <bruno@clisp.org>
19068
19069         getsubopt: Move AC_LIBOBJ invocations to module description.
19070         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
19071         gl_PREREQ_GETSUBOPT invocations from here...
19072         * modules/getsubopt (configure.ac): ... to here.
19073
19074 2011-05-08  Bruno Haible  <bruno@clisp.org>
19075
19076         getpass-gnu: Move AC_LIBOBJ invocations to module description.
19077         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
19078         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
19079         * modules/getpass-gnu (configure.ac): ... to here.
19080
19081 2011-05-08  Bruno Haible  <bruno@clisp.org>
19082
19083         getpass: Move AC_LIBOBJ invocations to module description.
19084         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
19085         gl_PREREQ_GETPASS invocations from here...
19086         * modules/getpass (configure.ac): ... to here.
19087
19088 2011-05-08  Bruno Haible  <bruno@clisp.org>
19089
19090         getpagesize: Move AC_LIBOBJ invocations to module description.
19091         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
19092         from here...
19093         * modules/getpagesize (configure.ac): ... to here.
19094
19095 2011-05-08  Bruno Haible  <bruno@clisp.org>
19096
19097         getopt: Move AC_LIBOBJ invocations to module description.
19098         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
19099         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
19100         invocations from here...
19101         * modules/getopt-gnu (configure.ac): ... to here.
19102         * modules/getopt-posix (configure.ac): ... and here.
19103         (Depends-on): Update condition.
19104
19105 2011-05-08  Bruno Haible  <bruno@clisp.org>
19106
19107         getopt, argp: Respect rules for use of AC_LIBOBJ.
19108         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
19109         (gl_REPLACE_GETOPT_ALWAYS): New macro.
19110         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
19111         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
19112
19113 2011-05-08  Bruno Haible  <bruno@clisp.org>
19114
19115         getlogin_r: Move AC_LIBOBJ invocations to module description.
19116         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
19117         gl_PREREQ_GETLOGIN_R invocations from here...
19118         * modules/getlogin_r (configure.ac): ... to here.
19119
19120 2011-05-08  Bruno Haible  <bruno@clisp.org>
19121
19122         getlogin: Move AC_LIBOBJ invocations to module description.
19123         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
19124         here...
19125         * modules/getlogin (configure.ac): ... to here.
19126
19127 2011-05-08  Bruno Haible  <bruno@clisp.org>
19128
19129         getloadavg: Move AC_LIBOBJ invocations to module description.
19130         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
19131         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
19132         * modules/getloadavg (configure.ac): ... to here.
19133
19134 2011-05-08  Bruno Haible  <bruno@clisp.org>
19135
19136         gethrxtime: Move AC_LIBOBJ invocations to module description.
19137         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
19138         LIB_GETHRXTIME from here...
19139         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
19140         invocations from here...
19141         * modules/gethrxtime (configure.ac): ... to here.
19142
19143 2011-05-08  Bruno Haible  <bruno@clisp.org>
19144
19145         gethostname: Move AC_LIBOBJ invocations to module description.
19146         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
19147         gl_PREREQ_GETHOSTNAME invocations from here...
19148         * modules/gethostname (configure.ac): ... to here.
19149
19150 2011-05-08  Bruno Haible  <bruno@clisp.org>
19151
19152         getgroups: Move AC_LIBOBJ invocations to module description.
19153         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
19154         here...
19155         * modules/getgroups (configure.ac): ... to here.
19156
19157 2011-05-08  Bruno Haible  <bruno@clisp.org>
19158
19159         getdtablesize: Move AC_LIBOBJ invocations to module description.
19160         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
19161         invocation from here...
19162         * modules/getdtablesize (configure.ac): ... to here.
19163
19164 2011-05-08  Bruno Haible  <bruno@clisp.org>
19165
19166         getdomainname: Move AC_LIBOBJ invocations to module description.
19167         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
19168         gl_PREREQ_GETDOMAINNAME invocations from here...
19169         * modules/getdomainname (configure.ac): ... to here.
19170
19171 2011-05-08  Bruno Haible  <bruno@clisp.org>
19172
19173         getline: Move AC_LIBOBJ invocations to module description.
19174         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
19175         invocations from here...
19176         * modules/getline (configure.ac): ... to here.
19177
19178 2011-05-08  Bruno Haible  <bruno@clisp.org>
19179
19180         getline: Simplify.
19181         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
19182         It's already handled through the module dependency.
19183
19184 2011-05-08  Bruno Haible  <bruno@clisp.org>
19185
19186         getdelim: Move AC_LIBOBJ invocations to module description.
19187         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
19188         and gl_PREREQ_GETDELIM invocations from here...
19189         * modules/getdelim (configure.ac): ... to here.
19190         (Depends-on): Fix condition.
19191
19192 2011-05-08  Bruno Haible  <bruno@clisp.org>
19193
19194         getcwd: Move AC_LIBOBJ invocations to module description.
19195         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
19196         invocations from here...
19197         * modules/getcwd (configure.ac): ... to here.
19198
19199 2011-05-08  Bruno Haible  <bruno@clisp.org>
19200
19201         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
19202         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
19203         here...
19204         * modules/getcwd-lgpl (configure.ac): ... to here.
19205
19206 2011-05-07  Bruno Haible  <bruno@clisp.org>
19207
19208         crypto/gc: Move AC_LIBOBJ invocations to module description.
19209         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
19210         * modules/crypto/gc (configure.ac): ... to here.
19211
19212 2011-05-07  Bruno Haible  <bruno@clisp.org>
19213
19214         fwriting: Move AC_LIBOBJ invocations to module description.
19215         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
19216         here...
19217         * modules/fwriting (configure.ac): ... to here.
19218
19219 2011-05-07  Bruno Haible  <bruno@clisp.org>
19220
19221         fwritable: Move AC_LIBOBJ invocations to module description.
19222         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
19223         here...
19224         * modules/fwritable (configure.ac): ... to here.
19225
19226 2011-05-07  Bruno Haible  <bruno@clisp.org>
19227
19228         futimens: Move AC_LIBOBJ invocations to module description.
19229         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
19230         here...
19231         * modules/futimens (configure.ac): ... to here.
19232
19233 2011-05-07  Bruno Haible  <bruno@clisp.org>
19234
19235         ftruncate: Move AC_LIBOBJ invocations to module description.
19236         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
19237         gl_PREREQ_FTRUNCATE invocations from here...
19238         * modules/ftruncate (configure.ac): ... to here.
19239
19240 2011-05-07  Bruno Haible  <bruno@clisp.org>
19241
19242         fsync: Move AC_LIBOBJ invocations to module description.
19243         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
19244         invocations from here...
19245         * modules/fsync (configure.ac): ... to here.
19246
19247 2011-05-07  Bruno Haible  <bruno@clisp.org>
19248
19249         fsusage: Move AC_LIBOBJ invocations to module description.
19250         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
19251         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
19252         * modules/fsusage (configure.ac): ... to here.
19253
19254 2011-05-07  Bruno Haible  <bruno@clisp.org>
19255
19256         freopen: Move AC_LIBOBJ invocations to module description.
19257         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
19258         invocations from here...
19259         * modules/freopen (configure.ac): ... to here.
19260
19261 2011-05-07  Bruno Haible  <bruno@clisp.org>
19262
19263         free: Move AC_LIBOBJ invocations to module description.
19264         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
19265         invocations from here...
19266         * modules/free (configure.ac): ... to here.
19267
19268 2011-05-07  Bruno Haible  <bruno@clisp.org>
19269
19270         freadable: Move AC_LIBOBJ invocations to module description.
19271         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
19272         here...
19273         * modules/freadable (configure.ac): ... to here.
19274
19275 2011-05-07  Bruno Haible  <bruno@clisp.org>
19276
19277         fpurge: Move AC_LIBOBJ invocations to module description.
19278         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
19279         invocations from here...
19280         * modules/fpurge (configure.ac): ... to here.
19281
19282 2011-05-07  Bruno Haible  <bruno@clisp.org>
19283
19284         fpending: Move AC_LIBOBJ invocations to module description.
19285         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
19286         gl_FUNC_FPENDING.
19287         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
19288         invocations from here...
19289         * modules/fpending (configure.ac): ... to here.
19290
19291 2011-05-07  Bruno Haible  <bruno@clisp.org>
19292
19293         fopen: Move AC_LIBOBJ invocations to module description.
19294         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
19295         invocations from here...
19296         * modules/fopen (configure.ac): ... to here.
19297
19298 2011-05-07  Bruno Haible  <bruno@clisp.org>
19299
19300         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
19301         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
19302         gl_FUNC_FNMATCH_POSIX.
19303         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
19304         invocations from here...
19305         * modules/fnmatch (configure.ac): ... to here.
19306         * modules/fnmatch-gnu (configure.ac): ... and here.
19307
19308 2011-05-07  Bruno Haible  <bruno@clisp.org>
19309
19310         flock: Move AC_LIBOBJ invocations to module description.
19311         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
19312         invocations from here...
19313         * modules/flock (configure.ac): ... to here.
19314
19315 2011-05-07  Bruno Haible  <bruno@clisp.org>
19316
19317         fileblocks: Move AC_LIBOBJ invocations to module description.
19318         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
19319         gl_PREREQ_FILEBLOCKS invocations from here...
19320         * modules/fileblocks (configure.ac): ... to here.
19321
19322 2011-05-06  Bruno Haible  <bruno@clisp.org>
19323
19324         fflush: Move AC_LIBOBJ invocations to module description.
19325         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
19326         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
19327         invocations from here...
19328         * modules/fflush (configure.ac): ... to here.
19329
19330 2011-05-06  Bruno Haible  <bruno@clisp.org>
19331
19332         fdopendir: Move AC_LIBOBJ invocations to module description.
19333         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
19334         here...
19335         * modules/fdopendir (configure.ac): ... to here.
19336         (Depends-on): Improve conditions.
19337
19338 2011-05-06  Bruno Haible  <bruno@clisp.org>
19339
19340         _Exit: Move AC_LIBOBJ invocations to module description.
19341         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
19342         invocations from here...
19343         * modules/_Exit (configure.ac): ... to here.
19344
19345 2011-05-21  Bruno Haible  <bruno@clisp.org>
19346
19347         euidaccess: Respect rules for use of AC_LIBOBJ.
19348         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
19349         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
19350         from here...
19351         * modules/euidaccess (configure.ac): ... to here.
19352
19353 2011-05-06  Bruno Haible  <bruno@clisp.org>
19354
19355         error: Move AC_LIBOBJ invocations to module description.
19356         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
19357         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
19358         invocations from here...
19359         * modules/error (configure.ac): ... to here.
19360
19361 2011-05-06  Bruno Haible  <bruno@clisp.org>
19362
19363         duplocale: Move AC_LIBOBJ invocations to module description.
19364         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
19365         gl_PREREQ_DUPLOCALE invocations from here...
19366         * modules/duplocale (configure.ac): ... to here.
19367
19368 2011-05-05  Bruno Haible  <bruno@clisp.org>
19369
19370         dirfd: Move AC_LIBOBJ invocations to module description.
19371         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
19372         gl_FUNC_DIRFD.
19373         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
19374         here...
19375         * modules/dirfd (configure.ac): ... to here.
19376         (Depends-on): Fix condition.
19377
19378 2011-05-05  Bruno Haible  <bruno@clisp.org>
19379
19380         chown: Respect rules for use of AC_LIBOBJ.
19381         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
19382         * modules/chown (configure.ac): ... to here.
19383
19384 2011-05-05  Bruno Haible  <bruno@clisp.org>
19385
19386         chdir-long: Move AC_LIBOBJ invocations to module description.
19387         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
19388         gl_PREREQ_CHDIR_LONG invocations from here...
19389         * modules/chdir-long (configure.ac): ... to here.
19390
19391 2011-05-05  Bruno Haible  <bruno@clisp.org>
19392
19393         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
19394         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
19395         from here...
19396         * modules/canonicalize-lgpl (configure.ac): ... to here.
19397
19398 2011-05-05  Bruno Haible  <bruno@clisp.org>
19399
19400         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
19401         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
19402         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
19403         REPLACE_CALLOC.
19404         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
19405         * modules/calloc-gnu (configure.ac): Likewise.
19406
19407 2011-05-05  Bruno Haible  <bruno@clisp.org>
19408
19409         btowc: Move AC_LIBOBJ invocations to module description.
19410         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
19411         invocations from here...
19412         * modules/btowc (configure.ac): ... to here.
19413
19414 2011-05-21  Bruno Haible  <bruno@clisp.org>
19415
19416         atexit: Move AC_LIBOBJ invocations to module description.
19417         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
19418         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
19419         here...
19420         * modules/atexit (configure.ac): ... to here.
19421
19422 2011-05-05  Bruno Haible  <bruno@clisp.org>
19423
19424         atoll: Move AC_LIBOBJ invocations to module description.
19425         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
19426         invocations from here...
19427         * modules/atoll (configure.ac): ... to here.
19428
19429 2011-05-05  Bruno Haible  <bruno@clisp.org>
19430
19431         argz: Move AC_LIBOBJ invocations to module description.
19432         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
19433         * modules/argz (configure.ac): ... to here.
19434
19435 2011-05-05  Bruno Haible  <bruno@clisp.org>
19436
19437         alphasort: Move AC_LIBOBJ invocations to module description.
19438         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
19439         gl_PREREQ_ALPHASORT invocations from here...
19440         * modules/alphasort (configure.ac): ... to here.
19441
19442 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19443
19444         verify: new macro verify_expr; verify_true deprecated
19445         * NEWS: Mention this.
19446         * doc/verify.texi (Compile-time Assertions): Document this.
19447         * lib/verify.h (verify_true): Deprecate.
19448         (verify_expr): New macro.
19449         * tests/test-verify.c (function): Test verify_expr.
19450
19451 2011-06-14  Jim Meyering  <meyering@redhat.com>
19452
19453         init.sh: give more portable redirection-related advice in a comment
19454         * tests/init.sh (stderr_fileno_): Update the advice in comments.
19455         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
19456         for lots of discussion.  Stefano Lattarini suggested the solution
19457         of putting "9>&2" after the command.  Reported by Bruno Haible.
19458
19459 2011-06-13  Bruno Haible  <bruno@clisp.org>
19460
19461         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
19462         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
19463         'none'.
19464
19465 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
19466
19467         ftoastr: use strtof only if HAVE_STRTOF
19468         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
19469         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
19470         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
19471         * modules/ftoastr (configure.ac): Check for strtof.
19472
19473 2011-06-13  Bruno Haible  <bruno@clisp.org>
19474
19475         gnulib-tool: Addendum to 2011-06-08 commit.
19476         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
19477         and --witness-c-macro have been given, augment AM_CPPFLAGS.
19478
19479 2011-06-13  Bruno Haible  <bruno@clisp.org>
19480
19481         fseeko: Provide a non-inline replacement of fseek().
19482         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
19483         * modules/fseeko (Depends-on): Add fseek.
19484         * modules/fseek (License): Change to LGPLv2+.
19485
19486 2011-06-13  Bruno Haible  <bruno@clisp.org>
19487
19488         ftello: Provide a non-inline replacement of ftell().
19489         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
19490         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
19491         not have ftello() (such as on mingw).
19492         * modules/ftello (Depends-on): Add ftell.
19493         * modules/ftell (License): Change to LGPLv2+.
19494
19495 2011-05-07  Bruno Haible  <bruno@clisp.org>
19496
19497         ftell: Move AC_LIBOBJ invocations to module description.
19498         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
19499         * modules/ftell (configure.ac): ... to here.
19500
19501 2011-05-07  Bruno Haible  <bruno@clisp.org>
19502
19503         ftello: Respect rules for use of AC_LIBOBJ.
19504         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
19505         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
19506         here...
19507         * modules/ftello (configure.ac): ... to here.
19508
19509 2011-05-07  Bruno Haible  <bruno@clisp.org>
19510
19511         fseeko: Simplify.
19512         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
19513         (gl_FUNC_FSEEKO): Inline it here.
19514
19515 2011-05-07  Bruno Haible  <bruno@clisp.org>
19516
19517         fseek: Move AC_LIBOBJ invocations to module description.
19518         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
19519         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
19520         * modules/fseek (configure.ac): ... to here.
19521
19522 2011-05-07  Bruno Haible  <bruno@clisp.org>
19523
19524         fseek: Respect rules for use of AC_LIBOBJ.
19525         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
19526         here...
19527         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
19528
19529 2011-05-07  Bruno Haible  <bruno@clisp.org>
19530
19531         fseeko: Respect rules for use of AC_LIBOBJ.
19532         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
19533         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
19534         here...
19535         * modules/fseeko (configure.ac): ... to here.
19536
19537 2011-06-13  Bruno Haible  <bruno@clisp.org>
19538
19539         gnulib-tool: Allow comments in the 'Depends-on' section.
19540         * doc/gnulib.texi (Module description): Mention comment syntax in the
19541         Depends-on section.
19542         * gnulib-tool (func_get_dependencies): Filter out comment lines.
19543
19544 2011-06-13  Bruno Haible  <bruno@clisp.org>
19545
19546         file-set.h: guard __attibute__ use, now that it's not always defined
19547         * lib/file-set.h (record_file): Use __attribute__ only with compiler
19548         versions that support it.  This fixes a coreutils build failure with
19549         the vendor cc on HP-UX 11.31.
19550
19551 2011-06-12  Bruno Haible  <bruno@clisp.org>
19552
19553         acl: Add support for HP-UX >= 11.11 JFS ACLs.
19554         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
19555         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
19556         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
19557         (acl, aclsort): New declarations.
19558         (aclv_nontrivial): New declaration.
19559         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
19560         (file_has_acl): Read also the second kind of HP-UX ACLs.
19561         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
19562         kind of HP-UX ACLs if the first kind fails.
19563         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
19564         second kind of HP-UX ACLs.
19565         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
19566         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
19567         agree.
19568         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19569         hpuxjfs.
19570         Handle hpuxjfs.
19571         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19572         hpuxjfs.
19573         Handle hpuxjfs.
19574         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19575         (func_test_same_acls): Use both lsacl and getacl.
19576         Handle hpuxjfs.
19577         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19578         (func_test_same_acls): Use both lsacl and getacl.
19579         Handle hpuxjfs.
19580
19581 2011-06-12  Bruno Haible  <bruno@clisp.org>
19582
19583         acl: Complete the 2010-08-10 fix.
19584         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
19585         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
19586         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
19587         explicitly.
19588         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
19589         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
19590
19591 2011-06-12  Bruno Haible  <bruno@clisp.org>
19592
19593         spawn-pipe tests: Comments.
19594         * tests/test-spawn-pipe-child.c (main): Update comment.
19595         Reported by James Youngman <jay@gnu.org>.
19596
19597 2011-06-11  James Youngman  <jay@gnu.org>
19598
19599         New module 'stat-size'.
19600         * modules/stat-size: New module.  Provides macros for accessing
19601         file size information in instances of struct stat.  Depends on the
19602         fileblocks module because it calls st_blocks.
19603         * lib/stat-size.h: New file, adapted from coreutils' system.h.
19604         * doc/gnulib.texi: Include stat-size.texi.
19605         * doc/stat-size.texi: Documentation for this module.
19606         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
19607         * m4/fileblocks.m4: Mention that stat-size depends on the call to
19608         AC_STRUCT_ST_BLOCKS.
19609
19610 2011-06-09  Bruno Haible  <bruno@clisp.org>
19611
19612         thread: Support pthreads-win32.
19613         * lib/glthread/thread.h (gl_thread_self): Define differently on
19614         pthreads-win32.
19615         (gl_null_thread): New declaration.
19616         (gl_thread_self_pointer): New macro.
19617         * lib/glthread/thread.c (gl_null_thread): New constant.
19618         * tests/test-lock.c: Use gl_thread_self_pointer instead of
19619         gl_thread_self.
19620         * tests/test-tls.c: Likewise.
19621         Suggested by Paul Eggert. Reported by Eric Blake.
19622
19623 2011-06-09  Bruno Haible  <bruno@clisp.org>
19624
19625         thread: Fix confusion between NULL and 0.
19626         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
19627         Reported by Paul Eggert.
19628
19629 2011-06-09  Bruno Haible  <bruno@clisp.org>
19630
19631         spawn-pipe tests: Avoid test failure on HP-UX 11.
19632         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
19633         is closed.
19634
19635 2011-06-09  Bruno Haible  <bruno@clisp.org>
19636
19637         acl tests: Fix compilation error on HP-UX 11.
19638         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
19639
19640 2011-06-09  Bruno Haible  <bruno@clisp.org>
19641
19642         rmdir: Avoid test failure on HP-UX 10.20.
19643         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
19644         EEXIST.
19645
19646 2011-06-08  Eric Blake  <eblake@redhat.com>
19647
19648         perror: fix test on mingw
19649         * modules/perror-tests (Depends-on): Add dup2.
19650
19651         strerror_r-posix: fix on MacOS
19652         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
19653         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
19654         logic bug.
19655         * lib/strerror_r.c (strerror_r): Fix the bug.
19656         * lib/strerror.c (strerror): Likewise.
19657         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19658         problem.
19659         * doc/posix-functions/strerror.texi (strerror): Likewise.
19660         * doc/posix-functions/perror.texi (perror): Likewise.
19661         * tests/test-strerror.c (main): Enhance test.
19662         * tests/test-strerror_r.c (main): Likewise.
19663
19664 2011-06-08  Bruno Haible  <bruno@clisp.org>
19665
19666         gnulib-tool: Better isolation between different gnulib-tool invocations.
19667         * gnulib-tool: New option --witness-c-macro.
19668         (witness_c_macro): New variable.
19669         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
19670         AM_CPPFLAGS define it as a C macro.
19671         (func_emit_tests_Makefile_am): Likewise.
19672         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
19673         read it from there.
19674         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
19675         m4_define, not AC_DEFUN.
19676         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
19677         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
19678         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
19679         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
19680         s|...|...|, to substitute the values of the GNULIB_* module indicator
19681         variables.
19682         * modules/dirent (Makefile.am): Likewise.
19683         * modules/fcntl-h (Makefile.am): Likewise.
19684         * modules/iconv-h (Makefile.am): Likewise.
19685         * modules/langinfo (Makefile.am): Likewise.
19686         * modules/locale (Makefile.am): Likewise.
19687         * modules/math (Makefile.am): Likewise.
19688         * modules/netdb (Makefile.am): Likewise.
19689         * modules/poll-h (Makefile.am): Likewise.
19690         * modules/pty (Makefile.am): Likewise.
19691         * modules/search (Makefile.am): Likewise.
19692         * modules/signal (Makefile.am): Likewise.
19693         * modules/spawn (Makefile.am): Likewise.
19694         * modules/stdio (Makefile.am): Likewise.
19695         * modules/stdlib (Makefile.am): Likewise.
19696         * modules/string (Makefile.am): Likewise.
19697         * modules/sys_ioctl (Makefile.am): Likewise.
19698         * modules/sys_select (Makefile.am): Likewise.
19699         * modules/sys_socket (Makefile.am): Likewise.
19700         * modules/sys_stat (Makefile.am): Likewise.
19701         * modules/sys_times (Makefile.am): Likewise.
19702         * modules/sys_utsname (Makefile.am): Likewise.
19703         * modules/sys_wait (Makefile.am): Likewise.
19704         * modules/termios (Makefile.am): Likewise.
19705         * modules/time (Makefile.am): Likewise.
19706         * modules/unistd (Makefile.am): Likewise.
19707         * modules/wchar (Makefile.am): Likewise.
19708
19709 2011-06-08  Eric Blake  <eblake@redhat.com>
19710
19711         strerror: simplify replacement
19712         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
19713         * modules/strerror (configure.ac): No prereqs needed here...
19714         * modules/strerror-override (configure.ac): ...but this needs it.
19715         (Files): Add file for needed prereq macro.
19716
19717 2011-06-08  Bruno Haible  <bruno@clisp.org>
19718
19719         strerror_r-posix: Tweaks.
19720         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
19721         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
19722         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
19723         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
19724         (gl_FUNC_STRERROR_R): ... to here.
19725         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
19726
19727 2011-06-07  Eric Blake  <eblake@redhat.com>
19728
19729         perror: document fixed bugs
19730         * doc/posix-functions/perror.texi (perror): Document recent
19731         patches.
19732
19733 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
19734
19735         stat-time: get_stat_birthtime failure is better-defined
19736         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
19737         return a timestamp whose tv_sec and tv_nsec values are both -1.
19738         Previously, the spec said only that the tv_nsec value was negative.
19739         This upward-compatible change simplifies GNU tar a bit.
19740
19741 2011-06-07  Eric Blake  <eblake@redhat.com>
19742
19743         strerror_r-posix: work around cygwin 1.7.9
19744         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
19745         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
19746         bug without replacing strerror_r.
19747         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
19748         strerror_r is buggy, but without requiring strerror_r compilation.
19749         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
19750
19751         test-perror: relax test to ignore cygwin bug
19752         * tests/test-perror2.c (main): Relax test on requiring detection
19753         of stream errors, and use unbuffered stream.
19754         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
19755         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
19756         * doc/posix-functions/fputc.texi (fputc): Likewise.
19757         * doc/posix-functions/fputs.texi (fputs): Likewise.
19758         * doc/posix-functions/fputws.texi (fputws): Likewise.
19759         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
19760         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
19761         * doc/posix-functions/getopt.texi (getopt): Likewise.
19762         * doc/posix-functions/perror.texi (perror): Likewise.
19763         * doc/posix-functions/printf.texi (printf): Likewise.
19764         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
19765         * doc/posix-functions/psignal.texi (psignal): Likewise.
19766         * doc/posix-functions/putc.texi (putc): Likewise.
19767         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
19768         Likewise.
19769         * doc/posix-functions/putchar.texi (putchar): Likewise.
19770         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
19771         Likewise.
19772         * doc/posix-functions/puts.texi (puts): Likewise.
19773         * doc/posix-functions/putwc.texi (putwc): Likewise.
19774         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
19775         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
19776         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19777         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
19778         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19779         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
19780         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
19781         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
19782
19783 2011-05-22  Bruno Haible  <bruno@clisp.org>
19784
19785         strerror: Move AC_LIBOBJ invocations to module description.
19786         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
19787         gl_PREREQ_STRERROR invocations from here...
19788         * modules/strerror (configure.ac): ... to here.
19789
19790 2011-05-21  Bruno Haible  <bruno@clisp.org>
19791
19792         perror: Use common idiom.
19793         * modules/perror (configure.ac): Reorder statements.
19794
19795 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19796
19797         tests: fix usage message in 'mktempd_'
19798         * tests/init.sh (mktempd_): In the usage message, use literal
19799         'mktempd_', not '$ME' (which is even undefined), as the name of
19800         the subroutine.
19801
19802 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19803
19804         tests init: new function 'fatal_', for hard errors
19805         Before this patch, the only way offered by tests/init.sh to
19806         properly signal a hard error was the `framework_failure_'
19807         function.  But the error message issued by that function,
19808         as its name would suggest, refers to a set-up failure in the
19809         testsuite, while hard errors can obviously also be due to
19810         other reasons.  The best way to fix this inconsistency is to
19811         introduce a new function with a more general error message.
19812         * tests/init.sh (fatal_): New function.
19813
19814 2011-06-06  Eric Blake  <eblake@redhat.com>
19815
19816         canonicalize-lgpl: use common idiom
19817         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
19818         over newer POSIX -Rf.
19819         Reported by Bruno Haible.
19820
19821         canonicalize-lgpl: work around AIX realpath bug
19822         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
19823         * doc/posix-functions/realpath.texi (realpath): Document it.
19824         Reported by Bruno Haible.
19825
19826         strerror: work around FreeBSD bug
19827         * lib/strerror.c (strerror): Special case 0.
19828         Reported by Bruno Haible.
19829
19830         strerror-override: avoid bloating errno module
19831         * modules/errno (Files, configure.ac): Move replacement strings...
19832         * modules/strerror-override: ...to new module.
19833         * modules/strerror (Depends-on): Add strerror-override.
19834         * modules/strerror_r-posix (Depends-on): Likewise.
19835         * MODULES.html.sh: Document new module.
19836         Reported by Bruno Haible.
19837
19838 2011-06-06  Bruno Haible  <bruno@clisp.org>
19839
19840         spawn-pipe tests: Rename program.
19841         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
19842         * tests/test-spawn-pipe-child.c: Update comment.
19843         * tests/test-spawn-pipe.sh: Update.
19844         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
19845
19846         spawn-pipe tests: Link the child program only against libc.
19847         * tests/test-spawn-pipe-child.c: New file, extracted from
19848         tests/test-spawn-pipe.c.
19849         (main): Expect only one argument.
19850         (is_open): New function, copied from tests/test-pipe.c.
19851         * tests/test-spawn-pipe.c: Don't include <errno.h>.
19852         (child_main): Remove function.
19853         (test_pipe): Pass only one argument to the child program.
19854         (main): Remove child process code. Expect the child program's name as
19855         first argument.
19856         * tests/test-spawn-pipe.sh: Pass the child program's name as first
19857         argument.
19858         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
19859         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
19860         test-spawn-pipe-child against no libraries.
19861
19862 2011-06-06  Bruno Haible  <bruno@clisp.org>
19863
19864         careadlinkat: Avoid mismatch between ssize_t and int.
19865         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
19866         * lib/careadlinkat.c (careadlinkatcwd): Define always.
19867
19868 2011-06-06  Jim Meyering  <meyering@redhat.com>
19869
19870         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
19871         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
19872         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
19873
19874 2011-06-05  Bruno Haible  <bruno@clisp.org>
19875
19876         ansi-c++-opt: Interoperability with libtool.
19877         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
19878         set the variable to "no", not to ":".
19879         * NEWS: Mention the change.
19880
19881 2011-06-05  Bruno Haible  <bruno@clisp.org>
19882
19883         acl: Fix test failure on AIX 7.
19884         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
19885         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
19886
19887 2011-06-05  Bruno Haible  <bruno@clisp.org>
19888
19889         pipe-filter-ii: Fix test failure on AIX and IRIX.
19890         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
19891         with EAGAIN, retry with a smaller buffer size.
19892
19893 2011-06-05  Bruno Haible  <bruno@clisp.org>
19894
19895         localename: Fix link dependencies.
19896         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
19897         * modules/localename-tests (Makefile.am): Link test-localename with
19898         $(LIBTHREAD).
19899
19900 2011-06-05  Bruno Haible  <bruno@clisp.org>
19901
19902         error: Avoid gcc warning.
19903         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
19904
19905 2011-06-05  Bruno Haible  <bruno@clisp.org>
19906
19907         unsetenv: Avoid gcc warning.
19908         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
19909
19910 2011-06-05  Bruno Haible  <bruno@clisp.org>
19911
19912         setenv: Avoid gcc warning.
19913         * lib/setenv.c (setenv): Provide declaration if system lacks it.
19914
19915 2011-06-05  Bruno Haible  <bruno@clisp.org>
19916
19917         sys_select: Ensure memset is declared also on AIX 7.
19918         * lib/sys_select.in.h: Include <string.h> also on AIX.
19919         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
19920         self-contained also on AIX 7.1.
19921
19922 2011-06-04  Jim Meyering  <meyering@redhat.com>
19923
19924         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
19925         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
19926         function name, "error".
19927         (_gl_translatable_diag_func_re): New configurable variable.
19928
19929 2011-06-04  Bruno Haible  <bruno@clisp.org>
19930
19931         getopt: Avoid gcc warning.
19932         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
19933
19934 2011-06-04  Bruno Haible  <bruno@clisp.org>
19935
19936         strerror_r: Fix comments.
19937         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
19938         commit.
19939
19940 2011-06-04  Bruno Haible  <bruno@clisp.org>
19941
19942         perror: Fix compilation error.
19943         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
19944         Undefine fprintf, not sprintf.
19945         * modules/perror (Depends-on): Remove intprops, verify.
19946
19947 2011-06-04  Bruno Haible  <bruno@clisp.org>
19948
19949         setlocale: Enable replacement on Cygwin 1.5.
19950         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
19951         Cygwin 1.5.x.
19952         * doc/posix-functions/setlocale.texi: Mention that the problem with the
19953         LC_CTYPE category also exists on Cygwin 1.5.x.
19954
19955 2011-06-04  Bruno Haible  <bruno@clisp.org>
19956
19957         strerror-override: Don't disable symbol renamings.
19958         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
19959         * lib/strerror-override.c: Include config.h.
19960         (strerror_override): Don't undefine.
19961
19962 2011-06-03  Bruno Haible  <bruno@clisp.org>
19963
19964         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
19965         * lib/localename.h: Update copyright header.
19966         * lib/localename.c: Likewise.
19967         * lib/relocatable.h: Likewise.
19968         * lib/relocatable.c: Likewise.
19969
19970 2011-06-02  Bruno Haible  <bruno@clisp.org>
19971
19972         doc: Fix a module name.
19973         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
19974
19975 2011-06-02  Bruno Haible  <bruno@clisp.org>
19976
19977         pipe2: Remove dependency on 'nonblocking' module.
19978         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
19979         O_NONBLOCK is defined by gnulib.
19980         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
19981         is zero.
19982         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
19983         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
19984         defined by gnulib.
19985         (get_nonblocking_flag): New function.
19986         (main): Test O_NONBLOCK flag only if it is nonzero.
19987         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
19988
19989 2011-06-03  Jim Meyering  <meyering@redhat.com>
19990
19991         maint: three new prohibit-header-without-use rules
19992         Prohibit use of cloexec.h, posixver.h, same.h without use.
19993         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
19994         (sc_prohibit_posixver_without_use): Likewise.
19995         (sc_prohibit_same_without_use): Likewise.
19996
19997 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19998
19999         allocator: 'die' routine is now given requested size
20000         * lib/allocator.h (struct allocator.die): New size arg.
20001         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
20002         If the actual problem is an ssize_t limitation, not a size_t or
20003         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
20004
20005 2011-06-01  Eric Blake  <eblake@redhat.com>
20006
20007         strerror: drop strerror_r dependency
20008         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
20009         * lib/strerror-override.c (strerror_override): ...to new file.
20010         * lib/strerror-override.h: Add prototype.
20011         * lib/strerror-impl.h: Delete.
20012         * lib/strerror.c (strerror): New implementation.
20013         * modules/errno (Files): Add new files.
20014         (configure.ac): Compile new file as appropriate.
20015         * modules/strerror (Files): Drop unused file.
20016         (Depends-on): Drop strerror_r-posix.
20017         * MODULES.html.sh: Document strerror_r-posix.
20018         Requested by Sam Steingold.
20019
20020         perror: call strerror_r directly
20021         * modules/perror (Files): Drop strerror-impl.h.
20022         * lib/perror.c (perror): Use our own stack buffer, rather than
20023         calling a wrapper that uses static storage.
20024         * doc/posix-functions/perror.texi (perror): Document a limitation
20025         of our replacement.
20026
20027         strerror_r: fix includes for FreeBSD
20028         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
20029         since we use abort on some platforms.
20030         Reported by Matthias Bolte.
20031
20032 2011-05-31  Bruno Haible  <bruno@clisp.org>
20033
20034         Fix link errors in tests: openat-die uses gettext-h.
20035         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
20036         against $(LIBINTL).
20037         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
20038         against $(LIBINTL).
20039         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
20040         $(LIBINTL).
20041         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
20042         against $(LIBINTL).
20043         * modules/linkat-tests (Makefile.am): Link test-linkat against
20044         $(LIBINTL).
20045         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
20046         $(LIBINTL).
20047         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
20048         against $(LIBINTL).
20049         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
20050         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
20051         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
20052         $(LIBINTL).
20053         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
20054         $(LIBINTL).
20055         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
20056         $(LIBINTL).
20057         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20058
20059 2011-05-31  Bruno Haible  <bruno@clisp.org>
20060
20061         Fix link errors in tests: wait-process uses gettext-h.
20062         * modules/nonblocking-pipe-tests (Makefile.am): Set
20063         test_nonblocking_pipe_main_LDADD.
20064         * modules/nonblocking-socket-tests (Makefile.am): Link
20065         test-nonblocking-socket-main against $(LIBINTL).
20066         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20067
20068 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
20069
20070         assert-h: work around 'verify' incompatibility
20071         * lib/verify.h: Use @...@ directives, not ifdef.
20072         * modules/assert-h (assert.h): Implement the directives.
20073         (assert.h): Substitute the symbol-prefix more consistently.
20074
20075 2011-05-29  Jim Meyering  <meyering@redhat.com>
20076
20077         trim: remove three superfluous assignments
20078         * lib/trim.c (trim2): Remove three superfluous assignments
20079         and correct brace positioning.
20080
20081 2011-05-29  Bruno Haible  <bruno@clisp.org>
20082
20083         wctype-h: Avoid namespace pollution on Solaris 2.6.
20084         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
20085         identifiers.
20086         * doc/posix-headers/wctype.texi: Mention the problem.
20087         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20088
20089 2011-05-28  Jim Meyering  <meyering@redhat.com>
20090
20091         parse-datetime.y: accommodate -Wstrict-overflow
20092         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
20093         placate -Wstrict-overflow.
20094
20095         trim: avoid a warning from -O2 -Wstrict-overflow
20096         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
20097
20098 2011-05-29  Bruno Haible  <bruno@clisp.org>
20099
20100         gnulib-tool: Fix bug in yesterday's commit.
20101         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
20102         twice.
20103
20104 2011-05-29  Bruno Haible  <bruno@clisp.org>
20105
20106         Allow multiple gnulib generated include files to be combined.
20107         * gnulib-tool (func_compute_include_guard_prefix): New function.
20108         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
20109         ${gl_include_guard_prefix} references.
20110         (func_import, func_create_testdir): Invoke
20111         func_compute_include_guard_prefix.
20112         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
20113         * lib/ctype.in.h: Likewise.
20114         * lib/dirent.in.h: Likewise.
20115         * lib/errno.in.h: Likewise.
20116         * lib/fcntl.in.h: Likewise.
20117         * lib/float.in.h: Likewise.
20118         * lib/getopt.in.h: Likewise.
20119         * lib/iconv.in.h: Likewise.
20120         * lib/langinfo.in.h: Likewise.
20121         * lib/locale.in.h: Likewise.
20122         * lib/math.in.h: Likewise.
20123         * lib/netdb.in.h: Likewise.
20124         * lib/netinet_in.in.h: Likewise.
20125         * lib/poll.in.h: Likewise.
20126         * lib/pthread.in.h: Likewise.
20127         * lib/pty.in.h: Likewise.
20128         * lib/sched.in.h: Likewise.
20129         * lib/se-selinux.in.h: Likewise.
20130         * lib/search.in.h: Likewise.
20131         * lib/signal.in.h: Likewise.
20132         * lib/spawn.in.h: Likewise.
20133         * lib/stdarg.in.h: Likewise.
20134         * lib/stddef.in.h: Likewise.
20135         * lib/stdint.in.h: Likewise.
20136         * lib/stdio.in.h: Likewise.
20137         * lib/stdlib.in.h: Likewise.
20138         * lib/string.in.h: Likewise.
20139         * lib/strings.in.h: Likewise.
20140         * lib/sys_file.in.h: Likewise.
20141         * lib/sys_ioctl.in.h: Likewise.
20142         * lib/sys_select.in.h: Likewise.
20143         * lib/sys_socket.in.h: Likewise.
20144         * lib/sys_stat.in.h: Likewise.
20145         * lib/sys_time.in.h: Likewise.
20146         * lib/sys_times.in.h: Likewise.
20147         * lib/sys_uio.in.h: Likewise.
20148         * lib/sys_utsname.in.h: Likewise.
20149         * lib/sys_wait.in.h: Likewise.
20150         * lib/sysexits.in.h: Likewise.
20151         * lib/termios.in.h: Likewise.
20152         * lib/time.in.h: Likewise.
20153         * lib/unistd.in.h: Likewise.
20154         * lib/wchar.in.h: Likewise.
20155         * lib/wctype.in.h: Likewise.
20156         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
20157         * modules/ctype (Makefile.am): Likewise.
20158         * modules/dirent (Makefile.am): Likewise.
20159         * modules/errno (Makefile.am): Likewise.
20160         * modules/fcntl-h (Makefile.am): Likewise.
20161         * modules/float (Makefile.am): Likewise.
20162         * modules/getopt-posix (Makefile.am): Likewise.
20163         * modules/iconv-h (Makefile.am): Likewise.
20164         * modules/langinfo (Makefile.am): Likewise.
20165         * modules/locale (Makefile.am): Likewise.
20166         * modules/math (Makefile.am): Likewise.
20167         * modules/netdb (Makefile.am): Likewise.
20168         * modules/netinet_in (Makefile.am): Likewise.
20169         * modules/poll-h (Makefile.am): Likewise.
20170         * modules/pthread (Makefile.am): Likewise.
20171         * modules/pty (Makefile.am): Likewise.
20172         * modules/sched (Makefile.am): Likewise.
20173         * modules/search (Makefile.am): Likewise.
20174         * modules/selinux-h (Makefile.am): Likewise.
20175         * modules/signal (Makefile.am): Likewise.
20176         * modules/spawn (Makefile.am): Likewise.
20177         * modules/stdarg (Makefile.am): Likewise.
20178         * modules/stddef (Makefile.am): Likewise.
20179         * modules/stdint (Makefile.am): Likewise.
20180         * modules/stdio (Makefile.am): Likewise.
20181         * modules/stdlib (Makefile.am): Likewise.
20182         * modules/string (Makefile.am): Likewise.
20183         * modules/strings (Makefile.am): Likewise.
20184         * modules/sys_file (Makefile.am): Likewise.
20185         * modules/sys_ioctl (Makefile.am): Likewise.
20186         * modules/sys_select (Makefile.am): Likewise.
20187         * modules/sys_socket (Makefile.am): Likewise.
20188         * modules/sys_stat (Makefile.am): Likewise.
20189         * modules/sys_time (Makefile.am): Likewise.
20190         * modules/sys_times (Makefile.am): Likewise.
20191         * modules/sys_uio (Makefile.am): Likewise.
20192         * modules/sys_utsname (Makefile.am): Likewise.
20193         * modules/sys_wait (Makefile.am): Likewise.
20194         * modules/sysexits (Makefile.am): Likewise.
20195         * modules/termios (Makefile.am): Likewise.
20196         * modules/time (Makefile.am): Likewise.
20197         * modules/unistd (Makefile.am): Likewise.
20198         * modules/wchar (Makefile.am): Likewise.
20199         * modules/wctype-h (Makefile.am): Likewise.
20200         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
20201
20202 2011-05-29  Bruno Haible  <bruno@clisp.org>
20203
20204         assert-h: Allow multiple gnulib generated replacements to coexist.
20205         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
20206
20207 2011-05-29  Bruno Haible  <bruno@clisp.org>
20208
20209         argp: Allow coexistence with strerror_r-posix module.
20210         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
20211         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
20212         by gnulib's <string.h> replacement), assume it has the POSIX signature,
20213         not the glibc signature.
20214
20215 2011-05-28  Bruno Haible  <bruno@clisp.org>
20216
20217         gnulib-tool: Alternative structure of testdirs, similar to --import.
20218         * gnulib-tool: New option --single-configure.
20219         (func_usage): Document it.
20220         (single_configure): New variable.
20221         (func_modules_transitive_closure_separately,
20222         func_modules_transitive_closure_separately,
20223         func_determine_use_libtests, func_modules_add_dummy_separately,
20224         func_modules_to_filelist_separately): New functions, extracted from
20225         func_import.
20226         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
20227         (func_import): Use the new functions.
20228         (func_create_testdir): Set final_modules. Handle $single_configure =
20229         true case.
20230
20231 2011-05-28  Bruno Haible  <bruno@clisp.org>
20232
20233         getloadavg: Remove an unreliable safety check.
20234         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
20235         getloadavg.c is in place.
20236         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
20237         Reported by Sam Steingold <sds@gnu.org>.
20238
20239 2011-05-28  Bruno Haible  <bruno@clisp.org>
20240
20241         doc: Cleanup yet another file produced by texinfo.tex.
20242         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
20243
20244 2011-05-28  Bruno Haible  <bruno@clisp.org>
20245
20246         Finish the conditional dependencies mechanism.
20247         * gnulib-tool: New option --no-conditional-dependencies.
20248         (func_usage): Document it. Don't mark --conditional-dependencies as
20249         experimental.
20250         (cond_dependencies): The possible values can now be true, false, empty.
20251         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
20252         (func_import): Store setting in gnulib-cache.m4 and read it from there.
20253         * doc/gnulib-tool.texi (Conditional dependencies): New section.
20254
20255 2011-05-28  Bruno Haible  <bruno@clisp.org>
20256
20257         doc: Use a recent texinfo.tex.
20258         * doc/Makefile (tex_opts): New variable.
20259         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
20260
20261 2011-05-28  Jim Meyering  <meyering@redhat.com>
20262
20263         intprops.h: adjust comment to match code change
20264         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
20265         only once, it *may* have side effects.  Also fix an unrelated typo.
20266         (_GL_INT_SIGNED): Likewise.
20267
20268 2011-05-26  Simon Josefsson  <simon@josefsson.org>
20269
20270         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
20271
20272 2011-05-26  Bruno Haible  <bruno@clisp.org>
20273
20274         mbsrchr: Avoid collision with system function on Interix.
20275         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
20276         Reported by Markus Duft <mduft@gentoo.org>.
20277
20278 2011-05-15  James Youngman  <jay@gnu.org>
20279
20280         getopt: for ambiguous options, enumerate the possibilities.
20281         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
20282         the ambiguous options when an ambiguous prefix is given. This was
20283         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
20284         glibc change was
20285         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
20286
20287 2011-05-25  Eric Blake  <eblake@redhat.com>
20288
20289         getcwd: work around mingw bug
20290         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
20291         * doc/posix-functions/getcwd.texi (getcwd): Document it.
20292         Reported by Matthias Bolte.
20293
20294 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
20295
20296         test-intprops: disable -Wtype-limits diagnostics
20297         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
20298         diagnostics.  Otherwise, the integer overflow macros generate many
20299         diagnostics.  Reported by Jim Meyering in
20300         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
20301
20302         intprops: shorten, to pacify gcc -Woverlength-strings
20303         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
20304         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
20305         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
20306         likely to run afoul of C compiler limits for string constant lengths.
20307         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
20308
20309 2011-05-24  Eric Blake  <eblake@redhat.com>
20310
20311         docs: document recently fixed glibc printf bug
20312         * doc/posix-functions/fprintf.texi (fprintf): Document it.
20313         * doc/posix-functions/printf.texi (printf): Likewise.
20314         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
20315         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
20316
20317         closein-tests: convert to init.sh
20318         * modules/closein-tests (Files): Add init.sh
20319         * tests/test-closein.sh Use it.
20320
20321         yesno-tests: convert to init.sh
20322         * modules/yesno-tests (Files): Add init.sh.
20323         * tests/test-yesno.sh: Use it.
20324
20325         atexit-tests: ensure reliable exit status
20326         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
20327         Reported by Bruno Haible.
20328
20329 2011-05-24  Bruno Haible  <bruno@clisp.org>
20330
20331         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
20332         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
20333         gl_PREREQ_STRERROR_R invocations from here...
20334         * modules/strerror_r-posix (configure.ac): ... to here.
20335
20336 2011-05-24  Eric Blake  <eblake@redhat.com>
20337
20338         strerror_r: fix missing header
20339         * lib/strerror_r.c: Avoid compiler warning about snprintf.
20340
20341         strerror_r: fix AIX test failures
20342         * lib/strerror_r.c (strerror_r): Convert silent truncation to
20343         ERANGE failure.
20344
20345         strerror_r: fix Solaris test failures
20346         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
20347         failures.
20348         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
20349
20350         strerror_r: enforce POSIX recommendations
20351         * lib/strerror_r.c (safe_copy): New helper method.
20352         (strerror_r): Guarantee a non-empty string.
20353         * tests/test-strerror_r.c (main): Enhance tests to incorporate
20354         recent POSIX rulings and to match our strerror guarantees.
20355         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
20356
20357 2011-05-24  Jim Meyering  <meyering@redhat.com>
20358
20359         test-perror2.c: avoid warning about unused variable
20360         * tests/test-perror2.c (main): Remove declaration of unused "fp".
20361
20362 2011-05-24  Eric Blake  <eblake@redhat.com>
20363
20364         perror: avoid spurious test failure on HP-UX
20365         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
20366
20367         tests: fix logic bug in init.sh
20368         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
20369         shell.
20370
20371 2011-05-24  Jim Meyering  <meyering@redhat.com>
20372
20373         utimensat: do not reference an out-of-scope buffer
20374         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
20375         declared in an inner scope, yet "times" would be dereferenced outside
20376         the scope in which "ts" was valid.
20377         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
20378         of ts[2] "out/up", so that the use of aliased "times" (via
20379         "times = ts;") does not end up referencing an out-of-scope "ts"
20380
20381         opendir-safer.c: don't clobber errno; don't close negative FD
20382         * lib/opendir-safer.c (opendir_safer):
20383         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
20384         file descriptor, and more importantly, don't clobber the
20385         offending errno value with EINVAL.  Before, upon failure
20386         of dup_safer, we would pass the negative file descriptor to
20387         fdopendir, which would clobber errno.
20388
20389 2011-05-23  Bruno Haible  <bruno@clisp.org>
20390
20391         idcache: Fix module description.
20392         * modules/idcache (Include): Set to "idcache.h".
20393
20394 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
20395
20396         gnulib-tool: fix portability problem with MacOS sed
20397         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
20398         before the "}".  Problem reported by Leo in
20399         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
20400         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
20401         sed_extract_condition1, sed_extract_condition2.
20402
20403 2011-05-23  Bruno Haible  <bruno@clisp.org>
20404
20405         hash: Simplify autoconf macro.
20406         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
20407
20408 2011-05-23  Bruno Haible  <bruno@clisp.org>
20409
20410         getugroups: Fix module description.
20411         * modules/getugroups (Include): Set to "getugroups.h".
20412
20413 2011-05-23  Bruno Haible  <bruno@clisp.org>
20414
20415         linkat: Simplify autoconf macro.
20416         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
20417
20418 2011-05-23  Bruno Haible  <bruno@clisp.org>
20419             Eric Blake  <eblake@redhat.com>
20420
20421         linkat, renameat: Update dependencies.
20422         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
20423         * modules/linkat (Depends-on): Likewise. Remove also readlink,
20424         symlinkat.
20425
20426 2011-05-23  Jim Meyering  <meyering@redhat.com>
20427
20428         maint.mk: more tight_scope improvements
20429         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
20430         (_gl_TS_headers): Define only in if-0'd block.
20431         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
20432         sometimes we must *not* use it.  Adjust uses accordingly.
20433         (sc_tight_scope): Use much simpler grep-based test to determine
20434         whether we skip this rule.
20435
20436         maint.mk: generalize/improve the tight-scope rule
20437         * top/maint.mk: Emit a warning when the test is skipped.
20438         (_gl_TS_dir): Add $(srcdir)/ prefix.
20439         (_gl_TS_function_match): Simplify, rather than trying
20440         to enumerate common types.  Otherwise, it would fail to match an
20441         "extern unsigned char const *" declaration in idutils.
20442         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
20443         a way to support use of that type of macro.
20444         (_gl_TS_var_match): Simplify regexp.
20445         (_gl_TS_obj_files): New configurable variable.
20446         (_gl_TS_headers): Likewise.
20447
20448 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
20449
20450         verify: fix bug when gnulib <assert.h> is also included
20451         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
20452         is defined, not if _GL_STATIC_ASSERT_H is not defined.
20453         Perhaps there's a better way, but this fixes the immediate problem.
20454         Problem reported by Bruno Haible in
20455         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
20456
20457 2011-05-22  Bruno Haible  <bruno@clisp.org>
20458
20459         xgetcwd: Simplify autoconf macro.
20460         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
20461
20462 2011-05-22  Bruno Haible  <bruno@clisp.org>
20463
20464         New module 'mktime-internal'.
20465         * modules/mktime-internal: New file.
20466         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
20467         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
20468         mktime_internal as a C macro if libc has __mktime_internal.
20469         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
20470         conditions.
20471         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
20472
20473 2011-05-22  Bruno Haible  <bruno@clisp.org>
20474
20475         timegm: Correct mktime replacement statements.
20476         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
20477         defining mktime as a C macro. This completes a 2009-07-28 commit.
20478
20479 2011-05-22  Bruno Haible  <bruno@clisp.org>
20480
20481         timegm: Simplify autoconf macro.
20482         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
20483
20484 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
20485
20486         clock-time: change to LGPLv2+.
20487         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
20488         BSD-like but we have no mark for that; this is good enough for now.
20489
20490 2011-05-21  Bruno Haible  <bruno@clisp.org>
20491
20492         strerror_r: Fix comments.
20493         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
20494
20495 2011-05-21  Bruno Haible  <bruno@clisp.org>
20496
20497         relocatable-prog-wrapper: Fix possible link error.
20498         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
20499         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
20500         (gl_FUNC_SETENV): ... to here.
20501         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
20502         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
20503
20504 2011-05-21  Bruno Haible  <bruno@clisp.org>
20505
20506         relocatable-prog-wrapper: Assume strerror() exists.
20507         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
20508         m4/strerror.m4.
20509         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
20510         * lib/relocwrapper.c: Remove mention of strerror module.
20511         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
20512         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
20513         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
20514         C macro.
20515
20516 2011-05-21  Bruno Haible  <bruno@clisp.org>
20517
20518         select: Simplify replacement idiom.
20519         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
20520         Win32 platforms.
20521         * lib/sys_select.in.h (select): Simplify accordingly.
20522         * modules/select (Depends-on): Likewise.
20523
20524 2011-05-21  Bruno Haible  <bruno@clisp.org>
20525
20526         mkdir-p: Simplify autoconf macro.
20527         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
20528         gl_FUNC_LCHOWN.
20529
20530 2011-05-21  Eric Blake  <eblake@redhat.com>
20531
20532         strerror_r: avoid clobbering strerror on cygwin
20533         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
20534         fall back instead to sys_errlist.
20535         * modules/strerror (configure.ac): Add witness.
20536         * tests/test-strerror_r.c (main): Enhance test.
20537         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20538         * tests/test-perror2.c (main): Free memory before exit.
20539
20540 2011-05-21  Bruno Haible  <bruno@clisp.org>
20541
20542         mkdtemp: Use gnulib naming conventions.
20543         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
20544         * modules/mkdtemp (configure.ac): Update.
20545
20546 2011-05-20  Eric Blake  <eblake@redhat.com>
20547
20548         strerror_r: avoid corrupting errno on Solaris
20549         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
20550         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20551
20552         strerror_r: avoid compiler warning
20553         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
20554
20555         strerror_r: simplify AIX code
20556         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
20557
20558         test-perror: avoid spurious failure on FreeBSD
20559         * modules/perror-tests (Depends-on): Add strerror, now that
20560         strerror_r no longer pulls it in.
20561
20562 2011-05-20  Bruno Haible  <bruno@clisp.org>
20563
20564         strerror_r-posix: Remove unused dependencies.
20565         * modules/strerror_r-posix (Depends-on): Remove strerror.
20566         Reported by Eric Blake.
20567
20568 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
20569
20570         intprops: remove assumption about A|B representation
20571         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
20572         is a valid integer if both A and B are.  Although this is true for
20573         all known practical hosts, the C standard doesn't guarantee it,
20574         and the code need not assume it.  Also, this change may work around
20575         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
20576         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
20577
20578 2011-05-20  Eric Blake  <eblake@redhat.com>
20579
20580         perror: work around FreeBSD bug
20581         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
20582         is broken.  Move AC_LIBOBJ...
20583         * modules/perror (configure.ac): Here.
20584         * doc/posix-functions/perror.texi (perror): Document this.
20585         * tests/test-perror2.c (main): Enhance test.
20586
20587         test-perror: check for strerror interactions
20588         * tests/macros.h (STREQ): Add macro.
20589         * modules/perror-tests (Files): Add second test.
20590         * tests/test-perror2.c (main): New file.
20591         * doc/posix-functions/perror.texi (perror): Document glibc bug.
20592
20593         test-perror: rewrite to use init script
20594         * modules/perror-tests (Files): Add init.sh.
20595         * tests/test-perror.sh: Use temporary directory.
20596
20597 2011-05-20  Jim Meyering  <meyering@redhat.com>
20598
20599         maint: replace misused "a" with "an"
20600         * doc/intprops.texi: "a integer"
20601         * doc/regex.texi: "a explanation"
20602         * lib/alignof.h: "a object"
20603         * lib/argmatch.h: "a explanation"
20604         * lib/argp-help.c: "a option" and "a OPTION_DOC"
20605         * lib/stdint.in.h: "a integer"
20606         * lib/userspec.c: "a owner"
20607         * doc/gnulib.texi: Fix "a idea", and reword.
20608
20609 2011-05-19  Jim Meyering  <meyering@redhat.com>
20610
20611         maint: correct misuse of "a" and "an"
20612         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
20613         * lib/argp-help.c: "an docum...": s/an/a/
20614         * lib/argp-parse.c: "An vector": s/An/A/
20615         * lib/execute.c: "an native": s/an/a/
20616         * lib/spawn-pipe.c: Likewise.
20617         * lib/gc.h: "an Gc_rc": s/an/a/
20618         * lib/unigbrk.in.h: "an grapheme": s/an/a/
20619         * lib/fts.c: "an stat.st_dev": s/an/a/
20620
20621 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20622
20623         intprops-tests: work around HP-UX 11.23 cc bug with constants
20624         * tests/test-intprops.c (VERIFY): New macro.
20625         (main): Use it, instead of verify, to work around the compiler bug; see
20626         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20627
20628         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
20629         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
20630         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
20631         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
20632         (_GL_REMAINDER_OVERFLOW): Use it.
20633
20634         intprops-tests: revert unsigned part of previous change
20635         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
20636         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
20637         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
20638         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
20639
20640 2011-05-19  Bruno Haible  <bruno@clisp.org>
20641
20642         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
20643         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
20644         strerror_r() returned without filling the buffer.
20645         Reported by Eric Blake.
20646
20647 2011-05-19  Eric Blake  <eblake@redhat.com>
20648
20649         strerror_r: guarantee unchanged errno
20650         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
20651         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
20652         failure.
20653         * tests/test-strerror_r.c (main): Enhance test.
20654
20655 2011-05-19  Bruno Haible  <bruno@clisp.org>
20656
20657         strerror_r: Reorder #if blocks.
20658         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
20659         for consistency with the previous commit.
20660
20661 2011-05-19  Bruno Haible  <bruno@clisp.org>
20662
20663         perror: Avoid clobbering the strerror buffer when possible.
20664         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
20665         * lib/strerror.c: Include it.
20666         * modules/strerror (Files): Add lib/strerror-impl.h.
20667         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
20668         (my_strerror): New function, defined through lib/strerror-impl.h.
20669         (perror): Use it instead of strerror.
20670         * modules/perror (Files): Add lib/strerror-impl.h.
20671         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
20672
20673 2011-05-19  Eric Blake  <eblake@redhat.com>
20674
20675         strerror_r: fix on newer cygwin
20676         * lib/strerror_r.c (strerror_r): Cygwin now has
20677         __xpg_strerror_r, use it.
20678
20679 2011-05-19  Bruno Haible  <bruno@clisp.org>
20680
20681         strerror_r: Avoid clobbering the strerror buffer when possible.
20682         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
20683         (sys_nerr, sys_errlist): New declarations.
20684         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
20685         HP-UX, native Win32, IRIX, and 32-bit Solaris.
20686         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
20687
20688 2011-05-19  Bruno Haible  <bruno@clisp.org>
20689
20690         strerror_r: Fix test failure on mingw.
20691         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
20692         EXTEND_STRERROR_R.
20693         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
20694         macros from errno.in.h instead.
20695
20696 2011-05-19  Eric Blake  <eblake@redhat.com>
20697
20698         strerror: relax test for Solaris
20699         * tests/test-strerror.c (main): Permit Solaris behavior.
20700         * tests/test-strerror_r.c (main): Likewise.
20701
20702         strerror: enforce POSIX ruling on strerror(0)
20703         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
20704         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20705         * lib/strerror_r.c (rpl_strerror_r): Work around it.
20706         * doc/posix-functions/strerror.texi (strerror): Document it.
20707         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
20708         * tests/test-strerror.c (main): Strengthen test.
20709         * tests/test-strerror_r.c (main): Likewise.
20710
20711 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20712
20713         intprop-tests: port to older and more-pedantic compilers
20714         * modules/intprops-tests (Files): Add tests/macros.h.
20715         * tests/test-intprops.c: Include macros.h.
20716         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
20717         it's no longer documented to expand to an integer constant expression.
20718         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
20719         argument is floating point, as it's no longer documented to expand
20720         to an integer constant expression in that case.
20721         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
20722         compiler bugs reported by Bruno Haible.  See
20723         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20724         (U0, U1): New constants, to work around the same bugs.  Also,
20725         in tests, use e.g., "(unsigned int) 39" rather than "39u".
20726
20727         intprops: work around C compiler bugs
20728         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
20729         bug in Sun C 5.11 2010/08/13 and other compilers; see
20730         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20731
20732         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
20733         * doc/intprops.texi (Integer Type Determination): Fix
20734         documentation for TYPE_IS_INTEGER: it returns an constant
20735         expression, not an integer constant expression.  Fix doc for
20736         TYPE_SIGNED: it returns an integer constant expression only if its
20737         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
20738         hardly worth documented that way....)
20739
20740 2011-05-18  Bruno Haible  <bruno@clisp.org>
20741
20742         strerror_r: Avoid clobbering the strerror buffer when possible.
20743         * lib/strerror_r.c (strerror_r): Merge the three implementations.
20744         Handle gnulib defined errno values here. When strerror() returns NULL
20745         or an empty string, return EINVAL.
20746         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
20747         gnulib defined errno values here.
20748         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
20749
20750 2011-05-18  Eric Blake  <eblake@redhat.com>
20751
20752         fnmatch: avoid compiler warning
20753         * lib/fnmatch_loop.c (FCT): Use correct type.
20754         Reported by Matthias Bolte.
20755
20756 2011-05-13  Jim Meyering  <meyering@redhat.com>
20757
20758         maint.mk: three new prohibit_<HDR>_without_use rules
20759         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
20760         (sc_prohibit_stdio-safer_without_use): Likewise.
20761         (sc_prohibit_xfreopen_without_use): Likewise.
20762
20763 2011-05-17  Jim Meyering  <meyering@redhat.com>
20764
20765         announce-gen: fail if the NEWS delta is empty
20766         If there's nothing noteworthy in NEWS, then either you forgot
20767         or you shouldn't be releasing.
20768         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
20769
20770 2011-05-17  Pádraig Brady <P@draigBrady.com>
20771
20772         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
20773         reserved symbols starting with double underscore from the check.
20774
20775 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
20776
20777         intprops: add doc
20778         * doc/intprops.texi: New file, documenting intprops.
20779         * doc/gnulib.texi (Particular Modules): Include it.
20780
20781         verify: add doc to gnulib manual and fix example
20782         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
20783         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
20784         (Compile-time Assertions): Fix example so it can't overflow.
20785
20786 2011-05-17  Jim Meyering  <meyering@redhat.com>
20787
20788         warnings.m4: don't usurp save_CPPFLAGS variable name
20789         * m4/warnings.m4: Prefix local temporary variable name with gl_.
20790
20791         doc: fix typo
20792         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
20793
20794 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20795             Bruno Haible  <bruno@clisp.org>
20796
20797         doc: Tweak recent change.
20798         * README (Portability guidelines): Tweak new text.
20799         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
20800         Interix 6.1.
20801
20802 2011-05-16  Eric Blake  <eblake@redhat.com>
20803
20804         inttypes: avoid autoconf warning
20805         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
20806         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20807
20808 2011-05-16  Sam Steingold <sds@gnu.org>
20809         and Eric Blake  <eblake@redhat.com>
20810
20811         vc-list-files: accept multiple directory operands
20812         * build-aux/vc-list-files: Iterate over all remaining operands.
20813
20814 2011-05-16  Bruno Haible  <bruno@clisp.org>
20815
20816         Fix confusion regarding deprecated modules.
20817         * modules/calloc (Status, Notice): Mark module as deprecated, not
20818         obsolete.
20819         * modules/fnmatch-posix (Status, Notice): Likewise.
20820         * modules/getdate (Status, Notice): Likewise.
20821         * modules/getopt (Status, Notice): Likewise.
20822         * modules/malloc (Status, Notice): Likewise.
20823         * modules/pipe (Status, Notice): Likewise.
20824         * modules/realloc (Status, Notice): Likewise.
20825         * modules/rename-dest-slash (Status, Notice): Likewise.
20826         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
20827         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
20828         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
20829         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
20830         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
20831
20832 2011-05-16  Bruno Haible  <bruno@clisp.org>
20833
20834         doc: List the target platforms.
20835         * doc/gnulib-intro.texi (Target Platforms): New section.
20836         * doc/gnulib.texi (Introduction): Update menu.
20837         * README (Portability guidelines): Refer to the new section. Update
20838         statement about oldest supported environment. Remove rationale why
20839         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
20840         unportable C89 function.
20841         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
20842         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
20843
20844 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20845
20846         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
20847
20848 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
20849
20850         intprops-tests: new module
20851         * modules/intprops-tests, tests/test-intprops.c: New files.
20852
20853         intprops: add safe, portable integer overflow checking
20854         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
20855         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
20856         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
20857         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
20858         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
20859         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
20860         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
20861         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
20862         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
20863         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
20864         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
20865
20866 2011-05-12  James Youngman  <jay@gnu.org>
20867
20868         Add a test for glibc's Bugzilla bug #12378.
20869         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
20870         doesn't allow the literal matching of a lone "[" (which is
20871         required by POSIX).
20872         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
20873
20874 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
20875
20876         Sync glibc change fixing Bugzilla bug #12378.
20877         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
20878         beginning and fall back to matching as normal character if the
20879         string ends before the matching ']' is found.  This is what POSIX
20880         requires.
20881
20882 2011-05-13  Eric Blake  <eblake@redhat.com>
20883
20884         getcwd-lgpl: relax test for FreeBSD
20885         * doc/posix-functions/getcwd.texi (getcwd): Document portability
20886         issue.
20887         * tests/test-getcwd-lgpl.c (main): Relax test.
20888         Reported by Matthias Bolte.
20889
20890 2011-05-11  Eric Blake  <eblake@redhat.com>
20891
20892         test-fflush: silence compiler warning
20893         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
20894
20895 2011-05-11  Bruno Haible  <bruno@clisp.org>
20896
20897         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
20898         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
20899         * modules/canonicalize (Depends-on): Add 'nocrash'.
20900         * modules/canonicalize-lgpl (Depends-on): Likewise.
20901         * doc/posix-functions/realpath.texi: Update platforms list.
20902         Reported by Ryan Schmidt <ryandesign@macports.org>.
20903
20904 2011-05-11  Bruno Haible  <bruno@clisp.org>
20905
20906         group-member: Declare function in <unistd.h>.
20907         * lib/unistd.in.h (group_member): New declaration.
20908         * lib/group-member.h: Remove file.
20909         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
20910         * tests/test-unistd-c++.cc: Check signature of group_member.
20911         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
20912         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
20913         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
20914         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
20915         HAVE_GROUP_MEMBER.
20916         * modules/group-member (Files): Remove lib/group-member.h.
20917         (Depends-on): Add unistd. Specify conditions.
20918         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20919         (Include): Change to <unistd.h>.
20920         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
20921         HAVE_GROUP_MEMBER.
20922         * NEWS: Mention the change.
20923         * lib/euidaccess.c: Don't include group-member.h.
20924
20925 2011-05-11  Bruno Haible  <bruno@clisp.org>
20926
20927         group-member: Document module.
20928         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
20929         module.
20930
20931 2011-05-11  Bruno Haible  <bruno@clisp.org>
20932
20933         fclose: Fix mistake earlier today.
20934         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
20935
20936 2011-05-11  Eric Blake  <eblake@redhat.com>
20937
20938         fclose: preserve fflush errors
20939         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
20940         Reported by Jim Meyering.
20941
20942         bootstrap: support a prereq of 'rpcgen -' on RHEL5
20943         * build-aux/bootstrap (check_versions): When no specific version
20944         is required, merely check that the app produces an exit status
20945         that indicates its existence.
20946
20947         maint.mk: drop redundant check
20948         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
20949         the same but better.
20950
20951 2011-05-11  Bruno Haible  <bruno@clisp.org>
20952
20953         fclose: Fix possible link error.
20954         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
20955         unregister_shadow_fd. Improve comments.
20956         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
20957         Eric Blake.
20958
20959 2011-05-11  Jim Meyering  <meyering@redhat.com>
20960
20961         maint.mk: improve "can not" detection and generalize rule name
20962         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
20963         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
20964         Use the same technique as in sc_prohibit_doubled_word, so that
20965         we recognize "can not" also when the words are separated by a newline.
20966         Suggested by Eric Blake.
20967         (perl_filename_lineno_text_): Define.  Factored out of...
20968         (prohibit_doubled_word_): ...here.  Use the new definition.
20969         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
20970         (prohibit_undesirable_word_seq_RE_): New overridable variable.
20971         (ignore_undesirable_word_sequence_RE_): New overridable variable.
20972
20973 2011-05-10  Eric Blake  <eblake@redhat.com>
20974
20975         fclose: avoid double close race when possible
20976         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
20977         all but WINDOWS_SOCKETS.
20978
20979 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
20980
20981         openat: correct new comment
20982         * lib/openat-proc.c (openat_proc_name): Correct the comment.
20983
20984 2011-05-10  Jim Meyering  <meyering@redhat.com>
20985
20986         openat: add comments
20987         * lib/openat-proc.c (openat_proc_name): Add comments,
20988         mostly from Eric Blake.
20989
20990 2011-05-09  Eric Blake  <eblake@redhat.com>
20991
20992         openat: reduce syscalls in first probe of /proc
20993         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
20994         be a directory.  Simplify the probe for .. bugs.
20995         * modules/openat (Depends-on): Drop same-inode.
20996         Reported by Bastien ROUCARIES.
20997
20998 2011-05-09  Jim Meyering  <meyering@redhat.com>
20999
21000         maint.mk: change semantics/name of tight_scope variables
21001         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
21002         Rename variables to align with semantics that make them more useful.
21003
21004         maint.mk: tweak new rule's name not to impinge
21005         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
21006         (sc_tight_scope): Use new rule name rather than $@-0.
21007
21008         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
21009         * top/maint.mk (sc_tight_scope): New rule.
21010         (sc_tight_scope-0): New rule, ifdef'd out.
21011         (_gl_TS_dir): Default.
21012         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
21013         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
21014
21015 2011-05-09  Simon Josefsson  <simon@josefsson.org>
21016
21017         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
21018         Haible <bruno@clisp.org>.
21019
21020 2011-05-08  Bruno Haible  <bruno@clisp.org>
21021
21022         Comments.
21023         * m4/isnanf.m4: Add comment.
21024         * m4/isnanl.m4: Likewise.
21025
21026 2011-05-08  Bruno Haible  <bruno@clisp.org>
21027
21028         glob: Remove obsolete macro.
21029         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
21030
21031 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
21032
21033         intprops: Sun C 5.11 supports __typeof__
21034         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
21035         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
21036         which is new.
21037         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
21038
21039         intprops: switch to usual gnulib indenting and naming
21040         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
21041         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
21042
21043         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
21044
21045 2011-05-08  Jim Meyering  <meyering@redhat.com>
21046
21047         maint.mk: suppress "Entering/Leaving directory" diag in announcement
21048         * top/maint.mk (release-prep): Use make's --no-print-directory
21049         option when generating the announcement.  This eliminates the
21050         pesky "make[2]: Entering/Leaving directory" diagnostics in the
21051         generated announcement template.
21052
21053 2011-05-08  Bruno Haible  <bruno@clisp.org>
21054
21055         tzset: Fix gettimeofday wrapper on Solaris 2.6.
21056         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
21057         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
21058
21059 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
21060
21061         ignore-value, verify: Omit include files from lib_SOURCES.
21062         * modules/ignore-value, modules/verify (Makefile.am):
21063         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
21064         that leads Automake to duplicate use of am__objects_... variables
21065         in Makefile.in.  See
21066         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
21067
21068 2011-05-07  Bruno Haible  <bruno@clisp.org>
21069
21070         fclose: Simplify autoconf macro.
21071         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
21072         defined.
21073
21074 2011-05-07  Bruno Haible  <bruno@clisp.org>
21075
21076         canonicalize-lgpl: Fix autoconf macro ordering bug.
21077         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
21078         gl_STDLIB_H_DEFAULTS.
21079
21080 2011-05-06  Eric Blake  <eblake@redhat.com>
21081
21082         maintainer-makefile: make sc_po_check easier to tune
21083         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
21084         to probe for strings, such as an alternate location for gnulib.
21085
21086         fclose: guarantee behavior on seekable stdin
21087         * modules/fclose (Depends-on): Add fflush.
21088         * doc/posix-functions/fclose.texi (fclose): Document this.
21089         * tests/test-fclose.c (main): Make test for this unconditional.
21090
21091 2011-05-06  Bruno Haible  <bruno@clisp.org>
21092
21093         fflush, fpurge: Relicense under LGPLv2+.
21094         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
21095         * modules/fpurge (License): Likewise.
21096         With permission from Eric Blake and Jim Meyering.
21097         Suggested by Eric Blake.
21098
21099 2011-05-06  Karl Berry  <karl@gnu.org>
21100
21101         * MODULES.html.sh (func_all_modules): remove exit.
21102
21103 2011-05-06  Jim Meyering  <meyering@redhat.com>
21104
21105         maint.mk: use info-gnu@ as the default only for a stable release
21106         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
21107         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
21108         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
21109         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
21110
21111 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
21112
21113         assert-h: new module, which supports C1X-style static_assert
21114         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
21115         * lib/verify.h: Revamp so that this can be copied into assert.h,
21116         while retaining the ability to use it standalone as before.
21117         Rename private identifiers so as not to encroach on the
21118         standard C namespace, since this is now used by assert.h.
21119         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
21120         the old verify_true.
21121         (_GL_VERIFY_TRUE): New macro, with much of the contents of
21122         the old verify_true.  Use _GL_VERIFY_TYPE.
21123         (_GL_VERIFY): New macro, with much of the contents of the old verify.
21124         (static_assert): New macro, if _GL_STATIC_ASSERT_H
21125         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
21126         defined when this file is copied into the replacement assert.h.
21127         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
21128         and _Static_assert is not built in.
21129         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
21130         defined, and use the new macros mentioned above.
21131         * doc/posix-headers/assert.texi: Document this.
21132
21133 2011-05-05  Bruno Haible  <bruno@clisp.org>
21134
21135         fclose, fflush: Respect rules for use of AC_LIBOBJ.
21136         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
21137         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
21138         gl_REPLACE_FCLOSE here.
21139         * modules/fflush (Depends-on): Remove fclose.
21140         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
21141         combination with module 'fclose'.
21142
21143 2011-05-05  Bruno Haible  <bruno@clisp.org>
21144
21145         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
21146         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
21147         gl_FUNC_FFLUSH.
21148         (gl_FUNC_FFLUSH): Use it.
21149         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
21150         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
21151         gl_REPLACE_FSEEKO here.
21152
21153 2011-05-05  Bruno Haible  <bruno@clisp.org>
21154
21155         tzset: Relicense under LGPL.
21156         * modules/tzset (License): Change to LGPL.
21157         No agreement needed; it's a no-op.
21158
21159         strtoimax, strtoumax: Relicense under LGPL.
21160         * modules/strtoimax (License): Change to LGPL.
21161         * modules/strtoumax (License): Likewise.
21162         With permission from Jim Meyering, Paul Eggert:
21163         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
21164         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
21165
21166         getgroups: Relicense under LGPL.
21167         * modules/getgroups (License): Change to LGPL.
21168         With permission from Jim Meyering, Paul Eggert, Eric Blake:
21169         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
21170         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
21171         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21172
21173         nanosleep: Relicense under LGPL.
21174         * modules/nanosleep (License): Change to LGPL.
21175         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
21176         Haible:
21177         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
21178         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
21179         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21180         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
21181
21182         futimens: Relicense under LGPL.
21183         * modules/futimens (License): Change to LGPL.
21184         With permission from Eric Blake:
21185         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21186
21187         fflush: Relicense under LGPL.
21188         * modules/fflush (License): Change to LGPL.
21189         With permission from Eric Blake, Bruno Haible, Jim Meyering:
21190         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21191         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
21192         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
21193
21194         tmpfile: Relicense under LGPL.
21195         * modules/tmpfile (License): Change to LGPL.
21196         With permission from Ben Pfaff:
21197         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
21198
21199         isfinite: Relicense under LGPL.
21200         * modules/isfinite (License): Change to LGPL.
21201         With permission from Ben Pfaff, Bruno Haible:
21202         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
21203         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
21204
21205         acosl..tanl: Relicense under LGPL.
21206         * modules/acosl (License): Change to LGPL.
21207         * modules/asinl (License): Likewise.
21208         * modules/atanl (License): Likewise.
21209         * modules/cosl (License): Likewise.
21210         * modules/expl (License): Likewise.
21211         * modules/logl (License): Likewise.
21212         * modules/sinl (License): Likewise.
21213         * modules/sqrtl (License): Likewise.
21214         * modules/tanl (License): Likewise.
21215         Source code originally from glibc and Paolo Bonzini. Agreements:
21216         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
21217         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
21218
21219 2011-05-05  Bruno Haible  <bruno@clisp.org>
21220
21221         signal: Define sighandler_t.
21222         * lib/signal.in.h (sighandler_t): New type.
21223         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
21224         whether sighandler_t is defined.
21225         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
21226         * modules/signal (Depends-on): Add extensions.
21227         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
21228         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
21229         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
21230
21231 2011-05-05  Eric Blake  <eblake@redhat.com>
21232
21233         maint: remove useless REPLACE_*_H macros
21234         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
21235         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
21236         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
21237         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
21238         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
21239         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
21240         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
21241         * m4/btowc.m4: Update callers.
21242         * m4/dirfd.m4: Likewise.
21243         * m4/duplocale.m4: Likewise.
21244         * m4/fchdir.m4: Likewise.
21245         * m4/fdopendir.m4: Likewise.
21246         * m4/inet_ntop.m4: Likewise.
21247         * m4/inet_pton.m4: Likewise.
21248         * m4/ioctl.m4: Likewise.
21249         * m4/mbrlen.m4: Likewise.
21250         * m4/mbrtowc.m4: Likewise.
21251         * m4/mbsinit.m4: Likewise.
21252         * m4/mbsnrtowcs.m4: Likewise.
21253         * m4/mbsrtowcs.m4: Likewise.
21254         * m4/poll.m4: Likewise.
21255         * m4/setlocale.m4: Likewise.
21256         * m4/wcrtomb.m4: Likewise.
21257         * m4/wcsnrtombs.m4: Likewise.
21258         * m4/wcsrtombs.m4: Likewise.
21259         * m4/wctob.m4: Likewise.
21260         * m4/wcwidth.m4: Likewise.
21261         * modules/posix_spawn: Likewise.
21262         * modules/posix_spawn_file_actions_addclose: Likewise.
21263         * modules/posix_spawn_file_actions_adddup2: Likewise.
21264         * modules/posix_spawn_file_actions_addopen: Likewise.
21265         * modules/posix_spawn_file_actions_destroy: Likewise.
21266         * modules/posix_spawn_file_actions_init: Likewise.
21267         * modules/posix_spawnattr_destroy: Likewise.
21268         * modules/posix_spawnattr_getflags: Likewise.
21269         * modules/posix_spawnattr_getpgroup: Likewise.
21270         * modules/posix_spawnattr_getschedparam: Likewise.
21271         * modules/posix_spawnattr_getschedpolicy: Likewise.
21272         * modules/posix_spawnattr_getsigdefault: Likewise.
21273         * modules/posix_spawnattr_getsigmask: Likewise.
21274         * modules/posix_spawnattr_init: Likewise.
21275         * modules/posix_spawnattr_setflags: Likewise.
21276         * modules/posix_spawnattr_setpgroup: Likewise.
21277         * modules/posix_spawnattr_setschedparam: Likewise.
21278         * modules/posix_spawnattr_setschedpolicy: Likewise.
21279         * modules/posix_spawnattr_setsigdefault: Likewise.
21280         * modules/posix_spawnattr_setsigmask: Likewise.
21281         * modules/posix_spawnp: Likewise.
21282
21283 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
21284
21285         Add option to do-release-commit-and-tag to specify branch.
21286         * build-aux/do-release-commit-and-tag: Add --branch.
21287
21288 2011-05-03  Bruno Haible  <bruno@clisp.org>
21289
21290         Avoid unnecessary compilation units, through conditional dependencies.
21291         * modules/accept (Depends-on): Add conditions to the dependencies.
21292         * modules/acosl (Depends-on): Likewise.
21293         * modules/argz (Depends-on): Likewise.
21294         * modules/asinl (Depends-on): Likewise.
21295         * modules/atanl (Depends-on): Likewise.
21296         * modules/atoll (Depends-on): Likewise.
21297         * modules/bind (Depends-on): Likewise.
21298         * modules/btowc (Depends-on): Likewise.
21299         * modules/canonicalize-lgpl (Depends-on): Likewise.
21300         * modules/ceil (Depends-on): Likewise.
21301         * modules/ceilf (Depends-on): Likewise.
21302         * modules/ceill (Depends-on): Likewise.
21303         * modules/chdir-long (Depends-on): Likewise.
21304         * modules/chown (Depends-on): Likewise.
21305         * modules/close (Depends-on): Likewise.
21306         * modules/connect (Depends-on): Likewise.
21307         * modules/cosl (Depends-on): Likewise.
21308         * modules/dirfd (Depends-on): Likewise.
21309         * modules/dprintf (Depends-on): Likewise.
21310         * modules/dprintf-posix (Depends-on): Likewise.
21311         * modules/error (Depends-on): Likewise.
21312         * modules/euidaccess (Depends-on): Likewise.
21313         * modules/expl (Depends-on): Likewise.
21314         * modules/faccessat (Depends-on): Likewise.
21315         * modules/fchdir (Depends-on): Likewise.
21316         * modules/fclose (Depends-on): Likewise.
21317         * modules/fcntl (Depends-on): Likewise.
21318         * modules/fdopendir (Depends-on): Likewise.
21319         * modules/fflush (Depends-on): Likewise.
21320         * modules/floor (Depends-on): Likewise.
21321         * modules/floorf (Depends-on): Likewise.
21322         * modules/floorl (Depends-on): Likewise.
21323         * modules/fnmatch (Depends-on): Likewise.
21324         * modules/fopen (Depends-on): Likewise.
21325         * modules/fprintf-posix (Depends-on): Likewise.
21326         * modules/frexp (Depends-on): Likewise.
21327         * modules/frexp-nolibm (Depends-on): Likewise.
21328         * modules/frexpl (Depends-on): Likewise.
21329         * modules/frexpl-nolibm (Depends-on): Likewise.
21330         * modules/fseek (Depends-on): Likewise.
21331         * modules/fsusage (Depends-on): Likewise.
21332         * modules/ftell (Depends-on): Likewise.
21333         * modules/ftello (Depends-on): Likewise.
21334         * modules/futimens (Depends-on): Likewise.
21335         * modules/getcwd (Depends-on): Likewise.
21336         * modules/getcwd-lgpl (Depends-on): Likewise.
21337         * modules/getdelim (Depends-on): Likewise.
21338         * modules/getdomainname (Depends-on): Likewise.
21339         * modules/getgroups (Depends-on): Likewise.
21340         * modules/gethostname (Depends-on): Likewise.
21341         * modules/getline (Depends-on): Likewise.
21342         * modules/getlogin_r (Depends-on): Likewise.
21343         * modules/getopt-posix (Depends-on): Likewise.
21344         * modules/getpeername (Depends-on): Likewise.
21345         * modules/getsockname (Depends-on): Likewise.
21346         * modules/getsockopt (Depends-on): Likewise.
21347         * modules/getsubopt (Depends-on): Likewise.
21348         * modules/getusershell (Depends-on): Likewise.
21349         * modules/glob (Depends-on): Likewise.
21350         * modules/grantpt (Depends-on): Likewise.
21351         * modules/iconv_open (Depends-on): Likewise.
21352         * modules/iconv_open-utf (Depends-on): Likewise.
21353         * modules/inet_ntop (Depends-on): Likewise.
21354         * modules/inet_pton (Depends-on): Likewise.
21355         * modules/ioctl (Depends-on): Likewise.
21356         * modules/isapipe (Depends-on): Likewise.
21357         * modules/isfinite (Depends-on): Likewise.
21358         * modules/isinf (Depends-on): Likewise.
21359         * modules/lchown (Depends-on): Likewise.
21360         * modules/ldexpl (Depends-on): Likewise.
21361         * modules/link (Depends-on): Likewise.
21362         * modules/linkat (Depends-on): Likewise.
21363         * modules/listen (Depends-on): Likewise.
21364         * modules/logl (Depends-on): Likewise.
21365         * modules/lstat (Depends-on): Likewise.
21366         * modules/mbrlen (Depends-on): Likewise.
21367         * modules/mbrtowc (Depends-on): Likewise.
21368         * modules/mbsinit (Depends-on): Likewise.
21369         * modules/mbsnrtowcs (Depends-on): Likewise.
21370         * modules/mbsrtowcs (Depends-on): Likewise.
21371         * modules/mbtowc (Depends-on): Likewise.
21372         * modules/memcmp (Depends-on): Likewise.
21373         * modules/mkdir (Depends-on): Likewise.
21374         * modules/mkdtemp (Depends-on): Likewise.
21375         * modules/mkfifo (Depends-on): Likewise.
21376         * modules/mkfifoat (Depends-on): Likewise.
21377         * modules/mknod (Depends-on): Likewise.
21378         * modules/mkostemp (Depends-on): Likewise.
21379         * modules/mkostemps (Depends-on): Likewise.
21380         * modules/mkstemp (Depends-on): Likewise.
21381         * modules/mkstemps (Depends-on): Likewise.
21382         * modules/mktime (Depends-on): Likewise.
21383         * modules/nanosleep (Depends-on): Likewise.
21384         * modules/open (Depends-on): Likewise.
21385         * modules/openat (Depends-on): Likewise.
21386         * modules/perror (Depends-on): Likewise.
21387         * modules/poll (Depends-on): Likewise.
21388         * modules/popen (Depends-on): Likewise.
21389         * modules/posix_spawn (Depends-on): Likewise.
21390         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
21391         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
21392         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
21393         * modules/posix_spawnp (Depends-on): Likewise.
21394         * modules/pread (Depends-on): Likewise.
21395         * modules/printf-posix (Depends-on): Likewise.
21396         * modules/ptsname (Depends-on): Likewise.
21397         * modules/putenv (Depends-on): Likewise.
21398         * modules/pwrite (Depends-on): Likewise.
21399         * modules/readline (Depends-on): Likewise.
21400         * modules/readlink (Depends-on): Likewise.
21401         * modules/readlinkat (Depends-on): Likewise.
21402         * modules/recv (Depends-on): Likewise.
21403         * modules/recvfrom (Depends-on): Likewise.
21404         * modules/regex (Depends-on): Likewise.
21405         * modules/remove (Depends-on): Likewise.
21406         * modules/rename (Depends-on): Likewise.
21407         * modules/renameat (Depends-on): Likewise.
21408         * modules/rmdir (Depends-on): Likewise.
21409         * modules/round (Depends-on): Likewise.
21410         * modules/roundf (Depends-on): Likewise.
21411         * modules/roundl (Depends-on): Likewise.
21412         * modules/rpmatch (Depends-on): Likewise.
21413         * modules/select (Depends-on): Likewise.
21414         * modules/send (Depends-on): Likewise.
21415         * modules/sendto (Depends-on): Likewise.
21416         * modules/setenv (Depends-on): Likewise.
21417         * modules/setlocale (Depends-on): Likewise.
21418         * modules/setsockopt (Depends-on): Likewise.
21419         * modules/shutdown (Depends-on): Likewise.
21420         * modules/sigaction (Depends-on): Likewise.
21421         * modules/signbit (Depends-on): Likewise.
21422         * modules/sigprocmask (Depends-on): Likewise.
21423         * modules/sinl (Depends-on): Likewise.
21424         * modules/sleep (Depends-on): Likewise.
21425         * modules/snprintf (Depends-on): Likewise.
21426         * modules/snprintf-posix (Depends-on): Likewise.
21427         * modules/socket (Depends-on): Likewise.
21428         * modules/sprintf-posix (Depends-on): Likewise.
21429         * modules/sqrtl (Depends-on): Likewise.
21430         * modules/stat (Depends-on): Likewise.
21431         * modules/strchrnul (Depends-on): Likewise.
21432         * modules/strdup-posix (Depends-on): Likewise.
21433         * modules/strerror (Depends-on): Likewise.
21434         * modules/strerror_r-posix (Depends-on): Likewise.
21435         * modules/strndup (Depends-on): Likewise.
21436         * modules/strnlen (Depends-on): Likewise.
21437         * modules/strptime (Depends-on): Likewise.
21438         * modules/strsep (Depends-on): Likewise.
21439         * modules/strsignal (Depends-on): Likewise.
21440         * modules/strstr-simple (Depends-on): Likewise.
21441         * modules/strtod (Depends-on): Likewise.
21442         * modules/strtoimax (Depends-on): Likewise.
21443         * modules/strtok_r (Depends-on): Likewise.
21444         * modules/strtoumax (Depends-on): Likewise.
21445         * modules/symlink (Depends-on): Likewise.
21446         * modules/symlinkat (Depends-on): Likewise.
21447         * modules/tanl (Depends-on): Likewise.
21448         * modules/tcgetsid (Depends-on): Likewise.
21449         * modules/tmpfile (Depends-on): Likewise.
21450         * modules/trunc (Depends-on): Likewise.
21451         * modules/truncf (Depends-on): Likewise.
21452         * modules/truncl (Depends-on): Likewise.
21453         * modules/uname (Depends-on): Likewise.
21454         * modules/unlink (Depends-on): Likewise.
21455         * modules/unlockpt (Depends-on): Likewise.
21456         * modules/unsetenv (Depends-on): Likewise.
21457         * modules/usleep (Depends-on): Likewise.
21458         * modules/utimensat (Depends-on): Likewise.
21459         * modules/vasprintf (Depends-on): Likewise.
21460         * modules/vdprintf (Depends-on): Likewise.
21461         * modules/vdprintf-posix (Depends-on): Likewise.
21462         * modules/vfprintf-posix (Depends-on): Likewise.
21463         * modules/vprintf-posix (Depends-on): Likewise.
21464         * modules/vsnprintf (Depends-on): Likewise.
21465         * modules/vsnprintf-posix (Depends-on): Likewise.
21466         * modules/vsprintf-posix (Depends-on): Likewise.
21467         * modules/wcrtomb (Depends-on): Likewise.
21468         * modules/wcscasecmp (Depends-on): Likewise.
21469         * modules/wcscspn (Depends-on): Likewise.
21470         * modules/wcsdup (Depends-on): Likewise.
21471         * modules/wcsncasecmp (Depends-on): Likewise.
21472         * modules/wcsnrtombs (Depends-on): Likewise.
21473         * modules/wcspbrk (Depends-on): Likewise.
21474         * modules/wcsrtombs (Depends-on): Likewise.
21475         * modules/wcsspn (Depends-on): Likewise.
21476         * modules/wcsstr (Depends-on): Likewise.
21477         * modules/wcstok (Depends-on): Likewise.
21478         * modules/wcswidth (Depends-on): Likewise.
21479         * modules/wctob (Depends-on): Likewise.
21480         * modules/wctomb (Depends-on): Likewise.
21481         * modules/wctype (Depends-on): Likewise.
21482         * modules/wcwidth (Depends-on): Likewise.
21483         * modules/write (Depends-on): Likewise.
21484
21485 2011-05-03  Bruno Haible  <bruno@clisp.org>
21486
21487         Support for conditional dependencies.
21488         * doc/gnulib.texi (Module description): Document the syntax of
21489         conditional dependencies.
21490         * gnulib-tool: New option --conditional-dependencies.
21491         (func_usage): Document it.
21492         (cond_dependencies): New variable.
21493         (func_get_automake_snippet_conditional,
21494         func_get_automake_snippet_unconditional): New functions, extracted from
21495         func_get_automake_snippet.
21496         (func_get_automake_snippet): Use them.
21497         (sed_first_32_chars): New variable.
21498         (func_module_shellfunc_name): New function.
21499         (func_module_shellvar_name): New function.
21500         (func_module_conditional_name): New function.
21501         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
21502         func_cond_module_condition): New functions.
21503         (func_modules_transitive_closure): Add support for conditional
21504         dependencies.
21505         (func_emit_lib_Makefile_am): For a conditional module, enclose the
21506         conditional automake snippet in an automake conditional.
21507         (func_emit_autoconf_snippets): Emit shell functions that contain the
21508         code for conditional modules.
21509         (func_import, func_create_testdir): Update specification.
21510
21511 2011-05-03  Eric Blake  <eblake@redhat.com>
21512
21513         test-getaddrinfo: report error information
21514         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
21515
21516 2011-05-03  Jim Meyering  <meyering@redhat.com>
21517
21518         bootstrap: avoid build failure when $GZIP is set
21519         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
21520         program name.  If defined at all, it is supposed to list gzip options.
21521         Reported by Alan Curry in http://debbugs.gnu.org/8609
21522
21523 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
21524
21525         readme-release: new module with release instructions
21526         * modules/readme-release: New module.
21527         * top/README-release: New file, from coreutils, grep, diffutils.
21528         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21529
21530 2011-05-02  Eric Blake  <eblake@redhat.com>
21531
21532         fflush: also replace fclose when fixing fflush
21533         * modules/fflush (Depends-on): Add fclose.
21534         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
21535         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
21536         memstreams with no backing fd.
21537         * doc/posix-functions/fclose.texi (fclose): Document the use of
21538         fflush module to fix the bug.
21539         * tests/test-fclose.c (main): Relax test when fclose is used in
21540         isolation.
21541
21542         fclose: add some tests
21543         * modules/fclose-tests: New test module.
21544         * tests/test-fclose.c: New file.
21545         * doc/posix-functions/fclose.texi (fclose): Document the bug.
21546
21547         fclose: reduced dependencies
21548         * modules/fclose (Depends-on): Switch from fflush/fseeko to
21549         simpler lseek.
21550         * lib/fclose.c (rpl_fclose): Likewise.
21551         Reported by Simon Josefsson.
21552
21553         exit: drop remaining clients
21554         * modules/argmatch (Depends-on): Replace exit with stdlib.
21555         * modules/copy-file (Depends-on): Likewise.
21556         * modules/execute (Depends-on): Likewise.
21557         * modules/exitfail (Depends-on): Likewise.
21558         * modules/obstack (Depends-on): Likewise.
21559         * modules/pagealign_alloc (Depends-on): Likewise.
21560         * modules/pipe-filter-gi (Depends-on): Likewise.
21561         * modules/pipe-filter-ii (Depends-on): Likewise.
21562         * modules/savewd (Depends-on): Likewise.
21563         * modules/spawn-pipe (Depends-on): Likewise.
21564         * modules/wait-process (Depends-on): Likewise.
21565         * modules/xsetenv (Depends-on): Likewise.
21566         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
21567         * modules/git-merge-changelog (Depends-on): Likewise.
21568         * modules/long-options (Depends-on): Likewise.
21569         * modules/pt_chown (Depends-on): Likewise.
21570         * modules/sysexits (Depends-on): Likewise.
21571
21572         freading: relax license from LGPLv3+ to LGPLv2+
21573         * modules/freading (License): Relax LGPL version.
21574
21575 2011-05-02  Bruno Haible  <bruno@clisp.org>
21576
21577         fchdir: Remove unused dependencies.
21578         * modules/fchdir (Depends-on): Remove include_next.
21579
21580 2011-05-02  Bruno Haible  <bruno@clisp.org>
21581
21582         gnulib-tool: Refactor.
21583         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
21584         from func_emit_autoconf_snippets.
21585         (func_emit_autoconf_snippets): Use it.
21586
21587 2011-05-02  Simon Josefsson  <simon@josefsson.org>
21588
21589         * NEWS: Document removal of 'exit'.
21590         * modules/exit: Remove file.
21591
21592 2011-05-01  Bruno Haible  <bruno@clisp.org>
21593
21594         Update DEPENDENCIES.
21595         * DEPENDENCIES (gettext): Recommend the newest release.
21596         Reported by Simon Josefsson.
21597
21598 2011-05-01  Bruno Haible  <bruno@clisp.org>
21599
21600         gnulib-tool: Reduce code duplication.
21601         * gnulib-tool (func_emit_autoconf_snippets): New function.
21602         (func_import, func_create_testdir): Use it.
21603
21604 2011-04-30  Eric Blake  <eblake@redhat.com>
21605
21606         fclose: don't fail on non-seekable input stream
21607         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
21608         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
21609         since fflush is allowed to fail in that case.
21610
21611 2011-04-30  Bruno Haible  <bruno@clisp.org>
21612
21613         dup3: cleanup
21614         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
21615
21616 2011-04-30  Bruno Haible  <bruno@clisp.org>
21617
21618         netdb: Make it work in C++ mode.
21619         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
21620         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
21621         module.
21622         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
21623         gl_MODULE_INDICATOR_FOR_TESTS.
21624         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
21625         * modules/netdb-c++-tests: New file.
21626         * tests/test-netdb-c++.cc: New file.
21627
21628 2011-04-30  Bruno Haible  <bruno@clisp.org>
21629
21630         New modules 'vfscanf', 'vscanf'.
21631         * modules/vfscanf: New file.
21632         * modules/vscanf: New file.
21633         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
21634         here.
21635         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
21636         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
21637
21638 2011-04-30  Bruno Haible  <bruno@clisp.org>
21639
21640         passfd: Add comments.
21641         * lib/passfd.c: Add comments about platforms.
21642
21643 2011-04-30  Bruno Haible  <bruno@clisp.org>
21644
21645         sys_uio: Make <sys/uio.h> self-contained.
21646         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
21647         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
21648
21649 2011-04-30  Bruno Haible  <bruno@clisp.org>
21650
21651         sys_socket: Ensure 'struct iovec' definition.
21652         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
21653         <sys/socket.h>.
21654         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
21655
21656 2011-04-30  Bruno Haible  <bruno@clisp.org>
21657
21658         sys_uio: Protect definition of 'struct iovec'.
21659         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
21660         it as a C struct.
21661
21662 2011-04-30  Bruno Haible  <bruno@clisp.org>
21663
21664         manywarnings: fix indentation
21665         * m4/manywarnings.m4: Indent by 2 spaces consistently.
21666
21667 2011-04-30  Pádraig Brady <P@draigBrady.com>
21668
21669         manywarnings: add -Wno-missing-field-initializers if needed.
21670         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
21671         option if it's needed to allow initialization with { 0, }
21672
21673 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
21674
21675         announce-gen: cosmetic improvement
21676         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
21677
21678 2011-04-29  Jim Meyering  <meyering@redhat.com>
21679
21680         vc-list-files: indent with spaces, not TABs
21681         * build-aux/vc-list-files: Convert leading TABs to spaces,
21682         to match the style of most other files in gnulib.
21683
21684         announce-gen: indent with spaces, not TABs
21685         * build-aux/announce-gen: Convert all TABs to spaces, to match
21686         the style of most other files in gnulib.
21687
21688 2011-04-29  Eric Blake  <eblake@redhat.com>
21689
21690         quotearg: avoid uninitialized variable use
21691         * lib/quotearg.c (quoting_options_from_style): Initialize
21692         remaining fields, and ensure that custom styles are only used via
21693         quoting_options rather than quoting_style.
21694
21695 2011-04-29  Jim Meyering  <meyering@redhat.com>
21696
21697         maint.mk: remove unused VC-tag variable
21698         * top/maint.mk (VC-tag): Remove unused variable.
21699
21700 2011-04-29  Bruno Haible  <bruno@clisp.org>
21701
21702         netdb: fix gai_strerror replacements
21703         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
21704         * modules/netdb: Substitute it.
21705
21706 2011-04-29  Jim Meyering  <meyering@redhat.com>
21707
21708         test-getcwd.c: avoid new set-but-not-used warning
21709         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
21710         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
21711         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
21712         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
21713
21714         test-hash.c: avoid a new shadowing warning
21715         * tests/test-hash.c (main): Don't shadow "dup".
21716
21717 2011-04-28  Eric Blake  <eblake@redhat.com>
21718
21719         getaddrinfo: fix gai_strerror signature
21720         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
21721         and work around mingw with UNICODE defined.
21722         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
21723         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
21724         * modules/netdb (Makefile.am): Substitute it.
21725         * lib/netdb.in.h (gai_strerror): Declare replacement.
21726         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
21727         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
21728         the fix.
21729
21730         getsockopt: avoid compiler warning
21731         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
21732         Reported by Matthias Bolte.
21733
21734         tests: drop unused link dependency
21735         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
21736         * modules/dirent-safer-tests (Makefile.am): Likewise.
21737         * modules/fdopendir-tests (Makefile.am): Likewise.
21738         * modules/mkfifoat-tests (Makefile.am): Likewise.
21739         * modules/openat-safer-tests (Makefile.am): Likewise.
21740         * modules/openat-tests (Makefile.am): Likewise.
21741         * modules/readlinkat-tests (Makefile.am): Likewise.
21742         * modules/symlinkat-tests (Makefile.am): Likewise.
21743         * modules/linkat-tests (Makefile.am): Likewise.
21744         (Depends-on): Switch to filenamecat-lgpl.
21745         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
21746         LIBINTL.
21747         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
21748         * tests/test-linkat.c (main): Don't require xalloc.
21749
21750         hash, mgetgroups: drop xalloc dependency
21751         * lib/hash.c (includes): Adjust includes.
21752         * lib/mgetgroups.c (includes): Likewise.
21753         (xgetgroups): Move...
21754         * lib/xgetgroups.c: ...to new file.
21755         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
21756         * modules/xgetgroups: New file, split from...
21757         * modules/mgetgroups: ...here.
21758         (Depends-on): Add xalloc-oversized.
21759         * modules/hash (Depends-on): Likewise.
21760         * modules/hash-tests (Depends-on): Drop xalloc.
21761         (test_hash_LDADD): Drop unused library.
21762         * tests/test-hash.c (main): Break xalloc dependency.
21763         (includes): Drop unused include.
21764
21765         xalloc-oversized: new module
21766         * modules/xalloc-oversized: New module.
21767         * modules/xalloc (Depends-on): Add it.
21768         * lib/xalloc.h (xalloc_oversized): Move...
21769         * lib/xalloc-oversized.h: ...into new file.
21770
21771         utimecmp: drop dependency on xmalloc
21772         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
21773         due to memory pressure.
21774         * modules/utimecmp (Depends-on): Drop xalloc.
21775
21776 2011-04-27  Eric Blake  <eblake@redhat.com>
21777
21778         getcwd: fix mingw bugs
21779         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
21780         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
21781         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
21782
21783 2011-04-27  Bruno Haible  <bruno@clisp.org>
21784
21785         mkstemps: Ensure declaration on MacOS X 10.5.
21786         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
21787         * doc/glibc-functions/mkstemps.texi: Document header file problem on
21788         MacOS X.
21789
21790 2011-04-27  Bruno Haible  <bruno@clisp.org>
21791
21792         mkstemp: More documentation.
21793         * doc/posix-functions/mkstemp.texi: Document header file problem on
21794         MacOS X.
21795
21796 2011-04-27  Bruno Haible  <bruno@clisp.org>
21797
21798         mkstemp: Tweak configure message when cross-compiling.
21799         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
21800         result as a guess.
21801
21802 2011-04-27  Bruno Haible  <bruno@clisp.org>
21803
21804         clean-temp: Clarify what it does.
21805         * lib/clean-temp.h: Add more comments.
21806         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
21807         module.
21808         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
21809         * doc/glibc-functions/mkstemps.texi: Likewise.
21810         * doc/glibc-functions/mkostemps.texi: Likewise.
21811
21812 2011-04-27  Eric Blake  <eblake@redhat.com>
21813
21814         fchdir: avoid extra chdir and fix test
21815         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
21816         getcwd-lgpl.
21817         * lib/fchdir.c (get_name): Any absolute name will do; it does not
21818         have to be canonical.
21819         (canonicalize_file_name): Drop unused macro.
21820         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
21821
21822         filenamecat-lgpl: fix licence
21823         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
21824         when it was first created.
21825
21826         linkat, renameat: add missing dependency
21827         * modules/linkat (Depends-on): Require getcwd-lgpl.
21828         * modules/renameat (Depends-on): Likewise.
21829
21830         tests: reduce dependencies
21831         * tests/test-linkat.c (main): Use lighter-weight getcwd.
21832         * tests/test-renameat.c (main): Likewise.
21833         * modules/linkat-tests (Depends-on): Relax dependency.
21834         * modules/renameat-tests (Depends-on): Likewise.
21835         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
21836         dependency explicit.
21837
21838         save-cwd: reduce default dependency
21839         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
21840         * lib/save-cwd.c: Update comments.
21841         * NEWS: Document the semantic change.
21842
21843         getcwd: enhance tests
21844         * tests/test-getcwd-lgpl.c: New file, taken from...
21845         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
21846         repeat long path stress tests from m4 probe.
21847         * modules/getcwd-lgpl-tests: New module.
21848         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
21849         * m4/getcwd-abort-bug.m4: Update comment.
21850         * m4/getcwd-path-max.m4: Likewise.
21851
21852         getcwd-lgpl: new module
21853         * modules/getcwd-lgpl: New module.
21854         * lib/getcwd-lgpl.c: New file.
21855         * doc/posix-functions/getcwd.texi (getcwd): Document it.
21856         * MODULES.html.sh (lacking POSIX:2008): Likewise.
21857         * modules/getcwd (configure.ac): Set C witness.
21858         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
21859
21860         getcwd: tweak comments
21861         * m4/getcwd-abort-bug.m4: Fix comments.
21862         * m4/getcwd-path-max.m4: Likewise.
21863         * m4/getcwd.m4: Likewise.
21864
21865 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21866         and Eric Blake  <eblake@redhat.com>
21867
21868         mkstemp: replace if system version uses wrong permissions
21869         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
21870         read/write mode bits set in file created by mkstemp.
21871         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
21872
21873 2011-04-27  Eric Blake  <eblake@redhat.com>
21874
21875         passfd: avoid compiler warning
21876         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
21877         Reported by Laine Stump.
21878
21879 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
21880
21881         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
21882         required by the NetBSD (and perhaps other 4.4BSD derived) join.
21883
21884 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21885         and Eric Blake  <eblake@redhat.com>
21886
21887         mkstemp: mention clean-temp module
21888         * lib/mkstemp.c: Add comment.
21889         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
21890
21891 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
21892
21893         inttypes: also provide default values for 32-bit tests
21894         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
21895         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
21896
21897 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
21898
21899         strtoumax: remove dependency on strtoimax
21900         This is like the strtoull change of yesterday.
21901         * modules/strtoumax (Files): Add lib/strtoimax.c.
21902         (Depends-on): Remove strtoimax and add verify.
21903
21904         inttypes-incomplete: new module
21905         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
21906         all but the PRI* and SCN* parts of gl_INTTYPES_H.
21907         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
21908         of gl_INTTYPES_H.
21909         (gl_INTTYPES_H): Rewrite in terms of these new macros.
21910         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
21911         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
21912         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
21913         * modules/strtoumax, modules/xstrtol (Depends-on):
21914         Depend on inttypes-incomplete, not inttypes.
21915         * modules/inttypes-incomplete: New module, containing the contents
21916         of the old modules/inttypes module, except that the Files: section
21917         omits m4/inttypes-pri.m4, and the configure.ac section invokes
21918         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
21919         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
21920         (Depends-on): Depend only on inttypes-incomplete.
21921         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
21922
21923         inttypes: omit now-redundant strtoimax and strtoumax work
21924         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
21925         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
21926
21927         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
21928         This supports apps that need pointers to strtoimax and strtoumax,
21929         and ports to HP-UX 11.00 64.bit, which has macros that expand to
21930         nonexistent functions.  See
21931         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
21932         et seq.
21933         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
21934         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
21935         a macro.
21936         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21937
21938 2011-04-25  Simon Josefsson  <simon@josefsson.org>
21939
21940         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
21941
21942 2011-04-25  Bruno Haible  <bruno@clisp.org>
21943
21944         strtol, strtoul: Mark modules as obsolete.
21945         * modules/strtol (Status, Notice): New sections.
21946         * modules/strtoul (Status, Notice): New sections.
21947
21948 2011-04-25  Bruno Haible  <bruno@clisp.org>
21949
21950         strtod: Remove check for strtod, unless supporting old platforms.
21951         * modules/strtod-obsolete: New file.
21952         * m4/strtod-obsolete.m4: New file.
21953         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
21954         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
21955         * modules/strtod (Depends-on): Add strtod-obsolete.
21956         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
21957
21958 2011-04-25  Bruno Haible  <bruno@clisp.org>
21959
21960         strcase: Make module obsolete.
21961         * modules/strcase (Status, Notice): New sections.
21962
21963 2011-04-25  Bruno Haible  <bruno@clisp.org>
21964
21965         dup2: Remove check for dup2, unless supporting old obsolete platforms.
21966         * modules/dup2-obsolete: New file.
21967         * m4/dup2-obsolete.m4: New file.
21968         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
21969         gl_FUNC_DUP2_OBSOLETE is not also defined.
21970         * modules/dup2 (Depends-on): Add dup2-obsolete.
21971         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
21972
21973 2011-04-25  Bruno Haible  <bruno@clisp.org>
21974
21975         strnlen: Avoid memchr related link error on old obsolete platforms.
21976         * modules/memchr-obsolete: New file.
21977         * m4/memchr-obsolete.m4: New file.
21978         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
21979         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
21980         * modules/memchr (Depends-on): Add memchr-obsolete.
21981         * modules/strnlen (Depends-on): Likewise.
21982         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
21983
21984 2011-04-25  Jim Meyering  <meyering@redhat.com>
21985
21986         maint.mk: makefile_at_at_check extend and clean up
21987         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
21988         in addition to */Makefile.am.
21989         Exempt legitimate uses of @VAR@ notation, e.g.,
21990         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
21991         Remove obsolete coreutils-specific comment.
21992         Prompted by discussion here:
21993         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
21994
21995 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
21996
21997         strtoul: remove dependency on strtol
21998         This is so that 'configure' need not check for strtol merely because
21999         the application needs strtoul.
22000         * modules/strtoul (Files): Add lib/strtol.c.
22001         (Depends-on): Remove strtol.
22002
22003         strtoull: remove dependency on strtoul
22004         This is like the strtoll change.
22005         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
22006         (Depends-on): Remove strtoul.
22007
22008         strtoll: remove dependency on strtol
22009         This is so that 'configure' need not check for strtol merely because
22010         the application needs strtoll.
22011         * modules/strtoll (Files): Add lib/strtol.c.
22012         (Depends-on): Remove strtol.
22013
22014 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22015
22016         inttypes: Move some configure check to module 'imaxdiv'.
22017         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
22018         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
22019         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
22020
22021 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22022
22023         inttypes: Move some configure check to module 'imaxabs'.
22024         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
22025         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
22026         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
22027
22028 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22029
22030         inttypes: Remove configure tests that are not needed since 2009-12-31.
22031         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
22032         gl_cv_header_working_inttypes_h.
22033
22034 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22035
22036         * modules/strnlen (Depends-on): Remove memchr.
22037         The strnlen implementation doesn't need the memchr module's fixes; see
22038         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
22039
22040         strtol: remove dependency on wchar
22041         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
22042         * modules/strtol (Depends-on): Remove wchar.
22043
22044 2011-04-21  Eric Blake  <eblake@redhat.com>
22045
22046         passfd: fix test regression on Linux
22047         * modules/passfd-tests (configure.ac): Correct socketpair check.
22048
22049         passfd: speed up configure and drop unused code
22050         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
22051         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
22052         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
22053         Instead of probing at configure for unix_scm_rights_bsd44_way,
22054         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
22055         check to a struct member probe.
22056         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
22057         (sendfd, recvfd): Update preprocessor checks.
22058         * modules/passfd (Files): Reflect rename, and drop unused file.
22059         (Depends-on): Drop unused dependency.
22060
22061         passfd: allow compilation on mingw
22062         * modules/sys_socket (Depends-on): Add sys_uio.
22063         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
22064         iovec and a minimal struct msghdr.
22065         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
22066         * tests/test-sys_socket.c (main): Enhance test.
22067         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
22068         guaranteed to provide what we need.
22069         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
22070         * modules/passfd-tests (Depends-on): Add sys_wait.
22071         * tests/test-passfd.c (main): Skip test on mingw, for now.
22072         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
22073         partial 'struct msghdr' implementation.
22074
22075         sys_uio: new module
22076         * modules/sys_uio: New module.
22077         * modules/sys_uio-tests: Likewise.
22078         * lib/sys_uio.in.h: New file.
22079         * m4/sys_uio_h.m4: Likewise.
22080         * tests/test-sys_uio.c: Likewise.
22081         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
22082         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
22083
22084 2011-04-20  Jim Meyering  <meyering@redhat.com>
22085
22086         useless-if-before-free: avoid false-positive
22087         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
22088         disjunct so that it too requires a terminating ";".  Without that,
22089         this script would identify as useless one statement from gcc that
22090         was not:
22091           if (aligned_ptr)
22092             free (((void **) aligned_ptr) [-1]);
22093
22094 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
22095
22096         doc: update users.txt.
22097         * users.txt: Add barcode.
22098
22099 2011-04-19  Bruno Haible  <bruno@clisp.org>
22100
22101         ioctl: Remove link dependency on native Windows.
22102         * lib/fd-hook.h: Renamed from lib/close-hook.h.
22103         (gl_close_fn, gl_ioctl_fn): New types.
22104         (struct fd_hook): Renamed from struct close_hook. Change type of
22105         private_close_fn field. Add private_ioctl_fn field.
22106         (close_hook_fn): Add parameter for primary close method.
22107         (execute_close_hooks, execute_all_close_hooks): Likewise.
22108         (ioctl_hook_fn): New type.
22109         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
22110         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
22111         argument.
22112         (unregister_fd_hook): Renamed from unregister_close_hook.
22113         * lib/fd-hook.c: Renamed from lib/close-hook.c.
22114         Don't include <unistd.h>.
22115         (close): Remove undef.
22116         (anchor): Update.
22117         (execute_close_hooks): Add argument for primary close method.
22118         (execute_all_close_hooks): Likewise.
22119         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
22120         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
22121         argument. Allow each argument to be NULL.
22122         (unregister_fd_hook): Renamed from unregister_close_hook.
22123         * lib/close.c (rpl_close): Pass 'close' function pointer to
22124         execute_all_close_hooks.
22125         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
22126         (primary_ioctl): New function.
22127         (ioctl): Don't call ioctlsocket here. Instead, call
22128         execute_all_ioctl_hooks.
22129         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
22130         close method.
22131         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
22132         (fd_sockets_hook): Renamed from close_sockets_hook.
22133         (gl_sockets_startup, gl_sockets_cleanup): Update.
22134         * modules/fd-hook: Renamed from modules/close-hook. Update.
22135         * modules/close (Depends-on): Add fd-hook, remove close-hook.
22136         * modules/sockets (Depends-on): Likewise.
22137         * modules/ioctl (Depends-on): Add fd-hook.
22138         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
22139         GNULIB_SOCKET.
22140
22141 2011-04-19  Bruno Haible  <bruno@clisp.org>
22142
22143         Move the support of O_NONBLOCK in open() to the 'open' module.
22144         * modules/nonblocking (Depends-on): Remove 'open'.
22145         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
22146         gl_cv_have_open_O_NONBLOCK.
22147         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
22148         O_NONBLOCK support.
22149         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
22150
22151 2011-04-17  Bruno Haible  <bruno@clisp.org>
22152
22153         pipe2: Simplify code.
22154         * lib/pipe2.c (pipe2): Reduce code duplication.
22155
22156 2011-04-17  Bruno Haible  <bruno@clisp.org>
22157
22158         nonblocking: Add comment.
22159         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
22160
22161 2011-04-17  Bruno Haible  <bruno@clisp.org>
22162
22163         nonblocking: Add tests for sockets.
22164         * tests/test-nonblocking-socket.sh: New file.
22165         * tests/test-nonblocking-socket-main.c: New file.
22166         * tests/test-nonblocking-socket-child.c: New file.
22167         * tests/test-nonblocking-socket.h: New file.
22168         * tests/socket-server.h: New file.
22169         * tests/socket-client.h: New file.
22170         * modules/nonblocking-socket-tests: New file.
22171         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
22172
22173 2011-04-17  Bruno Haible  <bruno@clisp.org>
22174
22175         nonblocking: Add tests for pipes.
22176         * tests/test-nonblocking-pipe.sh: New file.
22177         * tests/test-nonblocking-pipe-main.c: New file.
22178         * tests/test-nonblocking-pipe-child.c: New file.
22179         * tests/test-nonblocking-pipe.h: New file.
22180         * tests/test-nonblocking-writer.h: New file.
22181         * tests/test-nonblocking-reader.h: New file.
22182         * tests/test-nonblocking-misc.h: New file.
22183         * modules/nonblocking-pipe-tests: New file.
22184         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
22185
22186 2011-04-16  Bruno Haible  <bruno@clisp.org>
22187
22188         gettext: Clarify the needed programmer actions.
22189         * modules/gettext (Notice): New field.
22190         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
22191
22192 2011-04-16  Bruno Haible  <bruno@clisp.org>
22193
22194         strchrnul: Tweak last commit.
22195         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
22196         bug.
22197         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
22198         as in _GL_FUNCDECL_SYS.
22199         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
22200         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
22201
22202 2011-04-15  Eric Blake  <eblake@redhat.com>
22203
22204         strchrnul: work around cygwin bug
22205         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
22206         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
22207         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
22208         * modules/string (Makefile.am): Substitute it.
22209         * lib/string.in.h (strchrnul): Use it.
22210
22211 2011-04-15  Bruno Haible  <bruno@clisp.org>
22212
22213         Don't require lib/stdio-write.c when only module 'stdio' is used.
22214         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
22215         invocation.
22216         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
22217
22218 2011-04-14  Bruno Haible  <bruno@clisp.org>
22219
22220         Support non-blocking pipe I/O in read() on native Windows.
22221         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
22222         (read): New declaration.
22223         * lib/read.c: New file.
22224         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
22225         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
22226         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
22227         vscanf): New declarations.
22228         * lib/stdio-read.c: New file.
22229         * m4/read.m4: New file.
22230         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
22231         REPLACE_READ.
22232         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
22233         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22234         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
22235         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
22236         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
22237         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22238         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
22239         * modules/read: New file.
22240         * modules/nonblocking (Files): Add lib/stdio-read.c.
22241         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
22242         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
22243         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22244         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
22245         * modules/pread (Depends-on): Add read.
22246         * modules/safe-read (Depends-on): Likewise.
22247         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
22248         gets, scanf, vfscanf, vscanf): Verify signatures.
22249         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
22250         problem with non-blocking pipes.
22251         * doc/posix-functions/fgetc.texi: Likewise.
22252         * doc/posix-functions/fgets.texi: Likewise.
22253         * doc/posix-functions/fread.texi: Likewise.
22254         * doc/posix-functions/fscanf.texi: Likewise.
22255         * doc/posix-functions/getc.texi: Likewise.
22256         * doc/posix-functions/getchar.texi: Likewise.
22257         * doc/posix-functions/gets.texi: Likewise.
22258         * doc/posix-functions/scanf.texi: Likewise.
22259         * doc/posix-functions/vfscanf.texi: Likewise.
22260         * doc/posix-functions/vscanf.texi: Likewise.
22261
22262 2011-04-14  Bruno Haible  <bruno@clisp.org>
22263
22264         Support non-blocking pipe I/O in write() on native Windows.
22265         * lib/write.c (rpl_write): Split a write request that failed merely
22266         because the byte count was larger than the pipe buffer's size.
22267         * doc/posix-functions/write.texi: Mention the problem with large byte
22268         counts.
22269
22270 2011-04-14  Bruno Haible  <bruno@clisp.org>
22271
22272         wchar: Ensure that wchar_t gets defined on uClibc.
22273         * lib/wchar.in.h: On uClibc, include <stddef.h>.
22274         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
22275
22276 2011-04-13  Bruno Haible  <bruno@clisp.org>
22277
22278         safe-write, full-read: Avoid unnecessary compilation units.
22279         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
22280         (Depends-on): Remove safe-read. Add ssize_t.
22281         * modules/full-read (Files): Add lib/full-write.c.
22282         (Depends-on): Add full-write.
22283
22284 2011-04-13  Bruno Haible  <bruno@clisp.org>
22285
22286         Support non-blocking pipe I/O and SIGPIPE in pwrite().
22287         * modules/pwrite (Depends-on): Add 'write'.
22288
22289 2011-04-13  Bruno Haible  <bruno@clisp.org>
22290
22291         Support non-blocking pipe I/O in write() on native Windows.
22292         * lib/unistd.in.h (write): Enable replacement also if
22293         GNULIB_UNISTD_H_NONBLOCKING is 1.
22294         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
22295         (rpl_write): When failing to write on a non-blocking pipe, change
22296         errno from ENOSPC to EAGAIN.
22297         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
22298         putchar, puts, vfprintf, vprintf): Enable replacement also if
22299         GNULIB_STDIO_H_NONBLOCKING is 1.
22300         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
22301         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
22302         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
22303         CALL_WITH_SIGPIPE_EMULATION.
22304         (CALL_WITH_SIGPIPE_EMULATION): Use them.
22305         * m4/nonblocking.m4: New file.
22306         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
22307         for non-blocking I/O support.
22308         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22309         GNULIB_UNISTD_H_NONBLOCKING.
22310         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
22311         required for non-blocking I/O support.
22312         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
22313         * modules/nonblocking (Files): Add m4/nonblocking.m4,
22314         lib/stdio-write.c, m4/asm-underscore.m4.
22315         (Depends-on): Add stdio, unistd.
22316         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
22317         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
22318         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
22319         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
22320         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
22321         problem with non-blocking pipes.
22322         * doc/posix-functions/fputc.texi: Likewise.
22323         * doc/posix-functions/fputs.texi: Likewise.
22324         * doc/posix-functions/fwrite.texi: Likewise.
22325         * doc/posix-functions/printf.texi: Likewise.
22326         * doc/posix-functions/putc.texi: Likewise.
22327         * doc/posix-functions/putchar.texi: Likewise.
22328         * doc/posix-functions/puts.texi: Likewise.
22329         * doc/posix-functions/vfprintf.texi: Likewise.
22330         * doc/posix-functions/vprintf.texi: Likewise.
22331         * doc/posix-functions/write.texi: Likewise.
22332
22333 2011-04-10  Jim Meyering  <meyering@redhat.com>
22334
22335         maint.mk: prohibit doubled words
22336         Detect them also when they're separated by a newline.
22337         There are 3 ways to customize it:
22338           - disable the test on a per file basis, as usual with rules using
22339             $(VC_LIST_EXCEPT)
22340           - replace the default doubled-word-selecting regexp (affects all files)
22341           - ignore a particular file-vs-doubled-word match
22342         I nearly used that last one to ignore the "is is" match in
22343         coreutils' NEWS file, since the text was "ls -is is ..."
22344         To do that, I would have added this line to cfg.mk:
22345           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
22346         but it would have ignored any "is is" match in NEWS.
22347         Low probability, but still...
22348         Instead, I changed the text, slightly:
22349           -  ls -is is now consistent with ls -lis in ignoring values returned
22350           +  "ls -is" is now consistent with ls -lis in ignoring values returned
22351         * top/maint.mk (prohibit_double_word_RE_): Provide default.
22352         (prohibit_doubled_word_): Define.
22353         (sc_prohibit_doubled_word): New rule.
22354         (sc_prohibit_the_the): Remove.  Subsumed by the above.
22355
22356 2011-04-10  Jim Meyering  <meyering@redhat.com>
22357
22358         maint: fix doubled-word typo in comment
22359         * m4/gethostname.m4: s/is is/it is/
22360         * m4/getdomainname.m4: Likewise.
22361
22362 2011-04-10  Jim Meyering  <meyering@redhat.com>
22363
22364         maint: remove doubled word: s/it it/it/
22365         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
22366
22367 2011-04-10  Jim Meyering  <meyering@redhat.com>
22368
22369         maint.mk: remove useless semicolon and backslash
22370         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
22371         semicolon and backslash.
22372
22373 2011-04-10  Bruno Haible  <bruno@clisp.org>
22374
22375         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
22376         * modules/stdint-tests (Depends-on): Add wchar.
22377
22378 2011-04-10  Jim Meyering  <meyering@redhat.com>
22379
22380         maint: remove doubled words in comments, e.g., s/a a/a/
22381         * lib/strptime.c (day_of_the_week): s/the the/the/
22382         * tests/test-chown.h (test_chown): s/a a/a/
22383
22384         test-chown.h: correct a cast
22385         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
22386         when the destination is a stat.st_gid.
22387
22388 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
22389
22390         getaddrinfo: Fix test for sa_len member.
22391         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
22392         include <sys/types.h> before <sys/socket.h>.
22393
22394 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
22395
22396         maint: change "can not" to "cannot"
22397         * doc/posix-functions/iconv.texi (iconv): This one crossed line
22398         boundaries.
22399
22400 2011-04-09  Jim Meyering  <meyering@redhat.com>
22401
22402         maint: change "a a" to "a"
22403         * tests/test-lchown.h (test_lchown): s/a a/a/
22404
22405         maint.mk: prohibit \<the the\>
22406         * top/maint.mk (sc_prohibit_the_the): New rule.
22407
22408         maint: fix "the the" in comment
22409         * lib/count-one-bits.h: s/the the/the/
22410
22411         maint: change "can not" to "cannot"
22412         But do not change the occurrences in maintain.texi or in
22413         build-aux/po/Makefile.in.in, which I presume comes from gettext.
22414         * doc/gnulib-tool.texi: s/can not/cannot/
22415         * doc/posix-functions/accept.texi (accept): Likewise.
22416         * doc/posix-functions/socket.texi (socket): Likewise.
22417         * lib/mbrtowc.c: Likewise.
22418
22419         maint.mk: prohibit use of "can not"
22420         * top/maint.mk (sc_prohibit_can_not): New rule.
22421         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
22422
22423 2011-04-09  Bruno Haible  <bruno@clisp.org>
22424
22425         careadlinkat: Guard against misuse of careadlinkatcwd.
22426         * lib/careadlinkat.c: Include <stdlib.h>.
22427         (careadlinkatcwd): Check that the fd argument is as expected.
22428
22429 2011-04-09  Bruno Haible  <bruno@clisp.org>
22430
22431         careadlinkat: Use common coding style.
22432         * lib/careadlinkat.c: Move gnulib includes after system includes.
22433
22434 2011-04-09  Bruno Haible  <bruno@clisp.org>
22435
22436         careadlinkat: Clarify specification.
22437         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
22438         (careadlinkatcwd): Add comment.
22439         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
22440
22441 2011-04-09  Bruno Haible  <bruno@clisp.org>
22442
22443         areadlinkat: Avoid link error on many platforms.
22444         * modules/areadlinkat (Depends-on): Add areadlink.
22445
22446 2011-04-09  Bruno Haible  <bruno@clisp.org>
22447
22448         allocator, careadlinkat: Fix double-inclusion guard.
22449         * lib/allocator.h: Fix double-inclusion guard.
22450         * lib/careadlinkat.h: Likewise.
22451
22452 2011-04-09  Bruno Haible  <bruno@clisp.org>
22453
22454         relocatable-prog-wrapper: Update after module 'areadlink' changed.
22455         * lib/relocwrapper.c: Update dependencies hierarchy.
22456         * build-aux/install-reloc: Update list of files to be compiled.
22457         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
22458         lib/allocator.[hc].
22459
22460 2011-04-08  Eric Blake  <eblake@redhat.com>
22461
22462         strftime: silence gnulib-tool warning
22463         * modules/strftime-tests (Depends-on): Drop automatic dependency.
22464
22465 2011-04-08  Bruno Haible  <bruno@clisp.org>
22466
22467         verify: Fix syntax error with GCC 4.6 in C++ mode.
22468         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
22469         (HAVE_STATIC_ASSERT): New macro.
22470         (verify_true, verify): Use 'static_assert' if it is supported and
22471         '_Static_assert' is not supported.
22472
22473 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22474
22475         allocator: New module.
22476         * modules/allocator, lib/allocator.c: New files.
22477         * lib/allocator.h (stdlib_allocator): New decl.
22478         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
22479         Remove.  Do not include <stdlib.h>.
22480         (careadlinkat): Use stdlib_allocator instead of rolling our own.
22481         * modules/careadlinkat (Files): Remove lib/allocator.h.
22482         (Depends-on): Add allocator.
22483
22484         stdlib: let modules use system malloc, realloc
22485         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
22486         if !_GL_USE_STDLIB_ALLOC.
22487         (malloc, realloc): Limit this change to a smaller scope.
22488
22489         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
22490         (malloc, realloc): Don't #undef; no longer needed.
22491         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22492         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22493         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22494         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22495         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22496         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22497         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22498         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22499
22500         careadlinkat: rename members to avoid problem
22501         * lib/allocator.h (struct allocator): Rename members from
22502         malloc/realloc to allocate/reallocate, to avoid problems if malloc
22503         and realloc are #define'd.  Reported by Eric Blake in
22504         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
22505         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
22506
22507 2011-04-08  Eric Blake  <eblake@redhat.com>
22508
22509         nonblocking: reduce dependency
22510         * tests/test-nonblocking.c: Only test sockets when in use.
22511         * modules/nonblocking-tests (Depends-on): Drop socket.
22512         (Makefile.am): Link even if sockets are not present.
22513         * modules/pipe2-tests (Makefile.am): Likewise.
22514         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
22515
22516         pipe2: fix O_NONBLOCK support on mingw
22517         * modules/pipe2 (Depends-on): Add nonblocking.
22518         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
22519         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
22520         * tests/test-nonblocking.c (main): Likewise.
22521         * modules/pipe2-tests (Makefile.am): Avoid link failure.
22522
22523         fcntl-h: fix O_ACCMODE on cygwin
22524         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
22525         * lib/fcntl.in.h (O_ACCMODE): Fix it.
22526
22527         pipe-filter: drop O_NONBLOCK workarounds
22528         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
22529         * modules/pipe-filter-ii (Depends-on): Likewise.
22530         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
22531
22532         nonblocking: provide O_NONBLOCK for mingw
22533         * modules/nonblocking (Depends-on): Add open.
22534         (configure.ac): Set new witness macro.
22535         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
22536         * modules/fcntl-h (Makefile.am): Substitute it.
22537         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
22538         nonblocking module is in use.
22539         * lib/nonblocking.c: Adjust portability test.
22540         * lib/open.c (open): Don't let native open see gnulib flag.
22541         * tests/test-fcntl-h.c (main): Enhance test.
22542         * tests/test-open.h (test_open): Likewise.
22543         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
22544
22545         careadlinkat: fix compilation error on mingw
22546         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
22547         within struct allocator.
22548
22549 2011-04-06  Eric Blake  <eblake@redhat.com>
22550
22551         binary-io: relicense under LGPLv2+
22552         * modules/binary-io (License): Relax to LGPLv2+.
22553         Requested for libvirt, and required by pipe2.
22554
22555 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
22556
22557         verify: use _Static_assert if available
22558         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
22559         (verify_true, verify): Use it if available.  This generates better
22560         diagnostics with GCC 4.6.0 and later.
22561
22562 2011-04-05  Bruno Haible  <bruno@clisp.org>
22563
22564         Remove leftover generated .h files after config.status changed.
22565
22566         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
22567         GL_GENERATE_ALLOCA_H.
22568         * modules/alloca-opt (Makefile.am): Remove alloca.h if
22569         GL_GENERATE_ALLOCA_H evaluates to false.
22570
22571         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
22572         GL_GENERATE_ARGZ_H.
22573         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
22574         evaluates to false.
22575
22576         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
22577         GL_GENERATE_BYTESWAP_H.
22578         * modules/byteswap (Makefile.am): Remove byteswap.h if
22579         GL_GENERATE_BYTESWAP_H evaluates to false.
22580
22581         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
22582         GL_GENERATE_ERRNO_H.
22583         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
22584         evaluates to false.
22585
22586         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
22587         GL_GENERATE_FLOAT_H.
22588         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
22589         evaluates to false.
22590
22591         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
22592         GL_GENERATE_FNMATCH_H.
22593         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
22594         GL_GENERATE_FNMATCH_H evaluates to false.
22595
22596         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
22597         GL_GENERATE_GLOB_H.
22598         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
22599         evaluates to false.
22600
22601         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
22602         automake conditional GL_GENERATE_ICONV_H.
22603         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
22604         evaluates to false.
22605
22606         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
22607         GL_GENERATE_NETINET_IN_H.
22608         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
22609         GL_GENERATE_NETINET_IN_H evaluates to false.
22610
22611         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
22612         conditional GL_GENERATE_PTHREAD_H.
22613         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
22614         * modules/pthread (Makefile.am): Remove pthread.h if
22615         GL_GENERATE_PTHREAD_H evaluates to false.
22616
22617         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
22618         GL_GENERATE_SCHED_H.
22619         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
22620         evaluates to false.
22621
22622         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
22623         conditional GL_GENERATE_SELINUX_CONTEXT_H.
22624         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
22625         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
22626
22627         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
22628         GL_GENERATE_STDARG_H.
22629         * modules/stdarg (Makefile.am): Remove stdarg.h if
22630         GL_GENERATE_STDARG_H evaluates to false.
22631
22632         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
22633         GL_GENERATE_STDBOOL_H.
22634         * modules/stdbool (Makefile.am): Remove stdbool.h if
22635         GL_GENERATE_STDBOOL_H evaluates to false.
22636
22637         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
22638         conditional GL_GENERATE_STDDEF_H.
22639         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
22640         * modules/stddef (Makefile.am): Remove stddef.h if
22641         GL_GENERATE_STDDEF_H evaluates to false.
22642
22643         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
22644         GL_GENERATE_STDINT_H.
22645         * modules/stdint (Makefile.am): Remove stdint.h if
22646         GL_GENERATE_STDINT_H evaluates to false.
22647
22648         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
22649         GL_GENERATE_SYSEXITS_H.
22650         * modules/sysexits (Makefile.am): Remove sysexits.h if
22651         GL_GENERATE_SYSEXITS_H evaluates to false.
22652
22653         Reported by Karl Berry and Ralf Wildenhues.
22654
22655 2011-04-05  Bruno Haible  <bruno@clisp.org>
22656
22657         Ensure to rebuild generated .h files when config.status has changed.
22658         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
22659         config.status.
22660         * modules/ctype (Makefile.am): Likewise.
22661         * modules/dirent (Makefile.am): Likewise.
22662         * modules/errno (Makefile.am): Likewise.
22663         * modules/fcntl-h (Makefile.am): Likewise.
22664         * modules/float (Makefile.am): Likewise.
22665         * modules/getopt-posix (Makefile.am): Likewise.
22666         * modules/glob (Makefile.am): Likewise.
22667         * modules/iconv-h (Makefile.am): Likewise.
22668         * modules/inttypes (Makefile.am): Likewise.
22669         * modules/langinfo (Makefile.am): Likewise.
22670         * modules/locale (Makefile.am): Likewise.
22671         * modules/math (Makefile.am): Likewise.
22672         * modules/netdb (Makefile.am): Likewise.
22673         * modules/netinet_in (Makefile.am): Likewise.
22674         * modules/poll-h (Makefile.am): Likewise.
22675         * modules/pthread (Makefile.am): Likewise.
22676         * modules/pty (Makefile.am): Likewise.
22677         * modules/sched (Makefile.am): Likewise.
22678         * modules/search (Makefile.am): Likewise.
22679         * modules/selinux-h (Makefile.am): Likewise.
22680         * modules/signal (Makefile.am): Likewise.
22681         * modules/spawn (Makefile.am): Likewise.
22682         * modules/stdarg (Makefile.am): Likewise.
22683         * modules/stdbool (Makefile.am): Likewise.
22684         * modules/stddef (Makefile.am): Likewise.
22685         * modules/stdint (Makefile.am): Likewise.
22686         * modules/stdio (Makefile.am): Likewise.
22687         * modules/stdlib (Makefile.am): Likewise.
22688         * modules/string (Makefile.am): Likewise.
22689         * modules/strings (Makefile.am): Likewise.
22690         * modules/sys_file (Makefile.am): Likewise.
22691         * modules/sys_ioctl (Makefile.am): Likewise.
22692         * modules/sys_select (Makefile.am): Likewise.
22693         * modules/sys_socket (Makefile.am): Likewise.
22694         * modules/sys_stat (Makefile.am): Likewise.
22695         * modules/sys_time (Makefile.am): Likewise.
22696         * modules/sys_times (Makefile.am): Likewise.
22697         * modules/sys_utsname (Makefile.am): Likewise.
22698         * modules/sys_wait (Makefile.am): Likewise.
22699         * modules/sysexits (Makefile.am): Likewise.
22700         * modules/termios (Makefile.am): Likewise.
22701         * modules/time (Makefile.am): Likewise.
22702         * modules/unistd (Makefile.am): Likewise.
22703         * modules/wchar (Makefile.am): Likewise.
22704         * modules/wctype-h (Makefile.am): Likewise.
22705         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
22706
22707 2011-04-05  Bruno Haible  <bruno@clisp.org>
22708
22709         pipe2: Relicense under LGPLv2+.
22710         * modules/pipe2 (License): Change to LGPLv2+.
22711         Requested by Eric Blake, for libvirt.
22712
22713 2011-04-05  Bruce Korb  <bkorb@gnu.org>
22714
22715         bootstrap: compute gnulib_extra_files after updating build_aux
22716         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
22717         change build_aux or also supply gnulib_extra_files.  Handle correctly.
22718
22719 2011-04-05  Eric Blake  <eblake@redhat.com>
22720
22721         bootstrap: preserve git whitelist item sorting
22722         * build-aux/bootstrap (sort_patterns): New function.
22723         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
22724
22725 2011-04-05  Simon Josefsson  <simon@josefsson.org>
22726
22727         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
22728         sc_space_tab check.
22729
22730 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
22731
22732         areadlink, areadlinkat: rewrite in terms of careadlinkat
22733         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
22734         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
22735         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
22736         (malloc, realloc): Remove #undefs.
22737         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
22738         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
22739         readlink, ssize_t, stdint, unistd.
22740         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
22741         areadlink, stdint.
22742
22743         careadlinkat: new module
22744         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
22745         * modules/careadlinkat: New files, written by me with
22746         a review and feedback from Ben Pfaff in
22747         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
22748
22749 2011-04-01  Bruno Haible  <bruno@clisp.org>
22750
22751         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
22752         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
22753         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
22754         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
22755         Reported by Bruce Korb <bruce.korb@gmail.com>.
22756
22757 2011-04-01  Bruno Haible  <bruno@clisp.org>
22758
22759         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
22760         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
22761         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
22762         * modules/wcpcpy (Depends-on): Add extensions.
22763         * modules/wcpncpy (Depends-on): Likewise.
22764         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
22765         systems.
22766         * doc/posix-functions/wcpncpy.texi: Likewise.
22767         * doc/posix-functions/wcwidth.texi: Likewise.
22768
22769 2011-03-31  Eric Blake  <eblake@redhat.com>
22770
22771         nonblocking: fix mingw test failures
22772         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
22773         non-blocking flag on regular file.
22774         (get_nonblocking_flag): Set errno on invalid fd.
22775         * tests/test-nonblocking.c (main): Avoid test failure on
22776         directories if fchdir is not active.
22777         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
22778
22779 2011-03-31  Bruno Haible  <bruno@clisp.org>
22780
22781         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
22782         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
22783         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
22784         Reported by Simon Josefsson <simon@josefsson.org>.
22785
22786 2011-03-31  Bruno Haible  <bruno@clisp.org>
22787         and Eric Blake  <eblake@redhat.com>
22788
22789         nonblocking: new module
22790         * modules/nonblocking: New module.
22791         * modules/nonblocking-tests: Likewise.
22792         * lib/nonblocking.h: New file.
22793         * lib/nonblocking.c: Likewise.
22794         * tests/test-nonblocking.c: New test.
22795         * lib/ioctl.c (ioctl) [mingw]: Update comment.
22796
22797 2011-03-30  Bruno Haible  <bruno@clisp.org>
22798
22799         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
22800         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
22801         instead of 'printf' format for GCC >= 4.4.
22802         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
22803         (fprintf, printf, vfprintf, vprintf): Declare with
22804         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
22805         the system's vfprintf() function.
22806         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
22807
22808 2011-03-30  Eric Blake  <eblake@redhat.com>
22809
22810         passfd: fix scoping bug
22811         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
22812         before sendmsg/recvmsg.
22813
22814         passfd: standardize coding conventions
22815         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
22816         can be learned at compile time.
22817         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
22818         ifdefs.
22819         (sendfd, recvfd): Follow gnulib code conventions.
22820
22821         passfd: fix incorrect sendmsg arguments
22822         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
22823         incorrect msg_controllen value.
22824         * modules/passfd-tests (Depends-on): Check for alarm.
22825         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
22826         Reported by Bastien ROUCARIES.
22827
22828 2011-03-30  Bruno Haible  <bruno@clisp.org>
22829
22830         c-strcasestr: Relicense under LGPLv2+.
22831         * modules/c-strcasestr (License): Change to LGPLv2+.
22832         Requested by Eric Blake, for libvirt.
22833
22834 2011-03-30  Simon Josefsson  <simon@josefsson.org>
22835
22836         * users.txt: Add libidn2.  Fix libtasn1 link.
22837
22838 2011-03-30  Jim Meyering  <meyering@redhat.com>
22839
22840         tests: readlink* ("",... fails with EINVAL on newer kernels
22841         readlink and readlinkat have typically failed with ENOENT for
22842         the invalid, empty file name,  "".  However, with the advent
22843         of linux-2.6.39, they fail with EINVAL.
22844         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
22845         when operating on the empty file name.
22846         * tests/test-readlink.h (test_readlink): Likewise.
22847
22848 2011-03-29  Bruno Haible  <bruno@clisp.org>
22849
22850         Relicense some modules under LGPLv2+, for libidn2.
22851         * modules/array-mergesort (License): Change to LGPLv2+.
22852         * modules/c-strcaseeq (License): Likewise.
22853         * modules/striconveh (License): Likewise.
22854         * modules/striconveha (License): Likewise.
22855         * modules/uniconv/base (License): Likewise.
22856         * modules/uniconv/u8-conv-from-enc (License): Likewise.
22857         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
22858         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
22859         * modules/unictype/base (License): Likewise.
22860         * modules/unictype/bidiclass-of (License): Likewise.
22861         * modules/unictype/category-M (License): Likewise.
22862         * modules/unictype/category-none (License): Likewise.
22863         * modules/unictype/category-of (License): Likewise.
22864         * modules/unictype/category-test (License): Likewise.
22865         * modules/unictype/category-test-withtable (License): Likewise.
22866         * modules/unictype/combining-class (License): Likewise.
22867         * modules/unictype/joiningtype-of (License): Likewise.
22868         * modules/unictype/scripts (License): Likewise.
22869         * modules/uninorm/base (License): Likewise.
22870         * modules/uninorm/canonical-decomposition (License): Likewise.
22871         * modules/uninorm/composition (License): Likewise.
22872         * modules/uninorm/decompose-internal (License): Likewise.
22873         * modules/uninorm/decomposition-table (License): Likewise.
22874         * modules/uninorm/nfc (License): Likewise.
22875         * modules/uninorm/nfd (License): Likewise.
22876         * modules/uninorm/u32-normalize (License): Likewise.
22877         * modules/unistr/base (License): Likewise.
22878         * modules/unistr/u32-cpy (License): Likewise.
22879         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
22880         * modules/unistr/u32-to-u8 (License): Likewise.
22881         * modules/unistr/u32-uctomb (License): Likewise.
22882         * modules/unistr/u8-check (License): Likewise.
22883         * modules/unistr/u8-mblen (License): Likewise.
22884         * modules/unistr/u8-mbtouc (License): Likewise.
22885         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
22886         * modules/unistr/u8-mbtoucr (License): Likewise.
22887         * modules/unistr/u8-prev (License): Likewise.
22888         * modules/unistr/u8-strlen (License): Likewise.
22889         * modules/unistr/u8-to-u32 (License): Likewise.
22890         * modules/unistr/u8-uctomb (License): Likewise.
22891         * modules/unitypes (License): Likewise.
22892         Requested by Simon Josefsson.
22893
22894 2011-03-29  Simon Josefsson  <simon@josefsson.org>
22895
22896         lib-symbol-visibility: Add a notice.
22897         * modules/lib-symbol-visibility (Notice): New field.
22898
22899 2011-03-29  Bruno Haible  <bruno@clisp.org>
22900
22901         getaddrinfo: Doc fix.
22902         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
22903         section "fixed in Gnulib".
22904
22905 2011-03-28  Simon Josefsson  <simon@josefsson.org>
22906
22907         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
22908         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
22909
22910 2011-03-26  Bruno Haible  <bruno@clisp.org>
22911
22912         unictype/property-byname: Reduce the number of load-time relocations.
22913         * lib/unictype/pr_byname.c: Include <stdlib.h>.
22914         (UC_PROPERTY_INDEX_*): New enumeration values.
22915         (uc_property_byname): Convert an index from the lookup table to an
22916         uc_property_t.
22917         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
22918         values.
22919
22920 2011-03-26  Bruno Haible  <bruno@clisp.org>
22921
22922         unictype/property-byname: Allow omitted word separators and aliases.
22923         * lib/unictype/pr_byname.gperf: Add property names without word
22924         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
22925         for 'space'.
22926
22927 2011-03-26  Bruno Haible  <bruno@clisp.org>
22928
22929         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
22930         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
22931         also hyphens to space.
22932         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
22933         without spaces.
22934         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
22935
22936 2011-03-26  Bruno Haible  <bruno@clisp.org>
22937
22938         unictype/joiningtype-byname: Recognize long names as well.
22939         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
22940         a long name.
22941         * lib/unictype/joiningtype_byname.c: Include <string.h>,
22942         unictype/joiningtype_byname.h.
22943         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
22944         * lib/unictype/joiningtype_byname.gperf: New file.
22945         * modules/unictype/joiningtype-byname (Files): Add
22946         lib/unictype/joiningtype_byname.gperf.
22947         (Depends-on): Add gperf.
22948         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
22949         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
22950         long names.
22951
22952         Tests for module 'unictype/joiningtype-longname'.
22953         * modules/unictype/joiningtype-longname-tests: New file.
22954         * tests/unictype/test-joiningtype_longname.c: New file.
22955
22956         New module 'unictype/joiningtype-longname'.
22957         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
22958         * lib/unictype/joiningtype_longname.c: New file.
22959         * modules/unictype/joiningtype-longname: New file.
22960         * modules/unictype/joiningtype-all (Depends-on): Add
22961         unictype/joiningtype-longname.
22962
22963 2011-03-26  Bruno Haible  <bruno@clisp.org>
22964
22965         unictype/bidiclass-byname: Recognize long names as well.
22966         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
22967         name.
22968         * lib/unictype/bidi_byname.c: Include <string.h>,
22969         unictype/bidi_byname.h.
22970         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
22971         * lib/unictype/bidi_byname.gperf: New file.
22972         * modules/unictype/bidiclass-byname (Files): Add
22973         lib/unictype/bidi_byname.gperf.
22974         (Depends-on): Add gperf.
22975         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
22976         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
22977         long names.
22978
22979         Tests for module 'unictype/bidiclass-longname'.
22980         * modules/unictype/bidiclass-longname-tests: New file.
22981         * tests/unictype/test-bidi_longname.c: New file.
22982
22983         New module 'unictype/bidiclass-longname'.
22984         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
22985         * lib/unictype/bidi_longname.c: New file.
22986         * modules/unictype/bidiclass-longname: New file.
22987         * modules/unictype/bidiclass-all (Depends-on): Add
22988         unictype/bidiclass-longname.
22989
22990 2011-03-26  Bruno Haible  <bruno@clisp.org>
22991
22992         unictype/bidi*: Rename modules.
22993         * modules/unictype/bidiclass-all: Renamed from
22994         modules/unictype/bidicategory-all.
22995         * modules/unictype/bidiclass-name: Renamed from
22996         modules/unictype/bidiclass-name.
22997         (Description): Update.
22998         * modules/unictype/bidiclass-name-tests: Renamed from
22999         modules/unictype/bidicategory-name-tests.
23000         * modules/unictype/bidiclass-byname: Renamed from
23001         modules/unictype/bidicategory-byname.
23002         (Description): Update.
23003         * modules/unictype/bidiclass-byname-tests: Renamed from
23004         modules/unictype/bidicategory-byname-tests.
23005         * modules/unictype/bidiclass-of: Renamed from
23006         modules/unictype/bidicategory-of.
23007         (Description): Update.
23008         * modules/unictype/bidiclass-of-tests: Renamed from
23009         modules/unictype/bidicategory-of-tests.
23010         * modules/unictype/bidiclass-test: Renamed from
23011         modules/unictype/bidicategory-test.
23012         (Description): Update.
23013         * modules/unictype/bidiclass-test-tests: Renamed from
23014         modules/unictype/bidicategory-test-tests.
23015         * modules/unictype/bidicategory-all: New file, a simple redirection.
23016         * modules/unictype/bidicategory-name: Likewise.
23017         * modules/unictype/bidicategory-byname: Likewise.
23018         * modules/unictype/bidicategory-of: Likewise.
23019         * modules/unictype/bidicategory-test: Likewise.
23020         * modules/unictype/property-bidi-* (Dependencies): Update.
23021         * lib/unictype/bidi_*.c: Update comment.
23022
23023 2011-03-26  Bruno Haible  <bruno@clisp.org>
23024
23025         unictype/bidi*: Rename functions, part 2.
23026         * modules/unictype/bidicategory-name (configure.ac): Update required
23027         libunistring version.
23028         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
23029
23030 2011-03-25  Bruno Haible  <bruno@clisp.org>
23031
23032         New module 'unictype/combining-class-all'.
23033         * modules/unictype/combining-class-all: New file.
23034
23035         Tests for module 'unictype/combining-class-byname'.
23036         * modules/unictype/combining-class-byname-tests: New file.
23037         * tests/unictype/test-combiningclass_byname.c: New file.
23038
23039         New module 'unictype/combining-class-byname'.
23040         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
23041         * lib/unictype/combiningclass_byname.c: New file.
23042         * lib/unictype/combiningclass_byname.gperf: New file.
23043         * modules/unictype/combining-class-byname: New file.
23044
23045         Tests for module 'unictype/combining-class-longname'.
23046         * modules/unictype/combining-class-longname-tests: New file.
23047         * tests/unictype/test-combiningclass_longname.c: New file.
23048
23049         New module 'unictype/combining-class-longname'.
23050         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
23051         * lib/unictype/combiningclass_longname.c: New file.
23052         * modules/unictype/combining-class-longname: New file.
23053
23054         Tests for module 'unictype/combining-class-name'.
23055         * modules/unictype/combining-class-name-tests: New file.
23056         * tests/unictype/test-combiningclass_name.c: New file.
23057
23058         New module 'unictype/combining-class-name'.
23059         * lib/unictype.in.h (uc_combining_class_name): New declaration.
23060         * lib/unictype/combiningclass_name.c: New file.
23061         * modules/unictype/combining-class-name: New file.
23062
23063 2011-03-25  Bruno Haible  <bruno@clisp.org>
23064
23065         unictype/combining-class: Rename source files.
23066         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
23067         of unictype/combining.h.
23068         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
23069         Update.
23070         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
23071         * modules/unictype/combining-class (Description): Fix.
23072         (Files, Makefile.am): Update.
23073         * tests/unictype/test-combiningclass.c: Renamed from
23074         tests/unictype/test-combining.c.
23075         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
23076
23077 2011-03-25  Bruno Haible  <bruno@clisp.org>
23078
23079         unictype: Update list of canonical combining classes.
23080         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
23081
23082 2011-03-25  Bruno Haible  <bruno@clisp.org>
23083
23084         unictype/category-byname: Recognize long names as well.
23085         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
23086         a long name.
23087         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
23088         unictype/categ_byname.h.
23089         (UC_CATEGORY_INDEX_*): New enumeration values.
23090         (uc_general_category_byname): Use uc_general_category_lookup and
23091         convert from index to value.
23092         * lib/unictype/categ_byname.gperf: New file.
23093         * modules/unictype/category-byname (Files): Add
23094         lib/unictype/categ_byname.gperf.
23095         (Depends-on): Add gperf.
23096         (Makefile.am): Add rule for generating unictype/categ_byname.h.
23097         * tests/unictype/test-categ_byname.c (main): Test the recognition of
23098         long names.
23099
23100         Tests for module 'unictype/category-longname'.
23101         * modules/unictype/category-longname-tests: New file.
23102         * tests/unictype/test-categ_longname.c: New file.
23103
23104         New module 'unictype/category-longname'.
23105         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
23106         * lib/unictype/categ_longname.c: New file.
23107         * modules/unictype/category-longname: New file.
23108         * modules/unictype/category-all (Depends-on): Add it.
23109
23110 2011-03-25  Bruno Haible  <bruno@clisp.org>
23111
23112         Tests for module 'unictype/category-LC'.
23113         * modules/unictype/category-LC-tests: New file.
23114         * tests/unictype/test-categ_LC.c: New file, automatically generated.
23115
23116         New module 'unictype/category-LC'.
23117         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
23118         (UC_CATEGORY_LC): New declaration.
23119         (UC_CASED_LETTER): New macro.
23120         * lib/gen-uni-tables.c (is_category_LC): New function.
23121         (output_categories): Also handle category LC.
23122         (UC_CATEGORY_MASK_LC): New enumeration value.
23123         (general_category_byname): Also handle category LC.
23124         * lib/unictype/categ_LC.c: New file.
23125         * lib/unictype/categ_LC.h: New file, automatically generated.
23126         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
23127         category LC.
23128         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
23129         * modules/unictype/category-LC: New file.
23130         * modules/unictype/category-byname (Depends-on): Add
23131         unictype/category-LC.
23132         * modules/unictype/category-all (Depends-on): Likewise.
23133
23134 2011-03-25  Eric Blake  <eblake@redhat.com>
23135
23136         xmalloc: revert yesterday's regression
23137         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
23138         realloc's underlying behavior (allowing allocation of zero-size
23139         objects, especially if malloc-gnu is also in use).
23140
23141 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
23142
23143         maint.mk: add missing version to VC-tag
23144         * top/maint.mk: git tag was missing actual tag name; add it.
23145
23146         valgrind: do leak checking, and exit with code 1 on error (not 0)
23147         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
23148         to VALGRIND.
23149
23150 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
23151
23152         posix-modules: say what it does.
23153         * posix-modules: Add a line to the --help output saying what it does.
23154
23155 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
23156
23157         xmalloc: Do not leak if underlying realloc is C99 compatible.
23158         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
23159         This avoids a leak on C99-based systems.  See
23160         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
23161
23162 2011-03-24  Eric Blake  <eblake@redhat.com>
23163
23164         realloc: document portability problem
23165         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
23166         passing 0 size to realloc.
23167
23168 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
23169
23170         doc: update users.txt
23171         * users.txt: Add cvsps, tmpwatch
23172
23173 2011-03-23  Matt Rice  <ratmice@gmail.com>
23174
23175         doc: update users.txt
23176         * users.txt: Add gdb.
23177
23178 2011-03-23  Jim Meyering  <meyering@redhat.com>
23179
23180         doc: update users.txt
23181         Looking through matches up to the following URL (there are still
23182         several more pages), I found several projects that use gnulib:
23183         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
23184         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
23185         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
23186
23187 2011-03-22  Bruno Haible  <bruno@clisp.org>
23188
23189         unictype/bidi*: Rename functions.
23190         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
23191         uc_bidi_class, uc_is_bidi_class): New declarations.
23192         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
23193         uc_bidi_category_byname.
23194         (uc_bidi_category_byname): New function.
23195         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
23196         u_bidi_category_name.
23197         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
23198         (uc_bidi_category_name): New function.
23199         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
23200         uc_bidi_category.
23201         (uc_bidi_category): New function.
23202         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
23203         uc_is_bidi_category. Invoke uc_bidi_class.
23204         (uc_is_bidi_category): New function.
23205         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
23206         instead of uc_bidi_category_byname.
23207         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
23208         instead of uc_bidi_category_name.
23209         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
23210         uc_bidi_category.
23211         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
23212         instead of uc_is_bidi_category.
23213
23214 2011-03-21  Bruno Haible  <bruno@clisp.org>
23215
23216         New module 'unictype/joininggroup-all'.
23217         * modules/unictype/joininggroup-all: New file.
23218
23219         Tests for module 'unictype/joininggroup-of'.
23220         * modules/unictype/joininggroup-of-tests: New file.
23221         * tests/unictype/test-joininggroup_of.c: New file.
23222         * tests/unictype/test-joininggroup_of.h: New file, automatically
23223         generated by gen-uni-tables.
23224
23225         New module 'unictype/joininggroup-of'.
23226         * modules/unictype/joininggroup-of: New file.
23227         * lib/unictype/joininggroup_of.c: New file.
23228         * lib/unictype/joininggroup_of.h: New file, automatically generated by
23229         gen-uni-tables.
23230
23231         Tests for module 'unictype/joininggroup-byname'.
23232         * modules/unictype/joininggroup-byname-tests: New file.
23233         * tests/unictype/test-joininggroup_byname.c: New file.
23234
23235         New module 'unictype/joininggroup-byname'.
23236         * modules/unictype/joininggroup-byname: New file.
23237         * lib/unictype/joininggroup_byname.c: New file.
23238         * lib/unictype/joininggroup_byname.gperf: New file.
23239
23240         Tests for module 'unictype/joininggroup-name'.
23241         * modules/unictype/joininggroup-name-tests: New file.
23242         * tests/unictype/test-joininggroup_name.c: New file.
23243
23244         New module 'unictype/joininggroup-name'.
23245         * modules/unictype/joininggroup-name: New file.
23246         * lib/unictype/joininggroup_name.c: New file.
23247         * lib/unictype/joininggroup_name.h: New file.
23248
23249         New module 'unictype/joiningtype-all'.
23250         * modules/unictype/joiningtype-all: New file.
23251
23252         Tests for module 'unictype/joiningtype-of'.
23253         * modules/unictype/joiningtype-of-tests: New file.
23254         * tests/unictype/test-joiningtype_of.c: New file.
23255         * tests/unictype/test-joiningtype_of.h: New file, automatically
23256         generated by gen-uni-tables.
23257
23258         New module 'unictype/joiningtype-of'.
23259         * modules/unictype/joiningtype-of: New file.
23260         * lib/unictype/joiningtype_of.c: New file.
23261         * lib/unictype/joiningtype_of.h: New file, automatically generated by
23262         gen-uni-tables.
23263
23264         Tests for module 'unictype/joiningtype-byname'.
23265         * modules/unictype/joiningtype-byname-tests: New file.
23266         * tests/unictype/test-joiningtype_byname.c: New file.
23267
23268         New module 'unictype/joiningtype-byname'.
23269         * modules/unictype/joiningtype-byname: New file.
23270         * lib/unictype/joiningtype_byname.c: New file.
23271
23272         Tests for module 'unictype/joiningtype-name'.
23273         * modules/unictype/joiningtype-name-tests: New file.
23274         * tests/unictype/test-joiningtype_name.c: New file.
23275
23276         New module 'unictype/joiningtype-name'.
23277         * modules/unictype/joiningtype-name: New file.
23278         * lib/unictype/joiningtype_name.c: New file.
23279
23280         unictype: Add support for Arabic shaping properties.
23281         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
23282         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
23283         declarations.
23284         (UC_JOINING_GROUP_*): New enumeration values.
23285         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
23286         declarations.
23287         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
23288         (unicode_joining_type): New variable.
23289         (UC_JOINING_GROUP_*): New enumeration values.
23290         (unicode_joining_group): New variable.
23291         (fill_arabicshaping, joining_type_as_c_identifier,
23292         output_joining_type_test, output_joining_type,
23293         joining_group_as_c_identifier, output_joining_group_test,
23294         output_joining_group): New functions.
23295         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
23296         fill_arabicshaping and output_joining_type_test, output_joining_type,
23297         output_joining_group_test, output_joining_group.
23298         Reported by Simon Josefsson.
23299
23300 2011-03-21  Jim Meyering  <meyering@redhat.com>
23301
23302         strftime: fix a bug in yesterday's change
23303         * lib/strftime.c (add): Accommodate width's initial value of -1.
23304         Otherwise, nstrftime would copy uninitialized data into
23305         the result buffer.
23306
23307 2011-03-21  Jim Meyering  <meyering@redhat.com>
23308
23309         tests: add strftime-tests module
23310         * tests/test-strftime.c: New file.
23311         * modules/strftime-tests: New module.
23312
23313 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23314
23315         strftime: don't assume a byte count fits in 'int'
23316         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
23317         found this problem by static analysis, using gcc -Wstrict-overflow
23318         (GCC 4.5.2, x86-64).  This reported an optimization that depended
23319         on an integer overflow having undefined behavior, but it turns out
23320         that the argument is a size, which might not fit in 'int' anyway,
23321
23322 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23323
23324         stdio: don't require ignore_value around fwrite
23325
23326         This patch works around libc bug 11959
23327         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
23328         Without this patch, applications must often write
23329         ignore_value (fwrite (...)) even though the ignore_value is
23330         not helpful here.  It's common to write many objects, using
23331         fwrite/printf/etc., and then use ferror to detect output error.
23332
23333         I considered making this patch optional, but decided against it,
23334         because libc is obviously being inconsistent here: there is no
23335         reason libc should insist that user code must inspect fwrite
23336         return's value without also insisting that it inspect printf's,
23337         putchar's, etc.  If user code wants to have a strict style where
23338         all these functions' values are checked (so that ferror need not
23339         be checked), we could add support for that style in a new gnulib
23340         module, but in the meantime it's better to be consistent and to
23341         support common usage.
23342
23343         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
23344         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
23345         that we are compiling in checking mode, and if not C++, and
23346         if not already wrapping fwrite for some other reason.
23347         (fwrite): #define to rpl_fwrite if the latter is defined.
23348
23349 2011-03-20  Bruno Haible  <bruno@clisp.org>
23350
23351         verror: Fix compilation error introduced on 2011-02-13.
23352         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
23353         instead of __attribute__.
23354         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23355
23356 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23357             Bruno Haible  <bruno@clisp.org>
23358
23359         socklen: do not depend on sys_socket
23360         While trying to modify Emacs to use gnulib's socklen module,
23361         I discovered a circular dependency: socklen depends on sys_socket
23362         and vice versa.  Emacs can use socklen, but it does not need
23363         sys_socket because it has its own substitute for sys/socket.h.
23364         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
23365         gl_TYPE_SOCKLEN_T.
23366         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
23367         gl_PREREQ_SYS_H_SOCKET.
23368         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
23369         gl_PREREQ_SYS_H_SOCKET.
23370         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
23371         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
23372         * modules/socklen (Depends-on): Do not depend on sys_socket.
23373         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
23374
23375 2011-03-20  Jim Meyering  <meyering@redhat.com>
23376
23377         maint.mk: sort file names *after* new transformation
23378         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
23379         prefix would have led to an unwarranted failure in GNU parted.
23380         Sort after that transformation.
23381
23382 2011-03-19  Jim Meyering  <meyering@redhat.com>
23383
23384         maint.mk: fix po-file syntax-check rule
23385         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
23386         Patch by Bruno Haible.
23387
23388 2011-03-19  Bruno Haible  <bruno@clisp.org>
23389
23390         socklen: Update comment.
23391         * m4/socklen.m4: Update comment about platforms.
23392
23393 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23394             Bruno Haible  <bruno@clisp.org>
23395
23396         inet_ntop, inet_pton: Simplify.
23397         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
23398         documented to provide socklen_t and we already depend on sys_socket.
23399         * modules/inet_pton (Depends-on): Likewise.
23400         * lib/arpa_inet.in.h: Adjust comment.
23401
23402 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23403             Bruno Haible  <bruno@clisp.org>
23404
23405         netdb: Simplify.
23406         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
23407         documented to provide socklen_t and we already depend on sys_socket.
23408         * lib/netdb.in.h: Adjust comment.
23409
23410 2011-03-19  Bruno Haible  <bruno@clisp.org>
23411
23412         sys_socket, netdb: Document problem with socklen_t.
23413         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
23414         platforms.
23415         * doc/posix-headers/netdb.texi: Likewise.
23416
23417 2011-03-18  Eric Blake  <eblake@redhat.com>
23418
23419         maint.mk: let po check work in VPATH build
23420         * top/maint.mk (po_file): Allow cfg.mk override.
23421         (sc_po_check): Allow VPATH use.
23422         Reported by Jiri Denemark.
23423
23424 2011-03-16  Jim Meyering  <meyering@redhat.com>
23425
23426         maint.mk: allow fine-grained syntax-check exclusion via Make variables
23427         Before, you would have had to create one .x-sc_ file per rule in order
23428         to exempt offending files.  Now, you may instead use a Make variable --
23429         usually defined in cfg.mk -- whose name identifies the affected rule.
23430         * top/maint.mk (_sc_excl): Define.
23431         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
23432         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
23433
23434 2011-03-13  Bruno Haible  <bruno@clisp.org>
23435
23436         ignore-value tests: Avoid warnings.
23437         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
23438         empty for gcc < 3.4.
23439
23440 2011-03-13  Bruno Haible  <bruno@clisp.org>
23441
23442         passfd: Fix link error on Solaris.
23443         * modules/passfd (Description): Correct.
23444         (Depends-on): Add socketlib.
23445         (Link): New section.
23446         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
23447
23448 2011-03-13  Bruno Haible  <bruno@clisp.org>
23449
23450         passfd: Fix link error on AIX 5.2.
23451         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
23452
23453 2011-03-13  Bruno Haible  <bruno@clisp.org>
23454
23455         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
23456         * lib/sys_socket.in.h: Include <stddef.h>.
23457         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
23458         CMSG_FIRSTHDR. Remove unused variable.
23459
23460 2011-03-13  Bruno Haible  <bruno@clisp.org>
23461
23462         passfd: Fix compilation error on OpenBSD.
23463         * lib/passfd.c: Include <sys/uio.h>.
23464
23465 2011-03-13  Bruno Haible  <bruno@clisp.org>
23466
23467         passfd test: Fix warnings.
23468         * tests/test-passfd.c: Include <sys/wait.h>.
23469         (main): Fix typo.
23470
23471 2011-03-13  Bruno Haible  <bruno@clisp.org>
23472
23473         passfd module, part 4, tweaks.
23474         * tests/test-passfd.c: Reorder includes.
23475         (main): Fix perror and printf calls.
23476
23477 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23478
23479         passfd module, part 4.
23480         * modules/passfd-tests: New file.
23481         * tests/test-passfd.c: New file.
23482
23483 2011-03-13  Jim Meyering  <meyering@redhat.com>
23484
23485         Makefile: rely on GNU make; derive syntax-check rule names
23486         Rather than requiring that each sc_ rule be listed as a dependent
23487         of "check", use features of GNU make to derive the list.
23488         * Makefile (syntax-check-rules): Define.
23489         (check): Depend on the new variable, not the hard-coded list.
23490
23491 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
23492             Bruno Haible  <bruno@clisp.org>
23493
23494         passfd module, part 3.
23495         * lib/passfd.h (recvfd): Add a flags argument.
23496         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
23497         (recvfd): Add a flags argument.
23498         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
23499         exists.
23500         * modules/passfd (Depends-on): Add cloexec.
23501         Suggested by Eric Blake.
23502
23503 2011-03-13  Bruno Haible  <bruno@clisp.org>
23504
23505         passfd module, part 2, tweaks.
23506         * modules/passfd (Files): Reorder.
23507         (Depends-on): Remove errno.
23508         (Include): Remove <sys/socket.h>, <sys/un.h>.
23509         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
23510         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
23511         specification header. Include <sys/socket.h> always. Don't include
23512         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
23513         (sendfd): Clarify that it sets errno when it fails.
23514         (recvfd): Fix specification.
23515
23516 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23517
23518         passfd module, part 2.
23519         * modules/passfd: New file.
23520         * lib/passfd.h: New file.
23521         * lib/passfd.c: New file.
23522
23523 2011-03-12  Bruno Haible  <bruno@clisp.org>
23524
23525         wcswidth, mbswidth: Avoid integer overflow.
23526         * lib/wcswidth.c: Include <limits.h>.
23527         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
23528         * lib/mbswidth.c: Include <limits.h>.
23529         (mbsnwidth): Avoid 'int' overflow.
23530         Reported by Jim Meyering.
23531
23532 2011-03-12  Bruno Haible  <bruno@clisp.org>
23533
23534         futimens, utimensat: Avoid endless recursion on Solaris 10.
23535         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
23536         Solaris.
23537         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
23538         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
23539
23540 2011-03-11  Jim Meyering  <meyering@redhat.com>
23541
23542         maint.mk: relax a regexp to accommodate other formatting styles
23543         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
23544         between "ngettext" and the following "(".
23545
23546 2011-03-11  Pádraig Brady <P@draigBrady.com>
23547
23548         maint.mk: suppress a false positive warning
23549         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
23550         diagnostics are marked with ngettext.
23551
23552 2011-03-10  Eric Blake  <eblake@redhat.com>
23553
23554         wchar: add explicit dependencies, for Tru64
23555         * modules/mbmemcasecoll (Depends-on): Add wchar.
23556         * modules/mbtowc (Depends-on): Likewise.
23557         * modules/vasnprintf (Depends-on): Likewise.
23558         * modules/unistdio/u-printf-args (Depends-on): Likewise.
23559         * modules/wctomb (Depends-on): Likewise.
23560         Reported by Peter O'Gorman.
23561
23562 2011-03-08  Bruno Haible  <bruno@clisp.org>
23563
23564         passfd module, part 1, tweaks.
23565         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
23566         Improve indentation. Improve AC_MSG_CHECKING messages.
23567         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
23568         gl_SOCKET_FAMILIES.
23569
23570 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23571
23572         passfd module, part 1.
23573         * m4/afunix.m4: New file.
23574         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
23575         sockets.
23576
23577 2011-03-08  Bruno Haible  <bruno@clisp.org>
23578
23579         regex-quote: New API.
23580         * lib/regex-quote.h: Include <stdbool.h>.
23581         (struct regex_quote_spec): New type.
23582         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23583         New declarations.
23584         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23585         'const struct regex_quote_spec *' argument.
23586         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
23587         (pcre_special): New constant.
23588         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23589         New functions.
23590         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23591         'const struct regex_quote_spec *' argument.
23592         * modules/regex-quote (Depends-on): Add stdbool.
23593         * tests/test-regex-quote.c (check): Update for new API. Add test for
23594         anchored results.
23595         * NEWS: Mention the API change.
23596         Reported by Reuben Thomas and Eric Blake.
23597
23598 2011-03-06  Bruno Haible  <bruno@clisp.org>
23599
23600         regex-quote: Fix creation of POSIX extended regular expressions.
23601         * lib/regex-quote.c (ere_special): Add grouping and alternation
23602         operators.
23603
23604 2011-03-05  Bruno Haible  <bruno@clisp.org>
23605
23606         doc: Improve doc regarding autopoint vs. gnulib.
23607         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
23608         disable autopoint while running autoreconf.
23609         Suggested by Ralf Wildenhues.
23610
23611 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23612
23613         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
23614         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
23615
23616 2011-03-03  Bruce Korb  <bkorb@gnu.org>
23617
23618         parse-duration: remove xalloc.h dependency
23619         * lib/parse-duration.c (parse_period): handle NULL return from
23620         strdup instead of calling xstrdup().
23621         * modules/parse-duration: remove "xalloc" dependency
23622
23623 2011-03-03  Matthew Booth  <mbooth@redhat.com>
23624
23625         bootstrap: honor m4_base when running aclocal
23626         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
23627
23628 2011-03-02  Jim Meyering  <meyering@redhat.com>
23629
23630         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
23631         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
23632         on request from Matt Booth.
23633
23634 2011-03-01  Eric Blake  <eblake@redhat.com>
23635
23636         test-link: work on Hurd
23637         * tests/test-link.h (test_link): Hurd rejects linking directories
23638         with EISDIR instead of the POSIX-mandated EPERM.
23639
23640 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
23641
23642         stdio: simplify by moving files to printf-posix, sigpipe
23643         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
23644         since this symbol is needed only if printf is replaced.
23645         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
23646         Require gl_ASM_SYMBOL_PREFIX.
23647         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
23648         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
23649         (Depends-on): Add 'raise'.
23650         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
23651         * modules/stdio (Files): Remove lib/stdio-write.c,
23652         m4/asm-underscore.m4.
23653         (Depends-on): Remove 'raise'.
23654
23655         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
23656         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
23657         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
23658         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
23659
23660 2011-02-28  Bruno Haible  <bruno@clisp.org>
23661
23662         localcharset: Assume ANSI C behaviour of free().
23663         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
23664         calling free().
23665         Suggested by Simon Josefsson <simon@josefsson.org>.
23666
23667 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
23668             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
23669             Bruno Haible  <bruno@clisp.org>  (tiny change)
23670
23671         On Cygwin, use /proc file system instead of win32 API.
23672         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
23673         Win32 file names.
23674         (DllMain): Simplify by removing Cygwin specific code.
23675         (find_shared_library_fullname): Use Linux specific implementation also
23676         for Cygwin.
23677         (get_shared_library_fullname): Update accordingly.
23678         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
23679         Win32 file names.
23680         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
23681         Cygwin specific code.
23682
23683 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
23684             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
23685
23686         Fix OpenMP flag detection for various Fortran compilers.
23687         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
23688         OpenMP-conditional compilation construct, to force compile
23689         failure with missing OpenMP flag.
23690         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
23691
23692 2011-02-25  Eric Blake  <eblake@redhat.com>
23693
23694         strstr: expand test coverage
23695         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
23696         compilation.
23697         * tests/test-memmem.c (main): Duplicate tests.
23698         * tests/test-strcasestr.c (main): Likewise.
23699         * tests/test-c-strcasestr.c (main): Likewise.
23700
23701 2011-02-25  Jim Meyering  <meyering@redhat.com>
23702
23703         maint.mk: detect missing-NL-at-EOF, too
23704         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
23705         it also detects when a file lacks a newline at EOF.
23706         (require_exactly_one_NL_at_EOF_): Renamed from
23707         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
23708         since people may well have .x-sc_... file names tied to the
23709         existing name.  Suggested by Eric Blake.
23710
23711 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
23712
23713         dirname: move m4/dos.m4 functionality into lib/dosname.h
23714
23715         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
23716         extracts symbols from it, puts them into config.h; but it's much
23717         easier to use the symbols directly.  filename.h already does this,
23718         but it disagrees with dos.m4 in some respects.  This patch
23719         introduces a different include file dosname.h that packages up
23720         dos.m4, and then later we can work on merging filename.h and
23721         dosname.h.  Applications that need only the easy-to-configure
23722         symbols should consider including dosname.h rather than dirname.h.
23723         * NEWS: Mention incompatible changes.
23724         * m4/dos.m4: Remove.
23725         * lib/dosname.h, modules/dosname: New files.
23726         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
23727         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
23728         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
23729         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
23730         Include dosname.h, not dirname.h.
23731         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
23732         Include dosname.h, for definitions of symbols like ISSLASH
23733         that used to be in config.h.
23734         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
23735         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23736         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23737         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23738         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
23739         * modules/rmdir (Files): Likewise.
23740         * modules/stat (Files): Likewise.
23741         * modules/unlink (Files): Likewise.
23742         * modules/dirname-lgpl (Depends-on): Add dosname.
23743         * modules/lstat (Depends-on): Likewise.
23744         * modules/openat (Depends-on): Likewise.
23745         * modules/rmdir (Depends-on): Likewise.
23746         * modules/savewd (Depends-on): Likewise.
23747         * modules/stat (Depends-on): Likewise.
23748         * modules/unlink (Depends-on): Likewise.
23749         * modules/openat (Depends-on): Remove dirname-lgpl.
23750         * modules/savewd (Depends-on): Likewise.
23751         * tests/test-dirname.c: Do not use removed symbols like
23752         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
23753         the remaining symbols, e.g., ISSLASH ('\\').
23754
23755 2011-02-25  Eric Blake  <eblake@redhat.com>
23756
23757         strstr: revert patches that introduced bug and pessimization
23758         * lib/str-two-way.h: Add another reference.
23759         (two_way_short_needle, two_way_long_needle): Revert changes from
23760         2011-02-24; they pessimize search speed.
23761         (critical_factorization): Partially revert changes from
23762         2010-06-22; they violate the requirement that the left half of the
23763         needle be smaller than the period of the needle.
23764
23765 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
23766
23767         filenamecat: remove unnecessary dependency on dirname-lgpl
23768         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
23769         is no direct dependency, just an indirect one via filenamecat-lgpl.
23770
23771         remove: remove unnecessary use of m4/dos.m4
23772         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
23773         * modules/remove (FILES): Remove m4/dos.m4.
23774
23775         * lib/openat-proc.c: Don't include dirname.h; not needed.
23776
23777         backupfile: remove unnecessary use of m4/dos.m4
23778         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
23779         of its symbols are used by the backupfile code.  backupfile.c does
23780         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
23781         for the rare case of programs that want all their backup file
23782         names to live within 8+3 limits, and dos.m4 doesn't address that.
23783         * modules/backupfile (Files): Remove m4/dos.m4.
23784
23785 2011-02-24  Jim Meyering  <meyering@redhat.com>
23786
23787         strstr: fix a bug whereby strstr would mistakenly return NULL
23788         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
23789         in period calculation.
23790         (two_way_long_needle): Likewise.
23791         The original problem was reported by Mike Stump in
23792         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
23793         Ralf Wildenhues provided the short needle and haystack.
23794         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
23795         Add a more involved test to trigger the bug in two_way_long_needle.
23796
23797 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23798
23799         gnulib-tool: remove use of bold display in help screen
23800         * gnulib-tool (func_usage): Do not use bold display anymore in the
23801         help screen.  That was just meant to be a temporary emphasis for a
23802         backward-incompatible change.
23803
23804 2011-02-23  Bruno Haible  <bruno@clisp.org>
23805
23806         Fix misindentation of preprocessor directives.
23807         * lib/argp-namefrob.h: Reindent preprocessor directives.
23808         * lib/getopt_int.h (struct _getopt_data): Likewise.
23809         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
23810         * lib/vasnprintf.c (decode_long_double): Likewise.
23811         * tests/test-argmatch.c: Insert blank lines, for clarity.
23812         * tests/test-exclude.c: Likewise.
23813
23814 2011-02-22  Bruno Haible  <bruno@clisp.org>
23815
23816         ioctl: Fix for MacOS X in 64-bit mode.
23817         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
23818         value.
23819         Suggested by Eric Blake.
23820         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
23821
23822 2011-02-22  Jim Meyering  <meyering@redhat.com>
23823
23824         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
23825         * Makefile (sc_cpp_indent_check): Don't limit the check to files
23826         in lib/.
23827
23828 2011-02-22  Eric Blake  <eblake@redhat.com>
23829
23830         maint: avoid any CDPATH issue
23831         * Makefile (sc_cpp_indent_check): Anchor cd argument.
23832
23833         maint: adjust cpp indentation for my modules, as well
23834         * Makefile (sc_cpp_indent_check): Add my name.
23835         * lib/fbufmode.c: Filter through cppi.
23836         * lib/fpurge.c: Likewise.
23837         * lib/freadable.c: Likewise.
23838         * lib/freading.c: Likewise.
23839         * lib/fwritable.c: Likewise.
23840         * lib/fwriting.c: Likewise.
23841         * lib/sigaction.c: Likewise.
23842
23843 2011-02-22  Jim Meyering  <meyering@redhat.com>
23844
23845         maint: adjust cpp indentation to reflect nesting depth
23846         I.e., in a block of code that begins with an unnested "#if",
23847         put one space between the "#" in column 1 and following token.
23848         For example,
23849         -#include <sys/vfs.h>
23850         +# include <sys/vfs.h>
23851         Do this only in .c files that are part of a module I maintain.
23852         * lib/linkat.c: Filter through cppi.
23853         * lib/nanosleep.c: Likewise.
23854         * lib/openat.c: Likewise.
23855         * lib/openat-die.c: Likewise.
23856         * lib/dup3.c: Likewise.
23857         * lib/fchownat.c: Likewise.
23858         * lib/flock.c: Likewise.
23859         * lib/fsync.c: Likewise.
23860         * lib/fts.c: Likewise.
23861         * lib/getpass.c: Likewise.
23862         * lib/gettimeofday.c: Likewise.
23863         * lib/userspec.c: Likewise.
23864         * Makefile (sc_cpp_indent_check): New rule, to check this.
23865
23866 2011-02-22  Bruno Haible  <bruno@clisp.org>
23867
23868         New module 'wctomb'.
23869         * lib/stdlib.in.h (wctomb): New declaration.
23870         * lib/wctomb.c: New file.
23871         * lib/wctomb-impl.h: New file.
23872         * m4/wctomb.m4: New file.
23873         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
23874         REPLACE_WCTOMB.
23875         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
23876         REPLACE_WCTOMB.
23877         * modules/wctomb: New file.
23878         * tests/test-stdlib-c++.cc: Test signature of wctomb.
23879         * doc/posix-functions/wctomb.texi: Mention the new module.
23880         * modules/wctob (Depends-on): Add wctomb.
23881
23882 2011-02-22  Bruno Haible  <bruno@clisp.org>
23883
23884         New module 'mbtowc'.
23885         * lib/stdlib.in.h (mbtowc): New declaration.
23886         * lib/mbtowc.c: New file.
23887         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
23888         * m4/mbtowc.m4: New file.
23889         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
23890         REPLACE_MBTOWC.
23891         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
23892         REPLACE_MBTOWC.
23893         * modules/mbtowc: New file.
23894         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
23895         * doc/posix-functions/mbtowc.texi: Mention the new module.
23896         * modules/btowc (Depends-on): Add mbtowc.
23897
23898 2011-02-22  Bruno Haible  <bruno@clisp.org>
23899
23900         wcrtomb: Add more tests for native Windows platforms.
23901         * tests/test-wcrtomb-w32-1.sh: New file.
23902         * tests/test-wcrtomb-w32-2.sh: New file.
23903         * tests/test-wcrtomb-w32-3.sh: New file.
23904         * tests/test-wcrtomb-w32-4.sh: New file.
23905         * tests/test-wcrtomb-w32-5.sh: New file.
23906         * tests/test-wcrtomb-w32.c: New file.
23907         * modules/wcrtomb-tests (Files): Add them.
23908         (Makefile.am): Arrange to run these tests.
23909         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
23910         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
23911
23912 2011-02-20  Bruno Haible  <bruno@clisp.org>
23913
23914         wcrtomb: Enhance test.
23915         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
23916
23917 2011-02-20  Bruno Haible  <bruno@clisp.org>
23918
23919         mbrtowc: Tiny optimization.
23920         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
23921
23922 2011-02-20  Jim Meyering  <meyering@redhat.com>
23923
23924         test-exclude.c: remove unmatched #endif
23925         * tests/test-exclude.c: Remove stray #endif, left over from
23926         the change of a week ago.
23927
23928 2011-02-19  Jim Meyering  <meyering@redhat.com>
23929
23930         git-version-gen: skip "-dirty" check when appropriate
23931         * build-aux/git-version-gen: Don't run any git commands when the
23932         version string comes from .tarball-version.  Prior to this, we
23933         would run git update-index --refresh even from a just-unpacked
23934         tarball directory, and that could affect a .git/ directory in a
23935         parent of the build directory.  Reported by Mike Frysinger.
23936
23937 2011-02-19  Bruno Haible  <bruno@clisp.org>
23938
23939         unictype/property-byname: Reduce the size of the 'data' segment.
23940         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
23941
23942 2011-02-19  Bruno Haible  <bruno@clisp.org>
23943
23944         unictype/scripts: Reduce the size of the 'data' segment.
23945         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
23946         '%pic'.
23947         * lib/unictype/scripts_byname.gperf: Regenerated.
23948
23949 2011-02-19  Bruno Haible  <bruno@clisp.org>
23950
23951         stdint: Update documentation.
23952         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
23953
23954 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
23955
23956         stdint: omit redundant check for wchar.h
23957         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
23958         always tests whether wchar.h exists, so remove the now-redundant test.
23959
23960 2011-02-18  Bruno Haible  <bruno@clisp.org>
23961
23962         stdint: Cut dependency to module 'wchar'.
23963         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
23964         include the necessary prerequisites.
23965         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
23966         * modules/stdint (Depends-on): Remove wchar.
23967         (Makefile.am): Substitute HAVE_WCHAR_H.
23968         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
23969
23970 2011-02-18  Eric Blake  <eblake@redhat.com>
23971
23972         longlong: skip, rather than fail, on cross-compilation
23973         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
23974         when cross-compiling; regression from 2011-02-16.
23975
23976 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23977
23978         * NEWS: Mention 2011-02-08 change to stdlib.
23979
23980 2011-02-17  Bruno Haible  <bruno@clisp.org>
23981
23982         getloadavg: Add comments about platforms.
23983         * m4/getloadavg.m4: Add comment.
23984         * lib/getloadavg.c: Likewise.
23985
23986 2011-02-17  Bruno Haible  <bruno@clisp.org>
23987
23988         getloadavg: Fix link error on Solaris 2.6.
23989         * modules/getloadavg (Link): New section.
23990         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
23991         linking test-getloadavg.
23992         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
23993         getloadavg.
23994
23995 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23996
23997         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
23998         It was 'int', but this doesn't match the IRIX 6.5 manual.
23999         Suggested by Bruno Haible in
24000         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
24001
24002 2011-02-17  Bruno Haible  <bruno@clisp.org>
24003
24004         havelib: Fix comments.
24005         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
24006         change.
24007
24008 2011-02-17  Bruno Haible  <bruno@clisp.org>
24009
24010         havelib: Update config.rpath.
24011         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
24012
24013 2011-02-17  Bruno Haible  <bruno@clisp.org>
24014
24015         getloadavg test: Add some plausibility checks.
24016         * tests/test-getloadavg.c (check_avg): Print a warning when the value
24017         is improbable.
24018
24019 2011-02-16  Eric Blake  <eblake@redhat.com>
24020
24021         maintainer-makefile: make syntax-check a no-op from tarballs
24022         * top/maint.mk (no-vc-detected): New rule.
24023         (local-checks-available): Use it to avoid hanging if someone tries
24024         'make syntax-check' from a tarball.  Also append to any non-syntax
24025         checks already defined in cfg.mk.
24026
24027 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
24028
24029         longlong: tune, particularly for common case of c99
24030
24031         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
24032         or running anything if c99, or if unsigned long long int does not
24033         work.  In either case, we know the answer without further tests.
24034         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
24035         it at most once, and use its results for both long long int and
24036         unsigned long long int.  This is more likely to be efficient in
24037         the common case where the program wants to check for both long
24038         long int and unsigned long long int.
24039         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
24040         since the answer is already known.
24041
24042 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
24043
24044         getloadavg: set errno
24045         * lib/getloadavg.c: Set errno when returning -1.  If no other
24046         error number looks appropriate, set it to ENOSYS if the getloadavg
24047         looks like it can't possibly ever work, ENOTSUP otherwise.
24048         Suggested by Bruno Haible in
24049         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
24050
24051         getloadavg: trim unused parts and speed up 'configure'
24052         * NEWS: Document this.
24053         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
24054         always compiled if getloadavg is absent.
24055         Move test code to ...
24056         * tests/test-getloadavg.c: New file, containing previous
24057         contents of test from lib/getloadavg.c.  It also contains
24058         suggestions by Bruno Haible in
24059         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
24060         * modules/getloadavg-tests: New file.
24061         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
24062         Do tests in the same order as they're needed for getloadavg.c.
24063         Omit setgid-related tests that generate symbols KMEM_GROUP,
24064         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
24065         Do only the tests that are needed to see whether the system has
24066         getloadavg, moving the other tests into ...
24067         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
24068         NLIST_NAME_UNION; nobody should be using it.  Do not define
24069         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
24070         relevant, as the user of this module shouldn't care how getloadavg
24071         is implemented.
24072
24073         getloadavg: omit unused var
24074         * lib/getloadavg.c (getloadavg): Omit unused local variable.
24075
24076 2011-02-15  Jim Meyering  <meyering@redhat.com>
24077
24078         doc: update users.txt
24079         * users.txt: Update iwhd's URL.
24080
24081 2011-02-13  Bruno Haible  <bruno@clisp.org>
24082
24083         Consistent macro naming for macros that use GCC __attribute__.
24084         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
24085         _ATTRIBUTE_NONNULL_.
24086         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
24087         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
24088         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
24089         ATTRIBUTE_DEPRECATED.
24090         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
24091         ATTRIBUTE_NORETURN.
24092         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24093         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24094         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24095         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24096         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
24097         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
24098         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
24099         ATTRIBUTE_SENTINEL.
24100         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
24101         ATTRIBUTE_RETURN_CHECK.
24102         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
24103         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
24104         ATTRIBUTE_NORETURN.
24105         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
24106         Reported by Paul Eggert.
24107
24108 2011-02-13  Bruno Haible  <bruno@clisp.org>
24109
24110         Don't interfere with a program's definition of __attribute__.
24111         * lib/argp.h (__attribute__): Remove definition.
24112         (_GL_ATTRIBUTE_FORMAT): New macro.
24113         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
24114         * lib/argp-fmtstream.h (__attribute__): Remove definition.
24115         (_GL_ATTRIBUTE_FORMAT): New macro.
24116         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
24117         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
24118         GCC 3 or newer.
24119         * lib/error.h (__attribute__): Remove definition.
24120         (_GL_ATTRIBUTE_FORMAT): New macro.
24121         (error, error_at_line): Use it.
24122         * lib/hash.h (__attribute__): Remove definition.
24123         (ATTRIBUTE_WUR): Update definition. Define always.
24124         * lib/openat.h (__attribute__): Remove definition.
24125         (ATTRIBUTE_NORETURN): Update definition. Define always.
24126         * lib/sigpipe-die.h (__attribute__): Remove definition.
24127         (ATTRIBUTE_NORETURN): Update definition. Define always.
24128         * lib/vasnprintf.h (__attribute__): Remove definition.
24129         (_GL_ATTRIBUTE_FORMAT): New macro.
24130         (asnprintf, vasnprintf): Use it.
24131         * lib/xalloc.h (__attribute__): Remove definition.
24132         (ATTRIBUTE_NORETURN): Update definition. Define always.
24133         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
24134         * lib/xmemdup0.h (__attribute__): Remove definition.
24135         (ATTRIBUTE_NORETURN): Update definition. Define always.
24136         * lib/xprintf.h (__attribute__): Remove definition.
24137         (_GL_ATTRIBUTE_FORMAT): New macro.
24138         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
24139         * lib/xstrtol.h (__attribute__): Remove definition.
24140         (ATTRIBUTE_NORETURN): Update definition. Define always.
24141         * lib/xvasprintf.h (__attribute__): Remove definition.
24142         (_GL_ATTRIBUTE_FORMAT): New macro.
24143         (xasprintf, xvasprintf): Use it.
24144         * tests/test-argmatch.c (__attribute__): Remove definition.
24145         (ATTRIBUTE_NORETURN): Update definition. Define always.
24146         * tests/test-exclude.c (__attribute__): Remove definition.
24147         (ATTRIBUTE_NORETURN): Update definition. Define always.
24148         Reported by Paul Eggert.
24149
24150 2011-02-13  Bruno Haible  <bruno@clisp.org>
24151
24152         mbrtowc: Add more tests for native Windows platforms.
24153         * tests/test-mbrtowc-w32-1.sh: New file.
24154         * tests/test-mbrtowc-w32-2.sh: New file.
24155         * tests/test-mbrtowc-w32-3.sh: New file.
24156         * tests/test-mbrtowc-w32-4.sh: New file.
24157         * tests/test-mbrtowc-w32-5.sh: New file.
24158         * tests/test-mbrtowc-w32.c: New file.
24159         * modules/mbrtowc-tests (Files): Add them.
24160         (Makefile.am): Arrange to run these tests.
24161         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
24162         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
24163
24164 2011-02-13  Bruno Haible  <bruno@clisp.org>
24165
24166         mbrtowc: Work around native Windows bug.
24167         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
24168         guess when no suitable locale for testing was found.
24169         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
24170
24171 2011-02-13  Bruno Haible  <bruno@clisp.org>
24172
24173         mbsinit: Work around mingw bug.
24174         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
24175         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
24176         Windows.
24177         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
24178
24179 2011-02-13  Bruno Haible  <bruno@clisp.org>
24180
24181         mbsinit: Don't crash for a NULL argument.
24182         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
24183         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
24184
24185 2011-02-13  Bruno Haible  <bruno@clisp.org>
24186
24187         Don't interfere with a program's definition of __attribute__.
24188         * lib/stdio.in.h (__attribute__): Remove definition.
24189         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
24190         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
24191         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
24192         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
24193         * lib/string.in.h (__attribute__): Remove definition.
24194         Reported by Paul Eggert.
24195
24196 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
24197
24198         stdlib: don't get in the way of non-GCC __attribute__
24199         See thread starting at
24200         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
24201         Revert previous stdlib change, installing the following instead:
24202         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
24203         to get in the way of a non-GCC compiler that supports __attribute__.
24204         (_GL_ATTRIBUTE_RETURN): New macro.
24205         (_Exit): Use it instead of __attribute__.
24206
24207 2011-02-12  Bruno Haible  <bruno@clisp.org>
24208
24209         quotearg test: Avoid test failure on mingw.
24210         * tests/test-quotearg.sh: Convert the locale identifier from native
24211         Windows syntax to Unix syntax.
24212
24213 2011-02-12  Bruno Haible  <bruno@clisp.org>
24214
24215         setlocale: Prefer gnulib's override over libintl's override.
24216         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
24217         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
24218         GNULIB_defined_setlocale is set.
24219
24220 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
24221
24222         stdlib: support non-GCC __attribute__
24223
24224         Fix a serious and tricky problem encountered when attempting to
24225         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
24226         5.5, but it crashed due to memory corruption on Solaris 10 with
24227         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
24228         bits that are otherwise zero.  This tagging is optional inside
24229         Emacs but is preferred and is used when __attribute__ ((__aligned
24230         (8))) works, as it does with both recent-enough GCC and with Sun C
24231         5.11.  However, Sun C 5.11 is not GCC and does not #define
24232         __GNUC__ and __GNUC_MINOR__.
24233
24234         When I added the getloadavg module to Emacs, it brought in
24235         stdlib.in.h, which contained this fragment:
24236
24237            #ifndef __attribute__
24238            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
24239            #  define __attribute__(Spec)   /* empty */
24240            # endif
24241            #endif
24242
24243         When files that include <stdlib.h> were compiled with Sun C 5.11,
24244         the above code disabled __attribute__ ((__aligned (8))), which
24245         caused variables to not be properly aligned, which eventually led
24246         to the pointer corruption mentioned above.  (This was a bit hard
24247         to diagnose, unfortunately.)
24248
24249         Several "#define __attribute__(X) /* empty */" code snippets need
24250         to be eradicated from Gnulib to work with non-GCC compilers that
24251         support __attribute__.  The Autoconf way to do this is to test for
24252         each kind of attribute that we want support for, and selectively
24253         enable that in source code.
24254
24255         Fix this problem just for stdlib.h, by adding a test for the
24256         __noreturn__ attribute, and change stdlib.in.h to use that test
24257         when needed.  This technique can be easily generalized to the
24258         other *.in.h files and attributes, and a similar technique can be
24259         used for *.h and *.c files.  This patch is enough to solve the
24260         problem for Emacs + getloadavg, and I thought I'd publish it for
24261         feedback before undertaking further, similar fixes in other
24262         modules.
24263
24264         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
24265         because it's not needed for stdlib.h.  It merely substitutes the
24266         value directly into stdlib.h.  We may well need to #define it, or
24267         similar symbols, for other modules, but it's nice to also have an
24268         option to not #define it for applications like Emacs that do not
24269         need it.
24270
24271         * lib/stdlib.in.h (__attribute__): Do not #define.
24272         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
24273         be defined only if the _Exit module is also used.
24274         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
24275         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
24276         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
24277         platforms.
24278         * modules/_Exit (Files): Add m4/attribute.m4.
24279         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
24280         * m4/attribute.m4: New file.
24281
24282 2011-02-12  Bruno Haible  <bruno@clisp.org>
24283
24284         wcsrtombs: Work around bug on native Windows.
24285         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
24286         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
24287         instead of len.
24288         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
24289
24290 2011-02-12  Bruno Haible  <bruno@clisp.org>
24291
24292         mbsrtowcs: Work around bug on native Windows.
24293         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
24294         against mingw bug.
24295         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
24296
24297 2011-02-12  Bruno Haible  <bruno@clisp.org>
24298
24299         Avoid setlocale bugs in tests.
24300         * modules/btowc (Dependencies): Add setlocale.
24301         * modules/c-strcase (Dependencies): Likewise.
24302         * modules/mbmemcasecmp (Dependencies): Likewise.
24303         * modules/mbmemcasecoll (Dependencies): Likewise.
24304         * modules/mbrtowc (Dependencies): Likewise.
24305         * modules/mbscasecmp (Dependencies): Likewise.
24306         * modules/mbscasestr (Dependencies): Likewise.
24307         * modules/mbschr (Dependencies): Likewise.
24308         * modules/mbscspn (Dependencies): Likewise.
24309         * modules/mbsinit (Dependencies): Likewise.
24310         * modules/mbsncasecmp (Dependencies): Likewise.
24311         * modules/mbsnrtowcs (Dependencies): Likewise.
24312         * modules/mbspbrk (Dependencies): Likewise.
24313         * modules/mbspcasecmp (Dependencies): Likewise.
24314         * modules/mbsrchr (Dependencies): Likewise.
24315         * modules/mbsrtowcs (Dependencies): Likewise.
24316         * modules/mbsspn (Dependencies): Likewise.
24317         * modules/mbsstr (Dependencies): Likewise.
24318         * modules/nl_langinfo (Dependencies): Likewise.
24319         * modules/quotearg (Dependencies): Likewise.
24320         * modules/unicase/locale-language (Dependencies): Likewise.
24321         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
24322         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
24323         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
24324         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
24325         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
24326         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
24327         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
24328         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
24329         * modules/vasnprintf-posix (Dependencies): Likewise.
24330         * modules/wcrtomb (Dependencies): Likewise.
24331         * modules/wcsnrtombs (Dependencies): Likewise.
24332         * modules/wcsrtombs (Dependencies): Likewise.
24333
24334 2011-02-12  Bruno Haible  <bruno@clisp.org>
24335
24336         setlocale: Workaround native Windows bug.
24337         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
24338         succeeds but sets LC_CTYPE to "C", report a failure.
24339         * tests/test-setlocale2.sh: New file.
24340         * tests/test-setlocale2.c: New file.
24341         * modules/setlocale-tests (Files): Add the new files.
24342         (Makefile.am): Enable test-setlocale2.sh test.
24343         * doc/posix-functions/setlocale.texi: Mention workaround.
24344
24345 2011-02-11  Bruno Haible  <bruno@clisp.org>
24346
24347         Tests for module 'setlocale'.
24348         * modules/setlocale-tests: New file.
24349         * tests/test-setlocale1.sh: New file.
24350         * tests/test-setlocale1.c: New file.
24351
24352         New module 'setlocale'.
24353         * lib/locale.in.h (setlocale): New declaration.
24354         * lib/setlocale.c: New file, based on
24355         gettext/gettext-runtime/intl/setlocale.c.
24356         * m4/setlocale.m4: New file.
24357         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
24358         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
24359         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
24360         REPLACE_SETLOCALE.
24361         * modules/setlocale: New file.
24362         * tests/test-locale-c++.cc: Test the declaration of setlocale.
24363         * doc/posix-functions/setlocale.texi: Mention the new module.
24364
24365 2011-02-11  Bruno Haible  <bruno@clisp.org>
24366
24367         Prepare for locale dependent tests on mingw.
24368         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
24369         because it has the wrong locale encoding.
24370         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
24371         French_France.1252 instead of "fr".
24372         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
24373         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
24374         because it has the wrong locale encoding.
24375         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
24376         native Windows, try Turkish_Turkey.65001.
24377         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
24378         Chinese_China.54936.
24379
24380         Prepare for locale dependent tests on mingw.
24381         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
24382         differently.
24383         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
24384         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
24385         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
24386         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24387
24388 2011-02-11  Eric Blake  <eblake@redhat.com>
24389
24390         strptime: avoid compiler warnings
24391         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
24392         compiler warnings about dead code.
24393         Reported by Daniel P. Berrange.
24394
24395 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
24396
24397         doc: update users.txt
24398         * users.txt: Add rcs.
24399
24400 2011-02-10  John W. Eaton  <jwe@gnu.org>
24401
24402         doc: update users.txt
24403         * users.txt: Add octave.
24404
24405 2011-02-10  Jim Meyering  <meyering@redhat.com>
24406
24407         doc: update users.txt
24408         * users.txt: Add iwhd.
24409
24410 2011-02-09  Bruno Haible  <bruno@clisp.org>
24411
24412         gnulib-tool: Make copyright notice adjustment more robust.
24413         * gnulib-tool (func_import): In sed_transform_main_lib_file,
24414         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
24415         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
24416         License".
24417         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
24418
24419 2011-02-06  Bruno Haible  <bruno@clisp.org>
24420
24421         New module 'towctrans'.
24422         * modules/towctrans: New file.
24423         * lib/wctype.in.h (towctrans): New declaration.
24424         * lib/towctrans.c: New file.
24425         * lib/towctrans-impl.h: New file.
24426         * m4/towctrans.m4: New file.
24427         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
24428         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
24429         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
24430         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
24431         * doc/posix-functions/towctrans.texi: Mention the new module.
24432
24433 2011-02-06  Bruno Haible  <bruno@clisp.org>
24434
24435         New module 'wctrans'.
24436         * modules/wctrans: New file.
24437         * lib/wctype.in.h (wctrans): New declaration.
24438         * lib/wctrans.c: New file.
24439         * lib/wctrans-impl.h: New file.
24440         * m4/wctrans.m4: New file.
24441         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
24442         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
24443         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
24444         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
24445         * doc/posix-functions/wctrans.texi: Mention the new module.
24446
24447 2011-02-06  Bruno Haible  <bruno@clisp.org>
24448
24449         New module 'iswctype'.
24450         * modules/iswctype: New file.
24451         * lib/wctype.in.h (iswctype): New declaration.
24452         * lib/iswctype.c: New file.
24453         * lib/iswctype-impl.h: New file.
24454         * m4/iswctype.m4: New file.
24455         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
24456         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
24457         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
24458         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
24459         * doc/posix-functions/iswctype.texi: Mention the new module and the
24460         HP-UX 11.00 problem.
24461
24462 2011-02-06  Bruno Haible  <bruno@clisp.org>
24463
24464         New module 'wctype'.
24465         * modules/wctype: Change to represent the wctype() substitute.
24466         * lib/wctype.in.h (wctype): New declaration.
24467         * lib/wctype.c: New file.
24468         * lib/wctype-impl.h: New file.
24469         * m4/wctype.m4: New file.
24470         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
24471         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
24472         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
24473         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
24474         * doc/posix-functions/wctype.texi: Mention the new module and the
24475         HP-UX 11.00 problem.
24476
24477 2011-02-06  Bruno Haible  <bruno@clisp.org>
24478
24479         wctype-h: Ensure wctype_t and wctrans_t are defined.
24480         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
24481         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24482         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24483         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
24484         HAVE_WCTRANS_T.
24485         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
24486
24487 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
24488
24489         flock: fix license typo
24490
24491         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
24492         omitted.
24493
24494 2011-02-08  Bruno Haible  <bruno@clisp.org>
24495
24496         Split large sed scripts, for HP-UX sed.
24497         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
24498         to avoid HP-UX limit of 99 commands, in the near future.
24499         * modules/stdlib (Makefile.am): Likewise.
24500         * modules/unistd (Makefile.am): Likewise.
24501         * modules/wchar (Makefile.am): Likewise.
24502         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24503         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
24504         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
24505
24506 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24507             Bruno Haible  <bruno@clisp.org>
24508
24509         stdlib: improve random_r modularization
24510         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
24511         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
24512         you also need the random_r module to get this material right.
24513         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
24514         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
24515         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
24516
24517 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24518
24519         stdlib: don't depend on stdint
24520         * lib/stdlib.in.h: Don't include <stdint.h> merely because
24521         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
24522         be independent of whether stdint.h is needed.
24523         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
24524         here, instead of ...
24525         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
24526         struct random_data should be using the random_r module, not just
24527         the stdlib module (which wouldn't make sense: what package needs
24528         just struct random_data without also needing random_r?).
24529         * modules/stdlib (Depends-on): Remove stdint.
24530
24531         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
24532         See the thread rooted at
24533         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
24534         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
24535         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
24536         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
24537         __VMS)); previously it was always included (via fcntl--.h).
24538         (getloadavg): Do not use c_strtod.  Instead, approximate it by
24539         hand; this is good enough for load averages.  Also, do not use
24540         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
24541         flags directly if available and don't bother otherwise.  (Packages
24542         that need the extra reliability should use the modules that define
24543         these flags on older platforms that lack them.)
24544         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
24545         fcntl-safer.
24546
24547 2011-02-08  Jim Meyering  <meyering@redhat.com>
24548
24549         di-set.h, ino-map.h: add multiple-inclusion guard
24550         Technically, the guard is required only for ino-map.h, due to its
24551         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
24552         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
24553         * lib/ino-map.h: Likewise.
24554
24555 2011-02-06  Bruno Haible  <bruno@clisp.org>
24556
24557         iswblank: Ensure declaration on glibc systems.
24558         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
24559         * modules/iswblank (Dependencies): Add 'extensions'.
24560         * doc/posix-functions/iswblank.texi: Document the glibc problem.
24561
24562 2011-02-06  Bruno Haible  <bruno@clisp.org>
24563
24564         New module 'iswblank'.
24565         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
24566         * modules/iswblank: New file.
24567         * modules/wctype-h (Files): Remove lib/iswblank.c.
24568         (Makefile.am): Substitute GNULIB_ISWBLANK.
24569         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
24570         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
24571         (gl_WCTYPE_H_DEFAULTS): New macro.
24572         (gl_WCTYPE_H): Require it. Remove iswblank related code.
24573         * modules/iswblank-tests: New file.
24574         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
24575         * tests/test-wctype-h.c (main): Remove iswblank tests.
24576         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
24577         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
24578         of 'wctype-h'.
24579         * NEWS: Mention the change.
24580         * modules/mbchar (Depends-on): Add iswblank.
24581
24582 2011-02-08  Bruno Haible  <bruno@clisp.org>
24583
24584         di-set tests: Refactor.
24585         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
24586         unnecessary includes.
24587         (ASSERT): Remove macro.
24588         (main): Make C90 compliant by avoiding variable declaration after
24589         statement.
24590         * modules/di-set-tests (Files): Add tests/macros.h.
24591
24592 2011-02-08  Bruno Haible  <bruno@clisp.org>
24593
24594         ino-map tests: Refactor.
24595         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
24596         unnecessary includes.
24597         (ASSERT): Remove macro.
24598         (main): Make C90 compliant by avoiding variable declaration after
24599         statement.
24600         * modules/ino-map-tests (Files): Add tests/macros.h.
24601
24602 2011-02-08  Jim Meyering  <meyering@redhat.com>
24603
24604         di-set: add "const" to a cast
24605         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
24606         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
24607
24608 2011-02-06  Bruno Haible  <bruno@clisp.org>
24609
24610         Rename module 'wctype' to 'wctype-h'.
24611         * modules/wctype-h: Renamed from modules/wctype.
24612         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
24613         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
24614         (Files, Depends-on, Makefile.am): Update.
24615         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
24616         (Files, Makefile.am): Update.
24617         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
24618         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
24619         * doc/posix-headers/wctype.texi: Update.
24620         * doc/posix-functions/iswalnum.texi: Update.
24621         * doc/posix-functions/iswalpha.texi: Update.
24622         * doc/posix-functions/iswblank.texi: Update.
24623         * doc/posix-functions/iswcntrl.texi: Update.
24624         * doc/posix-functions/iswdigit.texi: Update.
24625         * doc/posix-functions/iswgraph.texi: Update.
24626         * doc/posix-functions/iswlower.texi: Update.
24627         * doc/posix-functions/iswprint.texi: Update.
24628         * doc/posix-functions/iswpunct.texi: Update.
24629         * doc/posix-functions/iswspace.texi: Update.
24630         * doc/posix-functions/iswupper.texi: Update.
24631         * doc/posix-functions/iswxdigit.texi: Update.
24632         * doc/posix-functions/towlower.texi: Update.
24633         * doc/posix-functions/towupper.texi: Update.
24634         * NEWS: Mention the change.
24635         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
24636         * modules/mbchar (Dependencies): Likewise.
24637         * modules/mbswidth (Dependencies): Likewise.
24638         * modules/quotearg (Dependencies): Likewise.
24639         * modules/regex (Dependencies): Likewise.
24640         * modules/wcscasecmp (Dependencies): Likewise.
24641         * modules/wcsncasecmp (Dependencies): Likewise.
24642         * modules/wcwidth (Dependencies): Likewise.
24643
24644 2011-02-06  Bruno Haible  <bruno@clisp.org>
24645
24646         New module 'wcswidth'.
24647         * modules/wcswidth: New file.
24648         * lib/wchar.in.h (wcswidth): New declaration.
24649         * lib/wcswidth.c: New file.
24650         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
24651         * m4/wcswidth.m4: New file.
24652         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
24653         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
24654         REPLACE_WCSWIDTH.
24655         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
24656         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
24657         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
24658         * doc/posix-functions/wcswidth.texi: Mention the new module.
24659
24660 2011-02-06  Bruno Haible  <bruno@clisp.org>
24661
24662         New module 'wcstok'.
24663         * modules/wcstok: New file.
24664         * lib/wchar.in.h (wcstok): New declaration.
24665         * lib/wcstok.c: New file.
24666         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
24667         * m4/wcstok.m4: New file.
24668         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
24669         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
24670         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
24671         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
24672         * doc/posix-functions/wcstok.texi: Mention the new module.
24673
24674 2011-02-06  Bruno Haible  <bruno@clisp.org>
24675
24676         New module 'wcsstr'.
24677         * modules/wcsstr: New file.
24678         * lib/wchar.in.h (wcsstr): New declaration.
24679         * lib/wcsstr.c: New file.
24680         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
24681         * m4/wcsstr.m4: New file.
24682         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
24683         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
24684         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
24685         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
24686         * doc/posix-functions/wcsstr.texi: Mention the new module.
24687
24688 2011-02-06  Bruno Haible  <bruno@clisp.org>
24689
24690         New module 'wcspbrk'.
24691         * modules/wcspbrk: New file.
24692         * lib/wchar.in.h (wcspbrk): New declaration.
24693         * lib/wcspbrk.c: New file.
24694         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
24695         * m4/wcspbrk.m4: New file.
24696         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
24697         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
24698         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
24699         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
24700         * doc/posix-functions/wcspbrk.texi: Mention the new module.
24701
24702 2011-02-06  Bruno Haible  <bruno@clisp.org>
24703
24704         New module 'wcsspn'.
24705         * modules/wcsspn: New file.
24706         * lib/wchar.in.h (wcsspn): New declaration.
24707         * lib/wcsspn.c: New file.
24708         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
24709         * m4/wcsspn.m4: New file.
24710         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
24711         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
24712         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
24713         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
24714         * doc/posix-functions/wcsspn.texi: Mention the new module.
24715
24716 2011-02-06  Bruno Haible  <bruno@clisp.org>
24717
24718         New module 'wcscspn'.
24719         * modules/wcscspn: New file.
24720         * lib/wchar.in.h (wcscspn): New declaration.
24721         * lib/wcscspn.c: New file.
24722         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
24723         * m4/wcscspn.m4: New file.
24724         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
24725         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
24726         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
24727         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
24728         * doc/posix-functions/wcscspn.texi: Mention the new module.
24729
24730 2011-02-06  Bruno Haible  <bruno@clisp.org>
24731
24732         New module 'wcsrchr'.
24733         * modules/wcsrchr: New file.
24734         * lib/wchar.in.h (wcsrchr): New declaration.
24735         * lib/wcsrchr.c: New file.
24736         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
24737         * m4/wcsrchr.m4: New file.
24738         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
24739         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
24740         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
24741         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
24742         * doc/posix-functions/wcsrchr.texi: Mention the new module.
24743
24744 2011-02-06  Bruno Haible  <bruno@clisp.org>
24745
24746         New module 'wcschr'.
24747         * modules/wcschr: New file.
24748         * lib/wchar.in.h (wcschr): New declaration.
24749         * lib/wcschr.c: New file.
24750         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
24751         * m4/wcschr.m4: New file.
24752         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
24753         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
24754         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
24755         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
24756         * doc/posix-functions/wcschr.texi: Mention the new module.
24757
24758 2011-02-06  Bruno Haible  <bruno@clisp.org>
24759
24760         New module 'wcsdup'.
24761         * modules/wcsdup: New file.
24762         * lib/wchar.in.h (wcsdup): New declaration.
24763         * lib/wcsdup.c: New file.
24764         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
24765         * m4/wcsdup.m4: New file.
24766         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
24767         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
24768         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
24769         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
24770         * doc/posix-functions/wcsdup.texi: Mention the new module.
24771
24772 2011-02-06  Bruno Haible  <bruno@clisp.org>
24773
24774         New module 'wcsxfrm'.
24775         * modules/wcsxfrm: New file.
24776         * lib/wchar.in.h (wcsxfrm): New declaration.
24777         * lib/wcsxfrm.c: New file.
24778         * lib/wcsxfrm-impl.h: New file.
24779         * m4/wcsxfrm.m4: New file.
24780         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
24781         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
24782         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
24783         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
24784         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
24785
24786 2011-02-06  Bruno Haible  <bruno@clisp.org>
24787
24788         New module 'wcscoll'.
24789         * modules/wcscoll: New file.
24790         * lib/wchar.in.h (wcscoll): New declaration.
24791         * lib/wcscoll.c: New file.
24792         * lib/wcscoll-impl.h: New file.
24793         * m4/wcscoll.m4: New file.
24794         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
24795         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
24796         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
24797         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
24798         * doc/posix-functions/wcscoll.texi: Mention the new module.
24799
24800 2011-02-06  Bruno Haible  <bruno@clisp.org>
24801
24802         New module 'wcsncasecmp'.
24803         * modules/wcsncasecmp: New file.
24804         * lib/wchar.in.h (wcsncasecmp): New declaration.
24805         * lib/wcsncasecmp.c: New file.
24806         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
24807         * m4/wcsncasecmp.m4: New file.
24808         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
24809         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
24810         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
24811         HAVE_WCSNCASECMP.
24812         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
24813         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
24814
24815 2011-02-06  Bruno Haible  <bruno@clisp.org>
24816
24817         New module 'wcscasecmp'.
24818         * modules/wcscasecmp: New file.
24819         * lib/wchar.in.h (wcscasecmp): New declaration.
24820         * lib/wcscasecmp.c: New file.
24821         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
24822         * m4/wcscasecmp.m4: New file.
24823         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
24824         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
24825         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
24826         HAVE_WCSCASECMP.
24827         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
24828         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
24829
24830 2011-02-05  Bruno Haible  <bruno@clisp.org>
24831
24832         New module 'wcsncmp'.
24833         * modules/wcsncmp: New file.
24834         * lib/wchar.in.h (wcsncmp): New declaration.
24835         * lib/wcsncmp.c: New file.
24836         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
24837         * m4/wcsncmp.m4: New file.
24838         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
24839         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
24840         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
24841         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
24842         * doc/posix-functions/wcsncmp.texi: Mention the new module.
24843
24844 2011-02-05  Bruno Haible  <bruno@clisp.org>
24845
24846         New module 'wcscmp'.
24847         * modules/wcscmp: New file.
24848         * lib/wchar.in.h (wcscmp): New declaration.
24849         * lib/wcscmp.c: New file.
24850         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
24851         * m4/wcscmp.m4: New file.
24852         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
24853         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
24854         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
24855         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
24856         * doc/posix-functions/wcscmp.texi: Mention the new module.
24857
24858 2011-02-05  Bruno Haible  <bruno@clisp.org>
24859
24860         New module 'wcsncat'.
24861         * modules/wcsncat: New file.
24862         * lib/wchar.in.h (wcsncat): New declaration.
24863         * lib/wcsncat.c: New file.
24864         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
24865         * m4/wcsncat.m4: New file.
24866         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
24867         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
24868         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
24869         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
24870         * doc/posix-functions/wcsncat.texi: Mention the new module.
24871
24872 2011-02-05  Bruno Haible  <bruno@clisp.org>
24873
24874         New module 'wcscat'.
24875         * modules/wcscat: New file.
24876         * lib/wchar.in.h (wcscat): New declaration.
24877         * lib/wcscat.c: New file.
24878         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
24879         * m4/wcscat.m4: New file.
24880         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
24881         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
24882         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
24883         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
24884         * doc/posix-functions/wcscat.texi: Mention the new module.
24885
24886 2011-02-05  Bruno Haible  <bruno@clisp.org>
24887
24888         New module 'wcpncpy'.
24889         * modules/wcpncpy: New file.
24890         * lib/wchar.in.h (wcpncpy): New declaration.
24891         * lib/wcpncpy.c: New file.
24892         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
24893         * m4/wcpncpy.m4: New file.
24894         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
24895         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
24896         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
24897         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
24898         * doc/posix-functions/wcpncpy.texi: Mention the new module.
24899
24900 2011-02-05  Bruno Haible  <bruno@clisp.org>
24901
24902         New module 'wcsncpy'.
24903         * modules/wcsncpy: New file.
24904         * lib/wchar.in.h (wcsncpy): New declaration.
24905         * lib/wcsncpy.c: New file.
24906         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
24907         * m4/wcsncpy.m4: New file.
24908         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
24909         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
24910         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
24911         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
24912         * doc/posix-functions/wcsncpy.texi: Mention the new module.
24913
24914 2011-02-05  Bruno Haible  <bruno@clisp.org>
24915
24916         New module 'wcpcpy'.
24917         * modules/wcpcpy: New file.
24918         * lib/wchar.in.h (wcpcpy): New declaration.
24919         * lib/wcpcpy.c: New file.
24920         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
24921         * m4/wcpcpy.m4: New file.
24922         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
24923         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
24924         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
24925         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
24926         * doc/posix-functions/wcpcpy.texi: Mention the new module.
24927
24928 2011-02-05  Bruno Haible  <bruno@clisp.org>
24929
24930         New module 'wcscpy'.
24931         * modules/wcscpy: New file.
24932         * lib/wchar.in.h (wcscpy): New declaration.
24933         * lib/wcscpy.c: New file.
24934         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
24935         * m4/wcscpy.m4: New file.
24936         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
24937         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
24938         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
24939         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
24940         * doc/posix-functions/wcscpy.texi: Mention the new module.
24941
24942 2011-02-05  Bruno Haible  <bruno@clisp.org>
24943
24944         New module 'wcsnlen'.
24945         * modules/wcsnlen: New file.
24946         * lib/wchar.in.h (wcsnlen): New declaration.
24947         * lib/wcsnlen.c: New file.
24948         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
24949         * m4/wcsnlen.m4: New file.
24950         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
24951         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
24952         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
24953         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
24954         * doc/posix-functions/wcsnlen.texi: Mention the new module.
24955
24956 2011-02-05  Bruno Haible  <bruno@clisp.org>
24957
24958         New module 'wcslen'.
24959         * modules/wcslen: New file.
24960         * lib/wchar.in.h (wcslen): New declaration.
24961         * lib/wcslen.c: New file.
24962         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
24963         * m4/wcslen.m4: New file.
24964         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
24965         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
24966         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
24967         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
24968         * doc/posix-functions/wcslen.texi: Mention the new module.
24969
24970 2011-02-05  Bruno Haible  <bruno@clisp.org>
24971
24972         New module 'wmemset'.
24973         * modules/wmemset: New file.
24974         * lib/wchar.in.h (wmemset): New declaration.
24975         * lib/wmemset.c: New file.
24976         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
24977         * m4/wmemset.m4: New file.
24978         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
24979         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
24980         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
24981         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
24982         * doc/posix-functions/wmemset.texi: Mention the new module.
24983
24984 2011-02-05  Bruno Haible  <bruno@clisp.org>
24985
24986         New module 'wmemmove'.
24987         * modules/wmemmove: New file.
24988         * lib/wchar.in.h (wmemmove): New declaration.
24989         * lib/wmemmove.c: New file.
24990         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
24991         * m4/wmemmove.m4: New file.
24992         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
24993         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
24994         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
24995         HAVE_WMEMMOVE.
24996         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
24997         * doc/posix-functions/wmemmove.texi: Mention the new module.
24998
24999 2011-02-05  Bruno Haible  <bruno@clisp.org>
25000
25001         New module 'wmemcpy'.
25002         * modules/wmemcpy: New file.
25003         * lib/wchar.in.h (wmemcpy): New declaration.
25004         * lib/wmemcpy.c: New file.
25005         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
25006         * m4/wmemcpy.m4: New file.
25007         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
25008         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
25009         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
25010         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
25011         * doc/posix-functions/wmemcpy.texi: Mention the new module.
25012
25013 2011-02-05  Bruno Haible  <bruno@clisp.org>
25014
25015         New module 'wmemcmp'.
25016         * modules/wmemcmp: New file.
25017         * lib/wchar.in.h (wmemcmp): New declaration.
25018         * lib/wmemcmp.c: New file.
25019         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
25020         * m4/wmemcmp.m4: New file.
25021         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
25022         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
25023         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
25024         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
25025         * doc/posix-functions/wmemcmp.texi: Mention the new module.
25026
25027 2011-02-07  Jim Meyering  <meyering@redhat.com>
25028
25029         di-set, ino-map: new modules, from coreutils
25030         * lib/di-set.c: New file.
25031         * lib/di-set.h: Likewise.
25032         * lib/ino-map.c: Likewise.
25033         * lib/ino-map.h: Likewise.
25034         * modules/di-set: Likewise.
25035         * modules/di-set-tests: Likewise.
25036         * modules/ino-map: Likewise.
25037         * modules/ino-map-tests: Likewise.
25038         * tests/test-di-set.c: Likewise.
25039         * tests/test-ino-map.c: Likewise.
25040
25041 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
25042
25043         getloadavg: merge minor changes from Emacs
25044
25045         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
25046         (getloadavg): Use memset, not bzero.
25047
25048         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
25049         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
25050         clash (bug#86).
25051
25052 2010-11-14  Bruno Haible  <bruno@clisp.org>
25053
25054         Allow multiple gnulib generated replacements to coexist.
25055         * lib/getopt.in.h (struct option): Avoid identical redefinition.
25056         * lib/inttypes.in.h (imaxdiv_t): Likewise.
25057         * lib/langinfo.in.h (nl_item): Likewise.
25058         * lib/math.in.h (_NaN, NAN): Likewise.
25059         * lib/netdb.in.h (struct addrinfo): Likewise.
25060         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
25061         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
25062         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
25063         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
25064         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
25065         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
25066         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
25067         pthread_mutexattr_init, pthread_mutexattr_settype,
25068         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
25069         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
25070         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
25071         pthread_spin_trylock, pthread_spin_unlock): Likewise.
25072         * lib/sched.in.h (struct sched_param): Likewise.
25073         * lib/se-selinux.in.h (security_class_t, security_context_t,
25074         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
25075         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
25076         lsetfilecon, fsetfilecon, security_check_context,
25077         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
25078         Likewise.
25079         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
25080         Likewise.
25081         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
25082         _gl_function_taking_int_returning_void_t, union sigval,
25083         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
25084         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
25085         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
25086         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
25087         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
25088         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
25089         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
25090         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
25091         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
25092         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
25093         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
25094         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
25095         socklen_t, rpl_fd_isset): Likewise.
25096         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
25097         * lib/sys_time.in.h (struct timeval): Likewise.
25098         * lib/sys_times.in.h (struct tms): Likewise.
25099         * lib/sys_utsname.in.h (struct utsname):
25100         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
25101         * lib/unistd.in.h (getpagesize): Likewise.
25102         * lib/wchar.in.h (mbstate_t): Likewise.
25103         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
25104         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
25105         towlower, towupper): Likewise.
25106         Reported by Sam Steingold <sds@gnu.org>.
25107
25108 2011-02-05  Eric Blake  <eblake@redhat.com>
25109
25110         unsetenv: work around Haiku issues
25111         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
25112         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
25113
25114 2010-12-30  Bruce Korb  <bkorb@gnu.org>
25115
25116         libposix: avoid calling error() within libposix
25117         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
25118         is defined.
25119
25120 2011-02-05  Eric Blake  <eblake@redhat.com>
25121
25122         strerror_r-posix: port to cygwin
25123         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
25124         implementation.
25125         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
25126         * tests/test-strerror_r.c (main): Fix test.
25127         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
25128         issue.
25129
25130 2011-02-05  Bruno Haible  <bruno@clisp.org>
25131
25132         New module 'wmemchr'.
25133         * modules/wmemchr: New file.
25134         * lib/wchar.in.h (wmemchr): New declaration.
25135         * lib/wmemchr.c: New file.
25136         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
25137         * m4/wmemchr.m4: New file.
25138         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
25139         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
25140         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
25141         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
25142         * doc/posix-functions/wmemchr.texi: Mention the new module.
25143
25144 2011-02-04  Eric Blake  <eblake@redhat.com>
25145
25146         fdopendir: detect FreeBSD bug
25147         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
25148         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
25149
25150 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
25151
25152         stdbool: do not define HAVE_STDBOOL_H
25153         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
25154         AC_HEADER_STDBOOL.  All uses changed.  Do not define
25155         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
25156         imported from the latest Autoconf git.  It was motivated by Emacs,
25157         which uses gnulib but does not need HAVE_STDBOOL_H.
25158
25159 2011-02-04  Bruno Haible  <bruno@clisp.org>
25160
25161         wcsnrtombs: Prepare for new module wwcsnrtombs.
25162         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
25163         * lib/wcsnrtombs.c: Include it.
25164         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
25165
25166         wcsrtombs: Prepare for new module wwcsrtombs.
25167         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
25168         * lib/wcsrtombs.c: Include it.
25169         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
25170
25171         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
25172         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
25173         * lib/mbsnrtowcs.c: Include it.
25174         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
25175
25176         mbsrtowcs: Prepare for new module mbsrtowwcs.
25177         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
25178         * lib/mbsrtowcs.c: Include it.
25179         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
25180
25181 2011-02-04  Bruno Haible  <bruno@clisp.org>
25182
25183         vasnprintf: Reduce use of malloc for small format strings.
25184         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
25185         (arguments): Add room for the first 7 arguments.
25186         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
25187         (char_directives, u8_directives, u16_directives, u32_directives): Add
25188         room for the first 7 directives.
25189         * lib/printf-parse.c: Include <string.h>.
25190         (PRINTF_PARSE): Change memory handling code so that it uses the first
25191         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
25192         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
25193         Reported by Pádraig Brady <P@draigbrady.com>.
25194
25195 2011-01-31  Eric Blake  <eblake@redhat.com>
25196
25197         dup2: work around Haiku bug
25198         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
25199         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
25200         * doc/posix-functions/dup2.texi (dup2): Document the bug.
25201         * tests/test-dup2.c (main): Enhance test.
25202
25203 2011-01-31  Simon Josefsson  <simon@josefsson.org>
25204
25205         doc: off_t is not available in eglibc 2.11.2 stdio.h.
25206         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
25207         declared by eglibc 2.11.2.
25208         * lib/stdio.in.h: Likewise.
25209
25210 2011-01-31  Eric Blake  <eblake@redhat.com>
25211
25212         ignore-value: add missing test dependency
25213         * tests/test-ignore-value.c: Revert previous change; stdio.h
25214         provides off_t.
25215         * modules/ignore-value-tests (Depends-on): Add missing dependency.
25216
25217 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
25218
25219         mktime: clarify long_int width checking
25220         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
25221         the top level, to make it clearer that the assumption about
25222         long_int width is being checked.  See
25223         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
25224
25225 2011-01-30  Simon Josefsson  <simon@josefsson.org>
25226
25227         ignore-value: Fix self-test.
25228         * tests/test-ignore-value.c: Include sys/types.h for off_t.
25229
25230 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
25231
25232         TYPE_MAXIMUM: avoid theoretically undefined behavior
25233         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
25234         negative number, which the C Standard says has undefined behavior.
25235         In practice this is not a problem, but might as well do it by the book.
25236         Reported by Rich Felker and Eric Blake; see
25237         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
25238         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
25239         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
25240         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25241         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
25242         * m4/stdint.m4 (gl_STDINT_H): Likewise.
25243         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
25244
25245         mktime: #undef mktime before #defining it
25246         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
25247
25248         mktime: systematically normalize tm_isdst comparisons
25249         * lib/mktime.c (isdst_differ): New function.
25250         (__mktime_internal): Use it systematically for all isdst comparisons.
25251         This completes the fix for libc BZ #6723, and removes the need for
25252         normalizing tm_isdst.  See
25253         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
25254         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
25255
25256         mktime: fix some integer overflow issues and sidestep the rest
25257
25258         This was prompted by a bug report by Benjamin Lindner for MinGW
25259         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
25260         His bug is due to signed integer overflow (0 - INT_MIN), and I
25261         I scanned through mktime.c looking for other integer overflow
25262         problems, fixing all the bugs I found.
25263
25264         Although the C Standard says the resulting code is still not safe
25265         in the presence of integer overflow, in practice it should be good
25266         enough for all real-world two's-complement implementations, except
25267         for debugging environments that deliberately trap on integer
25268         overflow (e.g., gcc -ftrapv).
25269
25270         * lib/mktime.c (WRAPV): New macro.
25271         (SHR): Also check that long_int and time_t shift right in the
25272         usual way, before using the fast-but-unportable method.
25273         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
25274         used.  The code already assumed two's complement, so there's
25275         no need to test for alternatives.  All uses removed.
25276         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
25277         the C standard.  Problem reported by Rich Felker in
25278         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
25279         (twos_complement_arithmetic): Also check long_int and time_t.
25280         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
25281         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
25282         (__mktime_internal): Avoid integer overflow with unary subtraction
25283         in two instances where -1 - X is an adequate replacement for -X,
25284         since the calculations are approximate.
25285
25286 2011-01-29  Eric Blake  <eblake@redhat.com>
25287
25288         mktime: avoid infinite loop
25289         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
25290         type; behavior is still undefined but portable to all known targets.
25291         Reported by Rich Felker.
25292
25293 2011-01-29  Simon Josefsson  <simon@josefsson.org>
25294
25295         rename, unlink, same-inode: Relicense.
25296         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
25297         * modules/unlink (License): Likewise.
25298         * modules/same-inode (License): Likewise.
25299
25300 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
25301
25302         mktime: avoid problems on NetBSD 5 / i386
25303         * lib/mktime.c (long_int): New type.  This works around a problem
25304         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
25305         but time_t is 64 bits, and where I expect the existing code is
25306         wrong in some cases.
25307         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
25308         (ydhms_diff): Bring back the compile-time check for wide-enough
25309         year and yday.
25310
25311         mktime: fix misspelling in comment
25312         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
25313         This merges all recent glibc changes of importance.
25314
25315 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25316
25317         move-if-change: cope with concurrent mv of identical file.
25318         * build-aux/move-if-change (CMPPROG): Accept environment
25319         variable as an override for `cmp'.
25320         (usage): Document CMPPROG.
25321         Adjust comparison to drop stdout.  Cope with failure of mv if
25322         the target file exists and is identical to the source, for
25323         parallel builds.
25324         Report from H.J. Lu against binutils in PR binutils/12283.
25325
25326 2011-01-28  Bruce Korb  <bkorb@gnu.org>
25327
25328         * users.txt: Mention sharutils.
25329
25330 2011-01-28  Simon Josefsson  <simon@josefsson.org>
25331
25332         * users.txt: Mention OATH Toolkit.
25333
25334 2011-01-27  Bruno Haible  <bruno@clisp.org>
25335
25336         Prepare for supporting FreeBSD 10.
25337         * build-aux/config.libpath: Remove handling of freebsd1*.
25338
25339 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
25340
25341         Prepare for supporting FreeBSD 10.
25342         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
25343         match FreeBSD 10.0.
25344
25345 2011-01-27  Bruno Haible  <bruno@clisp.org>
25346
25347         vma-iter, get-rusage-as: Add OpenBSD support.
25348         * modules/vma-iter (configure.ac): Test for mquery.
25349         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
25350         * lib/vma-iter.c: Include <sys/mman.h>.
25351         (vma_iterate): Add an implementation based on mquery().
25352         * lib/resource-ext.h (get_rusage_as): Update comments.
25353         * lib/get-rusage-as.c: Likewise.
25354         * lib/get-rusage-data.c: Likewise.
25355
25356 2011-01-26  Karl Berry  <karl@gnu.org>
25357
25358         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
25359         variables to make it easier to override the makeinfo program used.
25360
25361 2011-01-26  Eric Blake  <eblake@redhat.com>
25362
25363         fcntl: work around Haiku F_DUPFD bugs
25364         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
25365         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
25366         cloexec bit on duplication.
25367         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
25368
25369 2011-01-26  Bruno Haible  <bruno@clisp.org>
25370
25371         Enable memory leak tests on AIX.
25372         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
25373         * tests/test-fprintf-posix3.c (main): Likewise.
25374
25375 2011-01-26  Bruno Haible  <bruno@clisp.org>
25376
25377         Tests for module 'get-rusage-data'.
25378         * modules/get-rusage-data-tests: New file.
25379         * tests/test-get-rusage-data.c: New file.
25380
25381         New module 'get-rusage-data'.
25382         * lib/resource-ext.h (get_rusage_data): New declaration.
25383         * lib/get-rusage-data.c: New file.
25384         * modules/get-rusage-data: New file.
25385
25386 2011-01-25  Bruno Haible  <bruno@clisp.org>
25387
25388         get-rusage-as: Allow for easier testing.
25389         * lib/resource-ext.h (get_rusage_as): Add comment.
25390         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
25391         (main): New function for interactive testing.
25392
25393 2011-01-25  Bruno Haible  <bruno@clisp.org>
25394
25395         vma-iter: Treat Haiku like BeOS.
25396         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
25397         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
25398
25399 2011-01-25  Eric Blake  <eblake@redhat.com>
25400
25401         c-stack: fix regression on cygwin when libsigsegv is present
25402         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
25403
25404 2011-01-24  Bruno Haible  <bruno@clisp.org>
25405
25406         vma-iter: Avoid empty intervals.
25407         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
25408         on an empty interval.
25409
25410 2011-01-24  Jim Meyering  <meyering@redhat.com>
25411
25412         u64: remove unnecessary #include
25413         * lib/u64.h: Don't include <stddef.h>.  It was not used.
25414
25415 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
25416
25417         Allow the user to avoid the HAVE_RAW_DECL_* macros.
25418         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
25419
25420 2011-01-23  Bruno Haible  <bruno@clisp.org>
25421
25422         New module 'vma-iter'.
25423         * lib/vma-iter.h: New file.
25424         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
25425         * modules/vma-iter: New file.
25426         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
25427         for get_rusage_as_via_iterator.
25428         (vma_iterate_callback): New function.
25429         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
25430         * modules/get-rusage-as (Depends-on): Add vma-iter.
25431
25432 2011-01-23  Bruno Haible  <bruno@clisp.org>
25433
25434         uninorm: Tweak includes.
25435         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
25436         Reported by Jim Meyering.
25437
25438 2011-01-23  Bruno Haible  <bruno@clisp.org>
25439
25440         get-rusage-as: Improve on NetBSD.
25441         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
25442         /proc, like on FreeBSD.
25443
25444 2011-01-23  Jim Meyering  <meyering@redhat.com>
25445
25446         xreadlink.h: remove unnecessary #include
25447         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
25448
25449         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
25450         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
25451
25452 2011-01-23  Bruno Haible  <bruno@clisp.org>
25453
25454         get-rusage-as: Fix bug.
25455         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
25456         original limit when aborting the first loop.
25457
25458 2011-01-23  Bruno Haible  <bruno@clisp.org>
25459
25460         wctype: Ensure valid C syntax.
25461         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
25462         unconditionally, instead of gl_NEXT_HEADERS conditionally.
25463
25464 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
25465
25466         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
25467         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
25468         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
25469         as they are needed only for configure's test case.
25470         This removes two unnecessary symbols from config.h.
25471
25472         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
25473         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
25474         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
25475         AC_CHECK_HEADERS_ONCE on a header that we also invoke
25476         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
25477         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
25478         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
25479         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
25480         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25481         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
25482         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
25483         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25484         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25485         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25486         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
25487         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25488         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25489         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
25490
25491 2011-01-21  Eric Blake  <eblake@redhat.com>
25492
25493         maintainer-makefile: work with older git for submodule check
25494         * top/maint.mk (public-submodule-commit): Rewrite to avoid
25495         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
25496         Reported by Matthias Bolte.
25497
25498         bootstrap: minor portability fixes
25499         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
25500         (usage): Omit leading capital and trailing . on help phrases, per
25501         GNU Coding Standards.
25502         (check_versions, top level): Prefix messages with script name.
25503
25504 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
25505
25506         bootstrap: support --no-git option
25507         * build-aux/bootstrap: Add --no-git option, to be used when
25508         --gnulib-srcdir points to the exact desired checkout.
25509
25510 2011-01-21  Eric Blake  <eblake@redhat.com>
25511
25512         strerror_r-posix: work with glibc 2.13
25513         * lib/strerror_r.c (strerror_r): Fix return type.
25514
25515 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25516             Bruno Haible  <bruno@clisp.org>
25517
25518         uN_strstr: New unit tests.
25519         * modules/unistr/u8-strstr-tests: New file.
25520         * modules/unistr/u16-strstr-tests: New file.
25521         * modules/unistr/u32-strstr-tests: New file.
25522         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
25523         * tests/unistr/test-u8-strstr.c: New file.
25524         * tests/unistr/test-u16-strstr.c: New file.
25525         * tests/unistr/test-u32-strstr.c: New file.
25526
25527 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25528             Bruno Haible  <bruno@clisp.org>
25529
25530         Make uN_strstr functions O(n) worst-case.
25531         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
25532         16-bit and 32-bit unit cases, use the unibyte algorithm from
25533         lib/mbsstr.c.
25534         * lib/unistr/u8-strstr.c: Include <string.h>.
25535         (UNIT_IS_UINT8_T): New macro.
25536         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
25537         (U_STRLEN, U_STRNLEN): New macros.
25538         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
25539         (U_STRLEN, U_STRNLEN): New macros.
25540         * modules/unistr/u8-strstr (Depends-on): Add strstr.
25541         (configure.ac): Update required libunistring version.
25542         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
25543         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
25544         malloca.
25545         (configure.ac): Update required libunistring version.
25546         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
25547         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
25548         malloca.
25549         (configure.ac): Update required libunistring version.
25550
25551 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25552             Bruno Haible  <bruno@clisp.org>
25553
25554         Prepare for faster uN_strstr functions.
25555         * lib/str-kmp.h: Support definable UNITs.
25556         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
25557         needle_len argument.
25558         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
25559         * lib/mbscasestr.c (mbscasestr): Likewise.
25560
25561 2011-01-21  Pádraig Brady <P@draigBrady.com>
25562
25563         malloca-tests: make faster by unsetting MALLOC_PERTURB_
25564         * tests/test-malloca.c (main): Unset the environment variable
25565         to greatly speed up the test.
25566         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
25567         * modules/malloca-tests: Depend on unsetenv.
25568
25569 2011-01-21  Pádraig Brady <P@draigBrady.com>
25570
25571         ignore-value: remove stdint dependency
25572         * lib/ignore-value.h: Remove <stdint.h>
25573         * modules/ignore-value: Remove stdint dependency.
25574
25575 2011-01-21  Jim Meyering  <meyering@redhat.com>
25576
25577         maint.mk: adjust variable name to be consistent with other gl_ vars
25578         * top/maint.mk (gl_public_submodule_commit): Rename the variable
25579         to be lower case.
25580
25581 2011-01-20  Jim Meyering  <meyering@redhat.com>
25582
25583         maint.mk: make "check" depend on public-submodule-commit by default
25584         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
25585
25586 2011-01-20  Bruno Haible  <bruno@clisp.org>
25587
25588         mbfile, mbiter: Complete change from 2008-12-21.
25589         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
25590         * m4/mbiter.m4 (gl_MBITER): Likewise.
25591
25592 2011-01-20  Jim Meyering  <meyering@redhat.com>
25593
25594         init.sh: insert space between each function name and "()"
25595         * tests/init.sh: Make it a little easier to see that a function's
25596         name is "warn_", and not "warn" when looking at the first part of
25597         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
25598
25599 2011-01-20  Jim Meyering  <meyering@redhat.com>
25600
25601         mountlist: clean up code formatting
25602         * lib/mountlist.c (read_file_system_list): Split a long line,
25603         correct bracing style, use NULL in place of "(struct statfs *)0",
25604         don't parenthesize return value, add spaces around "=" and after
25605         ";-in-for-stmt".
25606
25607 2011-01-14  Markus Duft <mduft@gentoo.org>
25608
25609         mountlist: add support for Interix
25610         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
25611         Apply statvfs to all entries of /dev/fs.
25612         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
25613         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
25614
25615 2011-01-20  Jim Meyering  <meyering@redhat.com>
25616
25617         maint.mk: improve the public-submodule-commit rule
25618         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
25619         to suppress printing of its commands... unless V=1.
25620         Add git submodule's --quiet option to suppress printing of e.g.,
25621         "Entering gnulib" output.
25622         "cd" into $(srcdir) before running git submodule.
25623
25624 2011-01-20  Bruno Haible  <bruno@clisp.org>
25625
25626         include_next: Fix bug introduced on 2011-01-18.
25627         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
25628         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
25629         ac_cv_header_... variable if the second argument is not 'check'.
25630         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
25631         gl_NEXT_HEADERS_INTERNAL.
25632
25633 2011-01-20  Bruno Haible  <bruno@clisp.org>
25634
25635         Allow the user to avoid the GNULIB_TEST_* macros.
25636         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
25637         Suggested by Paul Eggert.
25638
25639 2011-01-14  Jim Meyering  <meyering@redhat.com>
25640
25641         bootstrap: avoid failure when there is no .gitmodules file
25642         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
25643         has been assigned to, even when its value is the empty string.
25644         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
25645         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
25646         Reported by John W. Eaton <jwe@gnu.org>.
25647
25648 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
25649
25650         assume <ctype.h>, ..., <time.h> exist
25651         For years gnulib has been assuming the existence of the headers
25652         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
25653         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
25654         them, since they don't appear to be needed.
25655         * README (Portability guidelines): Document this.
25656         * lib/flock.c: Assume <fcntl.h> exists.
25657         * lib/regex_internal.h: Assume <locale.h> exists.
25658         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
25659         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
25660         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
25661         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
25662         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
25663         * m4/regex.m4 (gl_REGEX): Likewise.
25664         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
25665         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
25666         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
25667         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
25668         * tests/test-argp.c: Likewise.
25669         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
25670
25671         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
25672         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
25673         AA_APPLE_UNIVERSAL_BUILD.  See
25674         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
25675         * NEWS: Document this.
25676
25677 2011-01-19  Eric Blake  <eblake@redhat.com>
25678
25679         c-stack: assume stack overflow if SA_SIGINFO unsupported
25680         * lib/c-stack.c (SIGACTION_WORKS): Rename...
25681         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
25682         sigaction will work.
25683         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
25684         behavior match Linux.
25685         * tests/test-c-stack.c (main): Prefer NULL for pointers.
25686
25687         stdbool-tests: accommodate Haiku
25688         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
25689
25690         binary-io: fix O_TEXT on Haiku
25691         * modules/binary-io (Depends-on): Add fcntl-h.
25692         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
25693         than blindly undefining O_TEXT.
25694         Reported by Scott McCreary.
25695
25696 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25697
25698         include_next: do not check for standard headers like stddef.h
25699
25700         I found this problem when modifying Emacs to use gnulib.
25701         I noticed that it added HAVE_STDDEF_H to config.h, even though
25702         gnulib always assumes <stddef.h> exists as per README and this
25703         symbol is unnecessary.
25704         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
25705         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
25706         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
25707         faster for headers like stddef.h that are known to exist.
25708         (gl_CHECK_NEXT_HEADERS): Use it.
25709         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
25710         rather than gl_CHECK_NEXT_HEADERS.
25711         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
25712         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
25713
25714 2011-01-18  Eric Blake  <eblake@redhat.com>
25715
25716         ansi-c++-opt: skip C++ dependency style if C++ is unused
25717         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
25718         tests when we know C++ compilation is not desired.
25719         Reported by Scott McCreary.
25720
25721 2011-01-18  Bruno Haible  <bruno@clisp.org>
25722
25723         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
25724         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
25725         (main): Perform test also when getrlimit and setrlimit don't exist or
25726         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
25727         limiting the address space size using setrlimit, compare the address
25728         space size before and after the the test.
25729         * tests/test-dprintf-posix2.c: Likewise.
25730         * tests/test-fprintf-posix3.sh: Update skip messages.
25731         * tests/test-dprintf-posix2.sh: Likewise.
25732         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
25733         * modules/dprintf-posix-tests (Depends-on): Likewise.
25734         Reported by Bruce Korb <bkorb@gnu.org> and
25735         Gary V. Vaughan <gary@gnu.org>.
25736
25737 2011-01-18  Bruno Haible  <bruno@clisp.org>
25738
25739         get-rusage-as: Improvement for Cygwin.
25740         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
25741         areas that are merely reserved.
25742
25743 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25744
25745         strftime: remove dependencies on multibyte modules
25746
25747         strftime depended on mbrlen, mbsinit, and wchar, but these modules
25748         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
25749         only if __osf__ is defined, and I suspect OSF doesn't need these
25750         other modules.  If my guess is wrong, we'll need to come up with a
25751         variant of strftime that doesn't need the multibyte modules.
25752
25753         I discovered this problem when attempting modify Emacs to use the
25754         strftime module.  With the previous gnulib, this caused Emacs to
25755         need 31 new files, ranging from lib/config.charset to
25756         m4/wint_t.m4.  This was overkill and I expect would be offputting
25757         to the Emacs maintainers.  After this change, only 6 new files are
25758         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
25759         stdbool.m4, and tm_gmtoff.m4.
25760
25761         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
25762         Suggested by Bruno Haible in
25763         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
25764         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
25765         and do not check for wchar.h.
25766         * modules/strftime (Files): Remove m4/mbstate_t.m4.
25767         (Depends-on): Remove mbrlen, mbsinit, wchar.
25768
25769 2011-01-18  Bruno Haible  <bruno@clisp.org>
25770
25771         Tests for module 'get-rusage-as'.
25772         * modules/get-rusage-as-tests: New file.
25773         * tests/test-get-rusage-as.c: New file.
25774
25775         New module 'get-rusage-as'.
25776         * modules/get-rusage-as: New file.
25777         * lib/resource-ext.h: New file.
25778         * lib/get-rusage-as.c: New file.
25779
25780 2011-01-17  Eric Blake  <eblake@redhat.com>
25781
25782         sigaction: relax license from LGPLv3+ to LGPLv2+
25783         * modules/sigaction (License): Relax to LGPLv2+.
25784
25785 2011-01-14  Bruno Haible  <bruno@clisp.org>
25786
25787         filemode: Make function declarations usable in C++ mode.
25788         * lib/filemode.h: Enclose function declarations in extern "C" block.
25789         Reported by John W. Eaton <jwe@gnu.org>.
25790
25791 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
25792
25793         save-cwd: no longer include "xgetcwd.h"
25794         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
25795         This avoids a compilation failure in projects that use save-cwd
25796         without also using the xgetcwd module.
25797
25798 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25799
25800         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
25801         This is so that a program like Emacs, which needs only dtoastr,
25802         does not have to bother with distributing and compiling ftoastr
25803         and ldtoastr.
25804         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
25805         * modules/dtoastr, modules/ldtoastr: New files.
25806         * modules/ftoastr: Now works just for 'float'.
25807         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
25808         (Makefile.am): Remove ftoastr.h (not needed and no effect),
25809         dtoastr.c, ldtoastr.c.
25810
25811 2011-01-11  Jim Meyering  <meyering@redhat.com>
25812
25813         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
25814         There is no need to work around the lack of the fchdir function,
25815         since gnulib can now provide a replacement when required.
25816         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
25817         * modules/save-cwd (Depends-on): Add fchdir.
25818
25819 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25820
25821         openat, save-cwd: avoid xmalloc
25822
25823         This removes a direct (but undocumented) dependency of openat on
25824         xalloc, along with an indirect dependency via save-cwd.  It also
25825         removes a dependency of save-cwd on xgetcwd, and thereby
25826         indirectly on xalloc.  This change causes the openat substitute
25827         to fall back on save_cwd when memory is tight, and for save_cwd to
25828         fail instead of dying when memory is tight, but that's good enough.
25829         Problem and initial idea for fix reported by Bastien Roucaries in
25830         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
25831
25832         * lib/openat-proc.c: Include stdlib.h (for malloc), not
25833         xalloc.h (for xmalloc).
25834         (openat_proc_name): Use malloc, not xmalloc.
25835         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
25836         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
25837
25838         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
25839         This avoids heap allocation for file names whose lengths are in
25840         the range 512..1023, with the upper bound increasing to at most
25841         4031 depending on the platform's PATH_MAX.  (We do not want
25842         pathmax.h here as it might supply a non-constant PATH_MAX.)
25843         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
25844         Perhaps they should be moved to malloca.h?
25845         (OPENAT_BUFFER_SIZE): Use them.
25846
25847 2011-01-10  Bruno Haible  <bruno@clisp.org>
25848
25849         doc: Update users.txt.
25850         * users.txt: Add recutils.
25851
25852 2011-01-09  Karl Berry  <karl@gnu.org>
25853
25854         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
25855
25856         * doc/configmake.texi: New file.
25857         * doc/gnulib.texi: Include it.
25858         * modules/configmake: Move documentation from here.
25859
25860 2011-01-09  Bruno Haible  <bruno@clisp.org>
25861
25862         Update to Unicode 6.0.0.
25863         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
25864         (get_lbp): Update for Unicode 6.0.0.
25865         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
25866         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
25867         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
25868         U+11001, U+11038..U+11046. Remove U+06DE.
25869         (uc_width): Fix bounds of planes.
25870         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25871         lib/uniwidth/width.c.
25872         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
25873         trailing whitespace removed.
25874         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
25875         without comments, but with the original copyright notice.
25876         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
25877         * lib/unicase/ignorable.h: Likewise.
25878         * lib/unicase/tocasefold.h: Likewise.
25879         * lib/unicase/tolower.h: Likewise.
25880         * lib/unicase/totitle.h: Likewise.
25881         * lib/unicase/toupper.h: Likewise.
25882         * lib/unictype/bidi_of.h: Likewise.
25883         * lib/unictype/blocks.h: Likewise.
25884         * lib/unictype/categ_C.h: Likewise.
25885         * lib/unictype/categ_Cn.h: Likewise.
25886         * lib/unictype/categ_L.h: Likewise.
25887         * lib/unictype/categ_Ll.h: Likewise.
25888         * lib/unictype/categ_Lm.h: Likewise.
25889         * lib/unictype/categ_Lo.h: Likewise.
25890         * lib/unictype/categ_Lu.h: Likewise.
25891         * lib/unictype/categ_M.h: Likewise.
25892         * lib/unictype/categ_Mc.h: Likewise.
25893         * lib/unictype/categ_Me.h: Likewise.
25894         * lib/unictype/categ_Mn.h: Likewise.
25895         * lib/unictype/categ_N.h: Likewise.
25896         * lib/unictype/categ_Nd.h: Likewise.
25897         * lib/unictype/categ_No.h: Likewise.
25898         * lib/unictype/categ_P.h: Likewise.
25899         * lib/unictype/categ_Po.h: Likewise.
25900         * lib/unictype/categ_S.h: Likewise.
25901         * lib/unictype/categ_Sc.h: Likewise.
25902         * lib/unictype/categ_Sk.h: Likewise.
25903         * lib/unictype/categ_Sm.h: Likewise.
25904         * lib/unictype/categ_So.h: Likewise.
25905         * lib/unictype/categ_of.h: Likewise.
25906         * lib/unictype/combining.h: Likewise.
25907         * lib/unictype/ctype_alnum.h: Likewise.
25908         * lib/unictype/ctype_alpha.h: Likewise.
25909         * lib/unictype/ctype_graph.h: Likewise.
25910         * lib/unictype/ctype_lower.h: Likewise.
25911         * lib/unictype/ctype_print.h: Likewise.
25912         * lib/unictype/ctype_punct.h: Likewise.
25913         * lib/unictype/ctype_upper.h: Likewise.
25914         * lib/unictype/decdigit.h: Likewise.
25915         * lib/unictype/digit.h: Likewise.
25916         * lib/unictype/numeric.h: Likewise.
25917         * lib/unictype/pr_alphabetic.h: Likewise.
25918         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25919         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25920         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25921         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25922         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25923         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25924         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25925         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25926         * lib/unictype/pr_case_ignorable.h: Likewise.
25927         * lib/unictype/pr_cased.h: Likewise.
25928         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
25929         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
25930         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
25931         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
25932         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
25933         * lib/unictype/pr_combining.h: Likewise.
25934         * lib/unictype/pr_composite.h: Likewise.
25935         * lib/unictype/pr_currency_symbol.h: Likewise.
25936         * lib/unictype/pr_decimal_digit.h: Likewise.
25937         * lib/unictype/pr_deprecated.h: Likewise.
25938         * lib/unictype/pr_format_control.h: Likewise.
25939         * lib/unictype/pr_grapheme_base.h: Likewise.
25940         * lib/unictype/pr_grapheme_extend.h: Likewise.
25941         * lib/unictype/pr_grapheme_link.h: Likewise.
25942         * lib/unictype/pr_id_continue.h: Likewise.
25943         * lib/unictype/pr_id_start.h: Likewise.
25944         * lib/unictype/pr_ideographic.h: Likewise.
25945         * lib/unictype/pr_lowercase.h: Likewise.
25946         * lib/unictype/pr_math.h: Likewise.
25947         * lib/unictype/pr_numeric.h: Likewise.
25948         * lib/unictype/pr_other_alphabetic.h: Likewise.
25949         * lib/unictype/pr_other_id_continue.h: Likewise.
25950         * lib/unictype/pr_other_math.h: Likewise.
25951         * lib/unictype/pr_punctuation.h: Likewise.
25952         * lib/unictype/pr_sentence_terminal.h: Likewise.
25953         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25954         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25955         * lib/unictype/pr_unified_ideograph.h: Likewise.
25956         * lib/unictype/pr_uppercase.h: Likewise.
25957         * lib/unictype/pr_xid_continue.h: Likewise.
25958         * lib/unictype/pr_xid_start.h: Likewise.
25959         * lib/unictype/scripts.h: Likewise.
25960         * lib/unictype/scripts_byname.gperf: Likewise.
25961         * lib/unictype/sy_java_ident.h: Likewise.
25962         * lib/unigbrk/gbrkprop.h: Likewise.
25963         * lib/unilbrk/lbrkprop1.h: Likewise.
25964         * lib/unilbrk/lbrkprop2.h: Likewise.
25965         * lib/uninorm/decomposition-table2.h: Likewise.
25966         * lib/uniwbrk/wbrkprop.h: Likewise.
25967         * tests/unicase/test-cased.c: Likewise.
25968         * tests/unicase/test-ignorable.c: Likewise.
25969         * tests/unicase/test-uc_tolower.c: Likewise.
25970         * tests/unicase/test-uc_totitle.c: Likewise.
25971         * tests/unicase/test-uc_toupper.c: Likewise.
25972         * tests/unictype/test-categ_C.c: Likewise.
25973         * tests/unictype/test-categ_Cn.c: Likewise.
25974         * tests/unictype/test-categ_L.c: Likewise.
25975         * tests/unictype/test-categ_Ll.c: Likewise.
25976         * tests/unictype/test-categ_Lm.c: Likewise.
25977         * tests/unictype/test-categ_Lo.c: Likewise.
25978         * tests/unictype/test-categ_Lu.c: Likewise.
25979         * tests/unictype/test-categ_M.c: Likewise.
25980         * tests/unictype/test-categ_Mc.c: Likewise.
25981         * tests/unictype/test-categ_Me.c: Likewise.
25982         * tests/unictype/test-categ_Mn.c: Likewise.
25983         * tests/unictype/test-categ_N.c: Likewise.
25984         * tests/unictype/test-categ_Nd.c: Likewise.
25985         * tests/unictype/test-categ_No.c: Likewise.
25986         * tests/unictype/test-categ_P.c: Likewise.
25987         * tests/unictype/test-categ_Po.c: Likewise.
25988         * tests/unictype/test-categ_S.c: Likewise.
25989         * tests/unictype/test-categ_Sc.c: Likewise.
25990         * tests/unictype/test-categ_Sk.c: Likewise.
25991         * tests/unictype/test-categ_Sm.c: Likewise.
25992         * tests/unictype/test-categ_So.c: Likewise.
25993         * tests/unictype/test-ctype_alnum.c: Likewise.
25994         * tests/unictype/test-ctype_alpha.c: Likewise.
25995         * tests/unictype/test-ctype_graph.c: Likewise.
25996         * tests/unictype/test-ctype_lower.c: Likewise.
25997         * tests/unictype/test-ctype_print.c: Likewise.
25998         * tests/unictype/test-ctype_punct.c: Likewise.
25999         * tests/unictype/test-ctype_upper.c: Likewise.
26000         * tests/unictype/test-decdigit.h: Likewise.
26001         * tests/unictype/test-digit.h: Likewise.
26002         * tests/unictype/test-numeric.h: Likewise.
26003         * tests/unictype/test-pr_alphabetic.c: Likewise.
26004         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26005         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
26006         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
26007         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26008         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26009         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26010         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26011         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26012         * tests/unictype/test-pr_case_ignorable.c: Likewise.
26013         * tests/unictype/test-pr_cased.c: Likewise.
26014         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
26015         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
26016         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
26017         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
26018         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
26019         * tests/unictype/test-pr_combining.c: Likewise.
26020         * tests/unictype/test-pr_composite.c: Likewise.
26021         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26022         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26023         * tests/unictype/test-pr_deprecated.c: Likewise.
26024         * tests/unictype/test-pr_format_control.c: Likewise.
26025         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26026         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26027         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26028         * tests/unictype/test-pr_id_continue.c: Likewise.
26029         * tests/unictype/test-pr_id_start.c: Likewise.
26030         * tests/unictype/test-pr_ideographic.c: Likewise.
26031         * tests/unictype/test-pr_lowercase.c: Likewise.
26032         * tests/unictype/test-pr_math.c: Likewise.
26033         * tests/unictype/test-pr_numeric.c: Likewise.
26034         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26035         * tests/unictype/test-pr_other_id_continue.c: Likewise.
26036         * tests/unictype/test-pr_other_math.c: Likewise.
26037         * tests/unictype/test-pr_punctuation.c: Likewise.
26038         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26039         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26040         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26041         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26042         * tests/unictype/test-pr_uppercase.c: Likewise.
26043         * tests/unictype/test-pr_xid_continue.c: Likewise.
26044         * tests/unictype/test-pr_xid_start.c: Likewise.
26045         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
26046         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
26047         changes.
26048         * lib/unictype/categ_Cc.h: Likewise.
26049         * lib/unictype/categ_Cf.h: Likewise.
26050         * lib/unictype/categ_Co.h: Likewise.
26051         * lib/unictype/categ_Cs.h: Likewise.
26052         * lib/unictype/categ_Lt.h: Likewise.
26053         * lib/unictype/categ_Nl.h: Likewise.
26054         * lib/unictype/categ_Pc.h: Likewise.
26055         * lib/unictype/categ_Pd.h: Likewise.
26056         * lib/unictype/categ_Pe.h: Likewise.
26057         * lib/unictype/categ_Pf.h: Likewise.
26058         * lib/unictype/categ_Pi.h: Likewise.
26059         * lib/unictype/categ_Ps.h: Likewise.
26060         * lib/unictype/categ_Z.h: Likewise.
26061         * lib/unictype/categ_Zl.h: Likewise.
26062         * lib/unictype/categ_Zp.h: Likewise.
26063         * lib/unictype/categ_Zs.h: Likewise.
26064         * lib/unictype/ctype_blank.h: Likewise.
26065         * lib/unictype/ctype_cntrl.h: Likewise.
26066         * lib/unictype/ctype_digit.h: Likewise.
26067         * lib/unictype/ctype_space.h: Likewise.
26068         * lib/unictype/ctype_xdigit.h: Likewise.
26069         * lib/unictype/mirror.h: Likewise.
26070         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26071         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26072         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26073         * lib/unictype/pr_bidi_control.h: Likewise.
26074         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26075         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26076         * lib/unictype/pr_bidi_european_digit.h: Likewise.
26077         * lib/unictype/pr_bidi_pdf.h: Likewise.
26078         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26079         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26080         * lib/unictype/pr_dash.h: Likewise.
26081         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26082         * lib/unictype/pr_diacritic.h: Likewise.
26083         * lib/unictype/pr_extender.h: Likewise.
26084         * lib/unictype/pr_hex_digit.h: Likewise.
26085         * lib/unictype/pr_hyphen.h: Likewise.
26086         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26087         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26088         * lib/unictype/pr_ignorable_control.h: Likewise.
26089         * lib/unictype/pr_iso_control.h: Likewise.
26090         * lib/unictype/pr_join_control.h: Likewise.
26091         * lib/unictype/pr_left_of_pair.h: Likewise.
26092         * lib/unictype/pr_line_separator.h: Likewise.
26093         * lib/unictype/pr_logical_order_exception.h: Likewise.
26094         * lib/unictype/pr_non_break.h: Likewise.
26095         * lib/unictype/pr_not_a_character.h: Likewise.
26096         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26097         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26098         * lib/unictype/pr_other_id_start.h: Likewise.
26099         * lib/unictype/pr_other_lowercase.h: Likewise.
26100         * lib/unictype/pr_other_uppercase.h: Likewise.
26101         * lib/unictype/pr_paired_punctuation.h: Likewise.
26102         * lib/unictype/pr_paragraph_separator.h: Likewise.
26103         * lib/unictype/pr_pattern_syntax.h: Likewise.
26104         * lib/unictype/pr_pattern_white_space.h: Likewise.
26105         * lib/unictype/pr_private_use.h: Likewise.
26106         * lib/unictype/pr_quotation_mark.h: Likewise.
26107         * lib/unictype/pr_radical.h: Likewise.
26108         * lib/unictype/pr_soft_dotted.h: Likewise.
26109         * lib/unictype/pr_space.h: Likewise.
26110         * lib/unictype/pr_titlecase.h: Likewise.
26111         * lib/unictype/pr_variation_selector.h: Likewise.
26112         * lib/unictype/pr_white_space.h: Likewise.
26113         * lib/unictype/pr_zero_width.h: Likewise.
26114         * lib/unictype/sy_c_ident.h: Likewise.
26115         * lib/unictype/sy_c_whitespace.h: Likewise.
26116         * lib/unictype/sy_java_whitespace.h: Likewise.
26117         * lib/uninorm/composition-table.gperf: Likewise.
26118         * lib/uninorm/decomposition-table1.h: Likewise.
26119         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
26120         LB8.
26121         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26122         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26123         * modules/unictype/*: Bump version number of expected libunistring
26124         version.
26125
26126 2011-01-09  Bruno Haible  <bruno@clisp.org>
26127
26128         Update to Unicode 5.2.0.
26129         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
26130         trailing whitespace removed.
26131
26132 2011-01-09  Bruno Haible  <bruno@clisp.org>
26133
26134         New Unicode character properties, from Unicode 5.2.0.
26135         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
26136         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
26137         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
26138         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
26139         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
26140         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
26141         uc_is_property_cased, uc_is_property_case_ignorable,
26142         uc_is_property_changes_when_lowercased,
26143         uc_is_property_changes_when_uppercased,
26144         uc_is_property_changes_when_titlecased,
26145         uc_is_property_changes_when_casefolded,
26146         uc_is_property_changes_when_casemapped): New declarations.
26147         * lib/unictype/pr_byname.gperf: Add the new properties.
26148         * modules/unictype/property-byname (Depends-on): Depend on the new
26149         properties modules.
26150         * modules/unictype/property-all (Depends-on): Likewise.
26151         * MODULES.html.sh (Unicode string functions): Add
26152         unictype/property-case-ignorable, unictype/property-cased,
26153         unictype/property-changes-when-casefolded,
26154         unictype/property-changes-when-casemapped,
26155         unictype/property-changes-when-lowercased,
26156         unictype/property-changes-when-titlecased,
26157         unictype/property-changes-when-uppercased.
26158
26159         New module 'unictype/property-changes-when-casemapped'.
26160         * modules/unictype/property-changes-when-casemapped: New file.
26161         * lib/unictype/pr_changes_when_casemapped.c: New file.
26162         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
26163         generated by gen-uni-tables.
26164         * modules/unictype/property-changes-when-casemapped-tests: New file.
26165         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
26166         automatically generated by gen-uni-tables.
26167
26168         New module 'unictype/property-changes-when-casefolded'.
26169         * modules/unictype/property-changes-when-casefolded: New file.
26170         * lib/unictype/pr_changes_when_casefolded.c: New file.
26171         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
26172         generated by gen-uni-tables.
26173         * modules/unictype/property-changes-when-casefolded-tests: New file.
26174         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
26175         automatically generated by gen-uni-tables.
26176
26177         New module 'unictype/property-changes-when-titlecased'.
26178         * modules/unictype/property-changes-when-titlecased: New file.
26179         * lib/unictype/pr_changes_when_titlecased.c: New file.
26180         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
26181         generated by gen-uni-tables.
26182         * modules/unictype/property-changes-when-titlecased-tests: New file.
26183         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
26184         automatically generated by gen-uni-tables.
26185
26186         New module 'unictype/property-changes-when-uppercased'.
26187         * modules/unictype/property-changes-when-uppercased: New file.
26188         * lib/unictype/pr_changes_when_uppercased.c: New file.
26189         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
26190         generated by gen-uni-tables.
26191         * modules/unictype/property-changes-when-uppercased-tests: New file.
26192         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
26193         automatically generated by gen-uni-tables.
26194
26195         New module 'unictype/property-changes-when-lowercased'.
26196         * modules/unictype/property-changes-when-lowercased: New file.
26197         * lib/unictype/pr_changes_when_lowercased.c: New file.
26198         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
26199         generated by gen-uni-tables.
26200         * modules/unictype/property-changes-when-lowercased-tests: New file.
26201         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
26202         automatically generated by gen-uni-tables.
26203
26204         New module 'unictype/property-case-ignorable'.
26205         * modules/unictype/property-case-ignorable: New file.
26206         * lib/unictype/pr_case_ignorable.c: New file.
26207         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
26208         by gen-uni-tables.
26209         * modules/unictype/property-case-ignorable-tests: New file.
26210         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
26211         generated by gen-uni-tables.
26212
26213         New module 'unictype/property-cased'.
26214         * modules/unictype/property-cased: New file.
26215         * lib/unictype/pr_cased.c: New file.
26216         * lib/unictype/pr_cased.h: New file, automatically generated by
26217         gen-uni-tables.
26218         * modules/unictype/property-cased-tests: New file.
26219         * tests/unictype/test-pr_cased.c: New file, automatically generated by
26220         gen-uni-tables.
26221
26222 2011-01-09  Bruno Haible  <bruno@clisp.org>
26223
26224         Update to Unicode 5.2.0.
26225         * lib/gen-uni-tables.c (output_predicate, output_category,
26226         output_combclass, output_bidi_category, output_decimal_digit_test,
26227         output_decimal_digit, output_digit_test, output_digit,
26228         output_numeric_test, output_numeric, output_mirror, output_scripts,
26229         output_scripts_byname, output_blocks, output_ident_category): Fix
26230         comment header.
26231         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
26232         get_wbp.
26233         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
26234         items.
26235         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
26236         Changes_When_Lowercased, Changes_When_Uppercased,
26237         Changes_When_Titlecased, Changes_When_Casefolded,
26238         Changes_When_Casemapped.
26239         (is_property_alphabetic, is_property_default_ignorable_code_point):
26240         Update for Unicode 5.2.0.
26241         (is_property_cased, is_property_case_ignorable,
26242         is_property_changes_when_lowercased,
26243         is_property_changes_when_uppercased,
26244         is_property_changes_when_titlecased,
26245         is_property_changes_when_casefolded,
26246         is_property_changes_when_casemapped): New functions.
26247         (output_properties): Output also the properties cased, case_ignorable,
26248         changes_when_lowercased, changes_when_uppercased,
26249         changes_when_titlecased, changes_when_casefolded,
26250         changes_when_casemapped.
26251         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
26252         Unicode TR#11 revision 17 -> 19.
26253         (LBP_CP): New enumeration value.
26254         (LBP_*): Adjust values accordingly.
26255         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
26256         TR#14 revision 22 -> 24.
26257         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
26258         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
26259         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
26260         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
26261         is_WBP_MIDLETTER.
26262         (output_composition_tables): Allow for 24 bits instead of 16 bits in
26263         the code1 and code2 of each composition rule.
26264         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
26265         * lib/unicase/ignorable.h: Likewise.
26266         * lib/unicase/tocasefold.h: Likewise.
26267         * lib/unicase/tolower.h: Likewise.
26268         * lib/unicase/totitle.h: Likewise.
26269         * lib/unicase/toupper.h: Likewise.
26270         * lib/unictype/bidi_of.h: Likewise.
26271         * lib/unictype/blocks.h: Likewise.
26272         * lib/unictype/categ_C.h: Likewise.
26273         * lib/unictype/categ_Cf.h: Likewise.
26274         * lib/unictype/categ_Cn.h: Likewise.
26275         * lib/unictype/categ_L.h: Likewise.
26276         * lib/unictype/categ_Ll.h: Likewise.
26277         * lib/unictype/categ_Lm.h: Likewise.
26278         * lib/unictype/categ_Lo.h: Likewise.
26279         * lib/unictype/categ_Lu.h: Likewise.
26280         * lib/unictype/categ_M.h: Likewise.
26281         * lib/unictype/categ_Mc.h: Likewise.
26282         * lib/unictype/categ_Mn.h: Likewise.
26283         * lib/unictype/categ_N.h: Likewise.
26284         * lib/unictype/categ_Nd.h: Likewise.
26285         * lib/unictype/categ_Nl.h: Likewise.
26286         * lib/unictype/categ_No.h: Likewise.
26287         * lib/unictype/categ_P.h: Likewise.
26288         * lib/unictype/categ_Pd.h: Likewise.
26289         * lib/unictype/categ_Po.h: Likewise.
26290         * lib/unictype/categ_S.h: Likewise.
26291         * lib/unictype/categ_Sc.h: Likewise.
26292         * lib/unictype/categ_So.h: Likewise.
26293         * lib/unictype/categ_of.h: Likewise.
26294         * lib/unictype/combining.h: Likewise.
26295         * lib/unictype/ctype_alnum.h: Likewise.
26296         * lib/unictype/ctype_alpha.h: Likewise.
26297         * lib/unictype/ctype_graph.h: Likewise.
26298         * lib/unictype/ctype_lower.h: Likewise.
26299         * lib/unictype/ctype_print.h: Likewise.
26300         * lib/unictype/ctype_punct.h: Likewise.
26301         * lib/unictype/ctype_upper.h: Likewise.
26302         * lib/unictype/decdigit.h: Likewise.
26303         * lib/unictype/digit.h: Likewise.
26304         * lib/unictype/numeric.h: Likewise.
26305         * lib/unictype/pr_alphabetic.h: Likewise.
26306         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
26307         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
26308         * lib/unictype/pr_bidi_european_digit.h: Likewise.
26309         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
26310         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
26311         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
26312         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
26313         * lib/unictype/pr_combining.h: Likewise.
26314         * lib/unictype/pr_composite.h: Likewise.
26315         * lib/unictype/pr_currency_symbol.h: Likewise.
26316         * lib/unictype/pr_dash.h: Likewise.
26317         * lib/unictype/pr_decimal_digit.h: Likewise.
26318         * lib/unictype/pr_deprecated.h: Likewise.
26319         * lib/unictype/pr_diacritic.h: Likewise.
26320         * lib/unictype/pr_extender.h: Likewise.
26321         * lib/unictype/pr_grapheme_base.h: Likewise.
26322         * lib/unictype/pr_grapheme_extend.h: Likewise.
26323         * lib/unictype/pr_grapheme_link.h: Likewise.
26324         * lib/unictype/pr_id_continue.h: Likewise.
26325         * lib/unictype/pr_id_start.h: Likewise.
26326         * lib/unictype/pr_ideographic.h: Likewise.
26327         * lib/unictype/pr_ignorable_control.h: Likewise.
26328         * lib/unictype/pr_logical_order_exception.h: Likewise.
26329         * lib/unictype/pr_lowercase.h: Likewise.
26330         * lib/unictype/pr_numeric.h: Likewise.
26331         * lib/unictype/pr_other_alphabetic.h: Likewise.
26332         * lib/unictype/pr_punctuation.h: Likewise.
26333         * lib/unictype/pr_sentence_terminal.h: Likewise.
26334         * lib/unictype/pr_terminal_punctuation.h: Likewise.
26335         * lib/unictype/pr_unassigned_code_value.h: Likewise.
26336         * lib/unictype/pr_unified_ideograph.h: Likewise.
26337         * lib/unictype/pr_uppercase.h: Likewise.
26338         * lib/unictype/pr_xid_continue.h: Likewise.
26339         * lib/unictype/pr_xid_start.h: Likewise.
26340         * lib/unictype/pr_zero_width.h: Likewise.
26341         * lib/unictype/scripts.h: Likewise.
26342         * lib/unictype/scripts_byname.gperf: Likewise.
26343         * lib/unictype/sy_java_ident.h: Likewise.
26344         * lib/unigbrk/gbrkprop.h: Likewise.
26345         * lib/unilbrk/lbrkprop1.h: Likewise.
26346         * lib/unilbrk/lbrkprop2.h: Likewise.
26347         * lib/unilbrk/lbrktables.h: Likewise.
26348         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
26349         LBP_CP. Implement rule LB30.
26350         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
26351         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
26352         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
26353         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
26354         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
26355         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
26356         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
26357         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
26358         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
26359         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
26360         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
26361         bits instead of 16 bits in the code1 and code2 of each composition
26362         rule.
26363         (uc_composition): Update for Unicode 5.2.0.
26364         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
26365         * lib/uninorm/decomposition-table2.h: Likewise.
26366         * lib/uniwbrk/wbrkprop.h: Likewise.
26367         * tests/unicase/test-cased.c: Likewise.
26368         * tests/unicase/test-ignorable.c: Likewise.
26369         * tests/unicase/test-uc_tolower.c: Likewise.
26370         * tests/unicase/test-uc_totitle.c: Likewise.
26371         * tests/unicase/test-uc_toupper.c: Likewise.
26372         * tests/unictype/test-categ_C.c: Likewise.
26373         * tests/unictype/test-categ_Cf.c: Likewise.
26374         * tests/unictype/test-categ_Cn.c: Likewise.
26375         * tests/unictype/test-categ_L.c: Likewise.
26376         * tests/unictype/test-categ_Ll.c: Likewise.
26377         * tests/unictype/test-categ_Lm.c: Likewise.
26378         * tests/unictype/test-categ_Lo.c: Likewise.
26379         * tests/unictype/test-categ_Lu.c: Likewise.
26380         * tests/unictype/test-categ_M.c: Likewise.
26381         * tests/unictype/test-categ_Mc.c: Likewise.
26382         * tests/unictype/test-categ_Mn.c: Likewise.
26383         * tests/unictype/test-categ_N.c: Likewise.
26384         * tests/unictype/test-categ_Nd.c: Likewise.
26385         * tests/unictype/test-categ_Nl.c: Likewise.
26386         * tests/unictype/test-categ_No.c: Likewise.
26387         * tests/unictype/test-categ_P.c: Likewise.
26388         * tests/unictype/test-categ_Pd.c: Likewise.
26389         * tests/unictype/test-categ_Po.c: Likewise.
26390         * tests/unictype/test-categ_S.c: Likewise.
26391         * tests/unictype/test-categ_Sc.c: Likewise.
26392         * tests/unictype/test-categ_So.c: Likewise.
26393         * tests/unictype/test-ctype_alnum.c: Likewise.
26394         * tests/unictype/test-ctype_alpha.c: Likewise.
26395         * tests/unictype/test-ctype_graph.c: Likewise.
26396         * tests/unictype/test-ctype_lower.c: Likewise.
26397         * tests/unictype/test-ctype_print.c: Likewise.
26398         * tests/unictype/test-ctype_punct.c: Likewise.
26399         * tests/unictype/test-ctype_upper.c: Likewise.
26400         * tests/unictype/test-decdigit.h: Likewise.
26401         * tests/unictype/test-digit.h: Likewise.
26402         * tests/unictype/test-numeric.h: Likewise.
26403         * tests/unictype/test-pr_alphabetic.c: Likewise.
26404         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26405         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26406         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
26407         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26408         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26409         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26410         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26411         * tests/unictype/test-pr_combining.c: Likewise.
26412         * tests/unictype/test-pr_composite.c: Likewise.
26413         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26414         * tests/unictype/test-pr_dash.c: Likewise.
26415         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26416         * tests/unictype/test-pr_deprecated.c: Likewise.
26417         * tests/unictype/test-pr_diacritic.c: Likewise.
26418         * tests/unictype/test-pr_extender.c: Likewise.
26419         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26420         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26421         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26422         * tests/unictype/test-pr_id_continue.c: Likewise.
26423         * tests/unictype/test-pr_id_start.c: Likewise.
26424         * tests/unictype/test-pr_ideographic.c: Likewise.
26425         * tests/unictype/test-pr_ignorable_control.c: Likewise.
26426         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
26427         * tests/unictype/test-pr_lowercase.c: Likewise.
26428         * tests/unictype/test-pr_numeric.c: Likewise.
26429         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26430         * tests/unictype/test-pr_punctuation.c: Likewise.
26431         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26432         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26433         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26434         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26435         * tests/unictype/test-pr_uppercase.c: Likewise.
26436         * tests/unictype/test-pr_xid_continue.c: Likewise.
26437         * tests/unictype/test-pr_xid_start.c: Likewise.
26438         * tests/unictype/test-pr_zero_width.c: Likewise.
26439         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
26440         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
26441         changed behaviour: line breaking is now disallowed between a letter
26442         or '=' and '('.
26443         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26444         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26445         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
26446         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
26447         * tests/uniwidth/test-uc_width2.sh: Same updates as in
26448         lib/uniwidth/width.c.
26449         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
26450         without comments, but with the original copyright notice.
26451         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
26452         changes.
26453         * lib/unictype/categ_Cc.h: Likewise.
26454         * lib/unictype/categ_Co.h: Likewise.
26455         * lib/unictype/categ_Cs.h: Likewise.
26456         * lib/unictype/categ_Lt.h: Likewise.
26457         * lib/unictype/categ_Me.h: Likewise.
26458         * lib/unictype/categ_Pc.h: Likewise.
26459         * lib/unictype/categ_Pe.h: Likewise.
26460         * lib/unictype/categ_Pf.h: Likewise.
26461         * lib/unictype/categ_Pi.h: Likewise.
26462         * lib/unictype/categ_Ps.h: Likewise.
26463         * lib/unictype/categ_Sk.h: Likewise.
26464         * lib/unictype/categ_Sm.h: Likewise.
26465         * lib/unictype/categ_Z.h: Likewise.
26466         * lib/unictype/categ_Zl.h: Likewise.
26467         * lib/unictype/categ_Zp.h: Likewise.
26468         * lib/unictype/categ_Zs.h: Likewise.
26469         * lib/unictype/ctype_blank.h: Likewise.
26470         * lib/unictype/ctype_cntrl.h: Likewise.
26471         * lib/unictype/ctype_digit.h: Likewise.
26472         * lib/unictype/ctype_space.h: Likewise.
26473         * lib/unictype/ctype_xdigit.h: Likewise.
26474         * lib/unictype/mirror.h: Likewise.
26475         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26476         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
26477         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26478         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
26479         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26480         * lib/unictype/pr_bidi_control.h: Likewise.
26481         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26482         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26483         * lib/unictype/pr_bidi_pdf.h: Likewise.
26484         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26485         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26486         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26487         * lib/unictype/pr_format_control.h: Likewise.
26488         * lib/unictype/pr_hex_digit.h: Likewise.
26489         * lib/unictype/pr_hyphen.h: Likewise.
26490         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26491         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26492         * lib/unictype/pr_iso_control.h: Likewise.
26493         * lib/unictype/pr_join_control.h: Likewise.
26494         * lib/unictype/pr_left_of_pair.h: Likewise.
26495         * lib/unictype/pr_line_separator.h: Likewise.
26496         * lib/unictype/pr_math.h: Likewise.
26497         * lib/unictype/pr_non_break.h: Likewise.
26498         * lib/unictype/pr_not_a_character.h: Likewise.
26499         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26500         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26501         * lib/unictype/pr_other_id_continue.h: Likewise.
26502         * lib/unictype/pr_other_id_start.h: Likewise.
26503         * lib/unictype/pr_other_lowercase.h: Likewise.
26504         * lib/unictype/pr_other_math.h: Likewise.
26505         * lib/unictype/pr_other_uppercase.h: Likewise.
26506         * lib/unictype/pr_paired_punctuation.h: Likewise.
26507         * lib/unictype/pr_paragraph_separator.h: Likewise.
26508         * lib/unictype/pr_pattern_syntax.h: Likewise.
26509         * lib/unictype/pr_pattern_white_space.h: Likewise.
26510         * lib/unictype/pr_private_use.h: Likewise.
26511         * lib/unictype/pr_quotation_mark.h: Likewise.
26512         * lib/unictype/pr_radical.h: Likewise.
26513         * lib/unictype/pr_soft_dotted.h: Likewise.
26514         * lib/unictype/pr_space.h: Likewise.
26515         * lib/unictype/pr_titlecase.h: Likewise.
26516         * lib/unictype/pr_variation_selector.h: Likewise.
26517         * lib/unictype/pr_white_space.h: Likewise.
26518         * lib/unictype/sy_c_ident.h: Likewise.
26519         * lib/unictype/sy_c_whitespace.h: Likewise.
26520         * lib/unictype/sy_java_whitespace.h: Likewise.
26521         * modules/uni*/*: Bump version number of expected libunistring version.
26522         Reported by Simon Josefsson.
26523
26524 2011-01-09  Karl Heuer  <kwzh@gnu.org>
26525
26526         useless-if-before-free: fix typo in --help and make the internal,
26527         automatic version date update process work once again.
26528         --help output contained a NUL character instead of the
26529         backslash-zero that was intended.  Also, the "must lie within
26530         the first 8 lines" line is on line 9, and hence not getting
26531         automatically updated.
26532         * build-aux/useless-if-before-free: Fix the former by adding a
26533         backslash, and the latter by condensing the three lines of what-it-does
26534         to a single line, leaving one line of slack for the future.
26535
26536 2011-01-09  Bruno Haible  <bruno@clisp.org>
26537
26538         uniwidth/width: Fix width of U+1D173..U+1D17A.
26539         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
26540         symbolic_width, output_width_property_test): New functions.
26541         (main): Invoke output_nonspacing_property, output_width_property_test.
26542         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
26543         U+1D173..U+1D17A.
26544         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
26545         1.
26546         * modules/uniwidth/*: Bump version number of expected libunistring
26547         version.
26548         * modules/unilbrk/*: Likewise.
26549
26550 2011-01-08  Bruno Haible  <bruno@clisp.org>
26551
26552         uninorm tests: Preserve copyright of Unicode data file.
26553         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
26554         Mention modifications.
26555
26556 2011-01-08  Bruno Haible  <bruno@clisp.org>
26557
26558         gen-uni-tables: Prepare for Unicode 5.2.0.
26559         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
26560         (debug_output_lbp, output_lbp): Update.
26561
26562 2011-01-08  Bruno Haible  <bruno@clisp.org>
26563
26564         unilbrk: Clarify gen-uni-tables.c code.
26565         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
26566         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
26567         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
26568
26569 2011-01-07  Bruno Haible  <bruno@clisp.org>
26570
26571         strtod: Restore errno when successfully parsing Infinity or NaN.
26572         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
26573         restore the original errno.
26574
26575 2011-01-07  Bruno Haible  <bruno@clisp.org>
26576
26577         remove test: Avoid failure on HP-UX 11.
26578         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
26579
26580 2011-01-07  Bruno Haible  <bruno@clisp.org>
26581
26582         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
26583         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
26584         error code.
26585
26586 2011-01-07  Pádraig Brady <P@draigBrady.com>
26587
26588         ignore-value: fixup comments, and add Eric Blake
26589         as an author since he rewrote the macros.
26590         * lib/ignore-value.h (ignore_value):  State that
26591         we now support aggregates.  Also specify exactly
26592         when the GCC warn_unused_result feature was added.
26593
26594 2011-01-06  Eric Blake  <eblake@redhat.com>
26595
26596         ignore-value: support aggregate types
26597         * lib/ignore-value.h (ignore_value): Provide separate gcc
26598         definition.
26599         * modules/ignore-value-tests: New test module.
26600         * tests/test-ignore-value.c: New test.
26601
26602         maint.mk: improve sc_prohibit_strcmp regex
26603         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
26604         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
26605         definition of STRNEQ.
26606
26607         signal: work around Haiku issue with SIGBUS
26608         * lib/siglist.h: Add comment.
26609         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
26610         strsignal's favoring of SIGSEGV.
26611         * tests/test-signal.c (main): Avoid test failure.
26612         * doc/posix-headers/signal.texi (signal.h): Document the issue.
26613         Reported by Scott McCreary.
26614
26615         maint.mk: add pre-release check to ensure submodule commits are public
26616         * top/maint.mk (public-submodule-commit): New rule.
26617         (submodule-checks): New variable.
26618         (alpha beta stable): Depend on the variable.
26619
26620 2011-01-05  Pádraig Brady <P@draigBrady.com>
26621         and Jim Meyering  <meyering@redhat.com>
26622
26623         ignore-value: make ignore_value more generic; deprecate ignore_ptr
26624         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
26625         (ATTRIBUTE_DEPRECATED): Define.
26626         (_ignore_case): New function.
26627         (ignore_value): New macro, to replace the old function.
26628         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
26629         * modules/ignore-value (Depends-on): Add stdint.
26630
26631 2011-01-04  Eric Blake  <eblake@redhat.com>
26632
26633         doc: regenerate INSTALL
26634         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
26635         @firstparagraphindent support, now that autoconf dropped it.
26636         (INSTALL_PRELUDE): Reinstate old macro.
26637         * doc/install.texi: Resync from autoconf.
26638         * doc/INSTALL: Reflect recent autoconf update.
26639         * doc/INSTALL.ISO: Likewise.
26640         * doc/INSTALL.UTF-8: Likewise.
26641         Reported by Karl Berry.
26642
26643 2011-01-04  Bruce Korb  <address@hidden>
26644
26645         git-version-gen: avoid a sub-shell
26646         * build-aux/git-version-gen: Redirect stderr in `...` via
26647         "exec 2>...", rather than via an added sub-shell.
26648
26649 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
26650
26651         git-version-gen: use (...) rather than sh -c '...'
26652         * build-aux/git-version-gen: Rather than hard-coding a shell's name
26653         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
26654
26655 2011-01-03  Jim Meyering  <meyering@redhat.com>
26656
26657         git-version-gen: convert leading TABs to spaces
26658         * build-aux/git-version-gen: Expand leading TABs.
26659
26660         git-version-gen: handle failed "git rev-list"
26661         * build-aux/git-version-gen: Rather than leaking a "fatal" error
26662         from git and proceeding as if it had succeeded but printed no SHA1
26663         checksums, suppress the diagnostic and handle the failure.
26664         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
26665
26666         git-version-gen: include command name in one more diagnostic
26667         * build-aux/git-version-gen: When the required .tarball-version file
26668         was missing or unreadable, you might see the diagnostic from "cat",
26669         but no trace of the name of the invoking script.  Now, you still see
26670         the diagnostic from cat, but also get one from "git-version-gen: ".
26671         Inspired by a patch from Bruce Korb.
26672
26673         update-copyright: adjust test to match changed code
26674         * tests/test-update-copyright.sh: Change test's expected output
26675         to match new actual output.
26676
26677 2011-01-02  Bruno Haible  <bruno@clisp.org>
26678
26679         getlogin_r: Avoid test failure on HP-UX 11.
26680         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
26681         ERANGE when the second argument is zero.
26682         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
26683         portability problem.
26684
26685 2011-01-02  Bruce Korb  <bkorb@gnu.org>
26686
26687         * build-aux/update-copyright: doc Simon's changes
26688
26689 2011-01-02  Simon Josefsson  <simon@josefsson.org>
26690
26691         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
26692         environment variable.
26693
26694 2011-01-02  Bruno Haible  <bruno@clisp.org>
26695
26696         unigbrk: Avoid gcc warnings.
26697         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
26698         unused variable.
26699         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
26700         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
26701         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
26702         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
26703         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
26704         Change type of first argument to 'const char *'.
26705         (main): Remove unused variable.
26706         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
26707         type of first argument to 'const char *'.
26708         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
26709         Likewise.
26710         (main): Change type of variable 's'.
26711         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
26712         to 'int'.
26713
26714 2011-01-02  Bruno Haible  <bruno@clisp.org>
26715
26716         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
26717         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
26718         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
26719         bug.
26720         * lib/pwrite.c: Undo 2010-12-31 patch.
26721         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
26722
26723 2011-01-02  Bruno Haible  <bruno@clisp.org>
26724
26725         pread: Fix test whether it works.
26726         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
26727
26728 2011-01-02  Bruno Haible  <bruno@clisp.org>
26729
26730         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
26731         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
26732         ends in "6". Don't require a specific month name. Try also the locale
26733         names found on HP-UX 11 and Solaris 7.
26734
26735 2011-01-02  Bruno Haible  <bruno@clisp.org>
26736
26737         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
26738         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
26739         C linkage.
26740         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
26741
26742 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26743
26744         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
26745         for consistency, since the "cluster" term is not used elsewhere.
26746         * lib/unigbrk.in.h: Update name.
26747         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
26748         * lib/unigbrk/u16-grapheme-next.c: Update name.
26749         * lib/unigbrk/u16-grapheme-prev.c: Update name.
26750         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
26751         * lib/unigbrk/u32-grapheme-next.c: Update name.
26752         * lib/unigbrk/u32-grapheme-prev.c: Update name.
26753         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
26754         * lib/unigbrk/u8-grapheme-next.c: Update name.
26755         * lib/unigbrk/u8-grapheme-prev.c: Update name.
26756         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
26757         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
26758         Suggested by Bruno Haible.
26759
26760 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26761
26762         Remove module 'u8-grapheme-len' as too redundant with
26763         'u8-grapheme-next'.
26764         * modules/unigbrk/u8-grapheme-len: Delete file.
26765         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
26766         * lib/unigbrk.in.h: Remove prototype for deleted function.
26767         * lib/unigbrk/u8-grapheme-len.c: Delete file.
26768         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
26769
26770         Remove module 'u16-grapheme-len' as too redundant with
26771         'u16-grapheme-next'.
26772         * modules/unigbrk/u16-grapheme-len: Delete file.
26773         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
26774         * lib/unigbrk.in.h: Remove prototype for deleted function.
26775         * lib/unigbrk/u16-grapheme-len.c: Delete file.
26776         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
26777
26778         Remove module 'u32-grapheme-len' as too redundant with
26779         'u32-grapheme-next'.
26780         * modules/unigbrk/u32-grapheme-len: Delete file.
26781         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
26782         * lib/unigbrk.in.h: Remove prototype for deleted function.
26783         * lib/unigbrk/u32-grapheme-len.c: Delete file.
26784         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
26785
26786         Suggested by Bruno Haible.
26787
26788 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26789
26790         * unigbrk.in.h: Fix typo: "ben" => "been".
26791         Reported by Bruno Haible.
26792
26793 2011-01-01  Jim Meyering  <meyering@redhat.com>
26794
26795         maint: update almost all copyright ranges to include 2011
26796         Run the new "make update-copyright" rule.
26797
26798 2011-01-01  Jim Meyering  <meyering@redhat.com>
26799
26800         maint: update-copyright: exempt doc/INSTALL*
26801         * Makefile (update-copyright): Also exclude doc/INSTALL*,
26802         since they are generated.  Suggested by Bruno Haible.
26803
26804 2011-01-01  Jim Meyering  <meyering@redhat.com>
26805
26806         maint: refine the update-copyright rule
26807         * Makefile (update-copyright): Also exclude any file that includes
26808         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
26809         code that merely generates the comment.
26810
26811 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26812
26813         New module 'u8-grapheme-len'.
26814         * modules/unigbrk/u8-grapheme-len: New file.
26815         * modules/unigbrk/u8-grapheme-len-tests: New file.
26816         * lib/unigbrk.in.h: Add prototype for new function.
26817         * lib/unigbrk/u8-grapheme-len.c: New file.
26818         * tests/unigbrk/test-u8-grapheme-len.c: New file.
26819
26820         New module 'u16-grapheme-len'.
26821         * modules/unigbrk/u16-grapheme-len: New file.
26822         * modules/unigbrk/u16-grapheme-len-tests: New file.
26823         * lib/unigbrk.in.h: Add prototype for new function.
26824         * lib/unigbrk/u16-grapheme-len.c: New file.
26825         * tests/unigbrk/test-u16-grapheme-len.c: New file.
26826
26827         New module 'u32-grapheme-len'.
26828         * modules/unigbrk/u32-grapheme-len: New file.
26829         * modules/unigbrk/u32-grapheme-len-tests: New file.
26830         * lib/unigbrk.in.h: Add prototype for new function.
26831         * lib/unigbrk/u32-grapheme-len.c: New file.
26832         * tests/unigbrk/test-u32-grapheme-len.c: New file.
26833
26834         New module 'u8-grapheme-next'.
26835         * modules/unigbrk/u8-grapheme-next: New file.
26836         * modules/unigbrk/u8-grapheme-next-tests: New file.
26837         * lib/unigbrk.in.h: Add prototype for new function.
26838         * lib/unigbrk/u8-grapheme-next.c: New file.
26839         * tests/unigbrk/test-u8-grapheme-next.c: New file.
26840
26841         New module 'u16-grapheme-next'.
26842         * modules/unigbrk/u16-grapheme-next: New file.
26843         * modules/unigbrk/u16-grapheme-next-tests: New file.
26844         * lib/unigbrk.in.h: Add prototype for new function.
26845         * lib/unigbrk/u16-grapheme-next.c: New file.
26846         * tests/unigbrk/test-u16-grapheme-next.c: New file.
26847
26848         New module 'u32-grapheme-next'.
26849         * modules/unigbrk/u32-grapheme-next: New file.
26850         * modules/unigbrk/u32-grapheme-next-tests: New file.
26851         * lib/unigbrk.in.h: Add prototype for new function.
26852         * lib/unigbrk/u32-grapheme-next.c: New file.
26853         * tests/unigbrk/test-u32-grapheme-next.c: New file.
26854
26855         New module 'u8-grapheme-prev'.
26856         * modules/unigbrk/u8-grapheme-prev: New file.
26857         * modules/unigbrk/u8-grapheme-prev-tests: New file.
26858         * lib/unigbrk.in.h: Add prototype for new function.
26859         * lib/unigbrk/u8-grapheme-prev.c: New file.
26860         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
26861
26862         New module 'u16-grapheme-prev'.
26863         * modules/unigbrk/u16-grapheme-prev: New file.
26864         * modules/unigbrk/u16-grapheme-prev-tests: New file.
26865         * lib/unigbrk.in.h: Add prototype for new function.
26866         * lib/unigbrk/u16-grapheme-prev.c: New file.
26867         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
26868
26869         New module 'u32-grapheme-prev'.
26870         * modules/unigbrk/u32-grapheme-prev: New file.
26871         * modules/unigbrk/u32-grapheme-prev-tests: New file.
26872         * lib/unigbrk.in.h: Add prototype for new function.
26873         * lib/unigbrk/u32-grapheme-prev.c: New file.
26874         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
26875
26876         New module 'u8-grapheme-breaks'.
26877         * modules/unigbrk/u8-grapheme-breaks: New file.
26878         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
26879         * lib/unigbrk.in.h: Add prototype for new function.
26880         * lib/unigbrk/u8-grapheme-breaks.c: New file.
26881         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
26882
26883         New module 'u16-grapheme-breaks'.
26884         * modules/unigbrk/u16-grapheme-breaks: New file.
26885         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
26886         * lib/unigbrk.in.h: Add prototype for new function.
26887         * lib/unigbrk/u16-grapheme-breaks.c: New file.
26888         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
26889
26890         New module 'u32-grapheme-breaks'.
26891         * modules/unigbrk/u32-grapheme-breaks: New file.
26892         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
26893         * lib/unigbrk.in.h: Add prototype for new function.
26894         * lib/unigbrk/u32-grapheme-breaks.c: New file.
26895         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
26896
26897         New module 'ulc-grapheme-breaks'.
26898         * modules/unigbrk/ulc-grapheme-breaks: New file.
26899         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
26900         * m4/locale-ar.m4: New file.
26901         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
26902         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
26903         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
26904
26905 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26906
26907         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
26908         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
26909         modified how this file was generated before I initially submitted
26910         the module, but failed to regenerate it.  This meant that several
26911         of the level2 entries were wrong.
26912         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
26913         Remove the division-by-2 that is folded into the table now that
26914         gbrkprop.h has been regenerated properly.  Now -1 entries are
26915         handled correctly.
26916
26917         New module 'unigbrk/uc-gbrk-prop-tests'.
26918         * modules/unigbrk/uc-gbrk-prop-tests: New file.
26919         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
26920         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
26921         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
26922
26923 2011-01-01  Bruno Haible  <bruno@clisp.org>
26924
26925         Avoid use of hexadecimal escapes.
26926         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
26927         instead of hexadecimal escapes.
26928
26929 2011-01-01  Jim Meyering  <meyering@redhat.com>
26930
26931         maint: new rule to update copyright year ranges
26932         * Makefile (update-copyright): New rule.
26933
26934         maint: indent with TABs in Makefile
26935         * Makefile: Expand leading sequences of spaces to TABs
26936
26937         version-etc: update the copyright year it reports
26938         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
26939
26940 2010-12-31  Bruno Haible  <bruno@clisp.org>
26941
26942         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
26943         * lib/isfinite.c (zerof, zerod, zerol): New variables.
26944         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
26945         zero.
26946
26947 2010-12-31  Bruno Haible  <bruno@clisp.org>
26948
26949         pwrite: Work around HP-UX 11.11 bug.
26950         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
26951         works and set REPLACE_PWRITE if not.
26952         * lib/pwrite.c (pwrite): Add an implementation that uses the system
26953         function.
26954         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
26955
26956 2010-12-31  Bruno Haible  <bruno@clisp.org>
26957
26958         pread: Work around HP-UX 11 bugs.
26959         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
26960         and set REPLACE_PREAD if not.
26961         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
26962
26963 2010-12-31  Eric Blake  <eblake@redhat.com>
26964
26965         nl_langinfo: fix YESEXPR on Irix 6.5
26966         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
26967         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
26968         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
26969         it.
26970
26971 2010-12-31  Bruno Haible  <bruno@clisp.org>
26972
26973         iconv: Document HP-UX 11 bug.
26974         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
26975
26976 2010-12-31  Bruno Haible  <bruno@clisp.org>
26977
26978         ldexpl: Fix link error on HP-UX 11.
26979         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
26980         LDEXPL_LIBM, using $ISNANL_LIBM.
26981
26982 2010-12-31  Eric Blake  <eblake@redhat.com>
26983
26984         ftello: avoid compilation failure with SunStudio c89
26985         * lib/ftello.c (ftello): Use lseek, not llseek.
26986
26987         tests: avoid failing coreutils tests on cygwin
26988         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
26989         (create_exe_shims_): Return 0 when skipping.
26990
26991 2010-12-31  Bruno Haible  <bruno@clisp.org>
26992
26993         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
26994         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
26995
26996 2010-12-31  Bruno Haible  <bruno@clisp.org>
26997
26998         waitpid: Fix link error in C++ mode.
26999         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
27000
27001 2010-12-31  Bruno Haible  <bruno@clisp.org>
27002
27003         isnan: Use GCC built-ins when possible.
27004         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
27005         __builtin_isnan.
27006         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
27007         (isnan): Define using GCC built-ins for GCC >= 4.0.
27008
27009 2010-12-31  Bruno Haible  <bruno@clisp.org>
27010
27011         isnand: Fix mistake.
27012         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
27013         __builtin_isnand.
27014
27015 2010-12-31  Bruno Haible  <bruno@clisp.org>
27016
27017         open: Avoid C++ error on HP-UX 11.
27018         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
27019
27020 2010-12-31  Bruno Haible  <bruno@clisp.org>
27021
27022         time_r: Add missing declarations on HP-UX 11.
27023         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
27024         instead of HAVE_LOCALTIME_R.
27025         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
27026         HAVE_LOCALTIME_R always.
27027         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
27028         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
27029         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
27030         HAVE_LOCALTIME_R.
27031         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
27032         * doc/posix-functions/localtime_r.texi: Likewise.
27033
27034 2010-12-29  Eric Blake  <eblake@redhat.com>
27035
27036         mountlist: tweak previous commit
27037         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
27038         Reported by Paul Eggert.
27039
27040         mountlist: fix local drive detection on cygwin
27041         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
27042         that works for cygwin.
27043
27044 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
27045
27046         ftoastr, snprintf: ftoastr + snprintf module
27047         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
27048         since the snprintf module now should be good enough here.
27049         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
27050         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
27051         and gl_MODULE_INDICATOR([snprintf]), but the former enables
27052         GNULIB_SNPRINTF only for the test directory, and the latter
27053         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
27054         seems to suffice by itself.
27055
27056 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
27057
27058         alloca: one step towards thread-safety
27059         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
27060         need for a static variable.  All callers changed.  This does not
27061         make the alloca replacement thread-safe, but it's one step.
27062
27063         tests: minor indenting change
27064         * tests/init.sh: Sync from coreutils housekeeping patch
27065         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
27066         to keep lines within 80 columns.
27067
27068 2010-12-28  Jim Meyering  <meyering@redhat.com>
27069
27070         regex: don't infloop on persistent failing calloc
27071         * lib/regexec.c (build_trtable): Return failure indication upon
27072         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
27073         In glibc, this was fixed for version 2.13:
27074         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
27075
27076 2010-12-28  Bruno Haible  <bruno@clisp.org>
27077             Paul Eggert <eggert@cs.ucla.edu>
27078
27079         linkat: Make implementation robust against system behaviour variations.
27080         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
27081         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
27082         way, and to -2 if it needs a generic runtime test.
27083         * lib/linkat.c (solaris_optimized_link_immediate,
27084         solaris_optimized_link_follow): New functions.
27085         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
27086         (check_same_link): Use it.
27087
27088 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
27089
27090         New module 'unigbrk/base'.
27091         * modules/unigbrk/base: New file.
27092         * lib/unigbrk.in.h: New file.
27093
27094         New module 'unigbrk/uc-gbrk-prop'.
27095         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
27096         * modules/unigbrk/uc-gbrk-prop: New file.
27097         * lib/unigbrk/gbrkprop.h: New file.
27098         * lib/unigbrk/uc-gbrk-prop.c: New file.
27099
27100         New module 'unigbrk/uc-is-grapheme-break'.
27101         * modules/unigbrk/uc-is-grapheme-break: New file.
27102         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
27103         * lib/unigbrk/uc-is-grapheme-break.c: New file.
27104         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
27105         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
27106         * tests/unigbrk/GraphemeBreakTest.txt: New file.
27107
27108         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
27109
27110 2010-12-27  Bruno Haible  <bruno@clisp.org>
27111
27112         linkat test: Avoid failure on Solaris 11 2010-11.
27113         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
27114
27115 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
27116
27117         utimens: work around glibc rounding bug on more platforms
27118         * lib/utimens.c (fdutimens): Work around rounding bug even if
27119         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
27120         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
27121
27122 2010-12-27  Bruno Haible  <bruno@clisp.org>
27123
27124         select tests: Improve comments.
27125         * tests/test-select.c (do_select): Add comments.
27126
27127 2010-12-27  Bruno Haible  <bruno@clisp.org>
27128
27129         select tests: Safer way of handling timeout.
27130         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
27131         at every invocation.
27132
27133 2010-12-27  Bruno Haible  <bruno@clisp.org>
27134
27135         select tests: Use 'bool' where appropriate.
27136         * tests/test-select.c (connect_to_socket): Change argument type to
27137         'bool'.
27138
27139 2010-12-27  Bruno Haible  <bruno@clisp.org>
27140
27141         select tests: Use existing modules.
27142         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
27143         (configure.ac): Don't test for unistd.h.
27144         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
27145         declared in <unistd.h>.
27146
27147 2010-12-27  Bruno Haible  <bruno@clisp.org>
27148
27149         mbrtowc: Work around a Solaris 7 bug.
27150         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
27151         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
27152         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
27153         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
27154         MBRTOWC_NULL_ARG1_BUG.
27155         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
27156         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
27157         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
27158         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
27159
27160 2010-12-27  Jim Meyering  <meyering@redhat.com>
27161
27162         read-file.c: tweak syntax
27163         * lib/read-file.c (fread_file): Remove space after "*" in function
27164         definitions.
27165
27166 2010-12-27  Bruno Haible  <bruno@clisp.org>
27167
27168         times test: Avoid gcc warnings on OSF/1.
27169         * tests/test-times.c (main): Cast printf arguments from clock_t to
27170         'long int'.
27171
27172 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
27173
27174         utimens: work around glibc rounding bug on older Linux kernels
27175         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
27176         on Linux with a glibc whose utimes might not work, then work
27177         around a longstanding glibc bug involving rounding rather than
27178         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
27179         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
27180
27181 2010-12-26  Bruno Haible  <bruno@clisp.org>
27182
27183         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
27184         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
27185         _GL_CXXALIAS_SYS.
27186         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27187
27188 2010-12-26  Bruno Haible  <bruno@clisp.org>
27189
27190         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
27191         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
27192         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
27193         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
27194         looking for the declaration.
27195         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
27196         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
27197         problem.
27198         * doc/posix-functions/inet_pton.texi: Likewise.
27199
27200 2010-12-26  Bruno Haible  <bruno@clisp.org>
27201
27202         arpa_inet: Use the common idioms with C++ support.
27203         * lib/arpa_inet.in.h: Include c++defs.h.
27204         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
27205         support.
27206         * modules/arpa_inet (Depends-on): Add c++defs.
27207         (Makefile.am): Substitute the contents of c++defs.h.
27208         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
27209         * modules/arpa_inet-c++-tests: New file.
27210         * tests/test-arpa_inet-c++.cc: New file.
27211
27212 2010-12-25  Bruno Haible  <bruno@clisp.org>
27213
27214         Fix more C++ link errors on Solaris 8.
27215         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
27216         $(LIB_EACCESS).
27217         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
27218         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
27219         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
27220         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
27221         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
27222
27223 2010-12-25  Bruno Haible  <bruno@clisp.org>
27224
27225         printf-posix: Fix link error when a non-GCC compiler is used.
27226         * lib/stdio.in.h (printf): When not using GCC, override printf
27227         correctly.
27228         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27229
27230 2010-12-25  Bruno Haible  <bruno@clisp.org>
27231
27232         strerror_r-posix: Update doc.
27233         * doc/posix-functions/strerror_r.texi: Update doc about the return
27234         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
27235
27236 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
27237
27238         utimens: simplify the logic of the previous change
27239         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
27240         This should not affect whether the test succeeds or fails.
27241
27242         utimens: configure better on hosts with NFS clock skew
27243         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
27244         uses the clock of the local host.  It might use the clock of the
27245         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
27246         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
27247
27248 2010-12-25  Bruno Haible  <bruno@clisp.org>
27249
27250         ptsname test: Avoid failure on Solaris.
27251         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
27252         open a pseudo-terminal; don't use BSD-style ptys.
27253         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
27254
27255 2010-12-25  Bruno Haible  <bruno@clisp.org>
27256
27257         ptsname: Avoid ERANGE failure on some systems.
27258         * lib/ptsname.c (buffer): Increase size.
27259
27260 2010-12-25  Bruno Haible  <bruno@clisp.org>
27261
27262         rename, renameat: Avoid test failures at NFS mounted locations.
27263         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
27264         so that subsequent mkdir calls succeed.
27265
27266 2010-12-25  Bruno Haible  <bruno@clisp.org>
27267
27268         iswblank: Fix C++ link error on Solaris 8.
27269         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
27270         _GL_FUNCDECL_SYS.
27271
27272 2010-12-25  Bruno Haible  <bruno@clisp.org>
27273
27274         unistd: Fix C++ link error on Solaris 8.
27275         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
27276
27277 2010-12-25  Bruno Haible  <bruno@clisp.org>
27278
27279         readlink doc: Mention an old glibc bug.
27280         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
27281
27282 2010-12-25  Bruno Haible  <bruno@clisp.org>
27283
27284         fcntl-h: Fix for use of C++ on glibc systems.
27285         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
27286         also on glibc systems in C++ mode.
27287         Reported by Gary V. Vaughan <gary@gnu.org>.
27288
27289 2010-12-25  Bruno Haible  <bruno@clisp.org>
27290
27291         roundl-ieee: Make it work on OSF/1 5.1 with cc.
27292         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
27293
27294 2010-12-25  Bruno Haible  <bruno@clisp.org>
27295
27296         truncl-ieee: Make it work on OSF/1 5.1 with cc.
27297         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
27298         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
27299         test whether truncl works according to ISO C 99 with IEC 60559.
27300         * m4/truncl-ieee.m4: New file.
27301         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
27302         m4/signbit.m4.
27303         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
27304
27305 2010-12-25  Bruno Haible  <bruno@clisp.org>
27306
27307         ceill-ieee: Make it work on OSF/1 5.1 with cc.
27308         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
27309         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
27310         test whether ceill works according to ISO C 99 with IEC 60559.
27311         * m4/ceill-ieee.m4: New file.
27312         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
27313         m4/signbit.m4.
27314         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
27315
27316 2010-12-25  Bruno Haible  <bruno@clisp.org>
27317
27318         Ensure all prerequisites of <wchar.h> are included.
27319         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
27320         before <wchar.h>.
27321         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
27322         gl_MBRLEN_NUL_RETVAL): Likewise.
27323         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
27324         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
27325         AC_FUNC_MBRTOWC): Likewise.
27326         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27327         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
27328         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27329         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
27330         Likewise.
27331         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27332         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
27333         (gl_WCHAR_H): Improve comments.
27334         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
27335
27336 2010-12-25  Bruno Haible  <bruno@clisp.org>
27337
27338         strtok_r: Fix C syntax error in autoconf macro.
27339         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
27340         characters in test program.
27341
27342 2010-12-24  Bruno Haible  <bruno@clisp.org>
27343
27344         ceil, trunc, round: Fix gcc warnings.
27345         * lib/ceil.c (MIN): Undefine before redefining.
27346         * lib/trunc.c (MIN): Likewise.
27347         * lib/round.c (MIN): Likewise.
27348         Include <math.h> first.
27349
27350 2010-12-24  Bruno Haible  <bruno@clisp.org>
27351
27352         select tests: Avoid failures on OSF/1 5.1.
27353         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
27354         failure of closing the last socket; it may fail with ECONNRESET.
27355
27356 2010-12-24  Eric Blake  <eblake@redhat.com>
27357
27358         stdint: avoid HP-UX 10.20 preprocessor bug
27359         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
27360         than #if.
27361         * tests/test-floor2.c (main): Likewise.
27362         Reported by Peter O'Gorman.
27363
27364         pipe: make obsoletion transition easier
27365         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
27366         * modules/pipe (Files): Include revived file.
27367         (Include): Drop reference, to mirror getdate's behavior.
27368
27369 2010-12-24  Bruno Haible  <bruno@clisp.org>
27370
27371         sys_socket: Hide mismatch of declarations on NonStop Kernel.
27372         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
27373         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
27374         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27375
27376 2010-12-24  Bruno Haible  <bruno@clisp.org>
27377
27378         gethostname: Ensure declaration on NonStop Kernel.
27379         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
27380         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27381
27382 2010-12-24  Bruno Haible  <bruno@clisp.org>
27383
27384         sys_select: Ensure all necessary types on NonStop Kernel.
27385         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
27386         include <sys/time.h>.
27387         * doc/posix-headers/sys_select.texi: Mention that it's missing on
27388         NonStop Kernel.
27389         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27390
27391 2010-12-24  Bruno Haible  <bruno@clisp.org>
27392
27393         sys_select: Remove unneeded include.
27394         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
27395         have <sys/select.h>.
27396
27397 2010-12-24  Bruno Haible  <bruno@clisp.org>
27398
27399         gethostname: Provide a fallback for HOST_NAME_MAX.
27400         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
27401         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
27402         instead.
27403         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27404
27405 2010-12-24  Bruno Haible  <bruno@clisp.org>
27406
27407         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
27408         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
27409         (SA_RESTART): Likewise.
27410         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27411
27412 2010-12-24  Bruno Haible  <bruno@clisp.org>
27413
27414         signal: Define NSIG.
27415         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
27416         * tests/test-signal.c (nsig): New variable.
27417         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27418
27419 2010-12-24  Bruno Haible  <bruno@clisp.org>
27420
27421         rename, renameat: Avoid test failures on OSF/1 5.1.
27422         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
27423         alternative error codes.
27424         * tests/test-renameat.c (main): Likewise.
27425
27426 2010-12-24  Bruno Haible  <bruno@clisp.org>
27427
27428         *printf: Detect large precisions bug on Solaris 10/SPARC.
27429         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
27430         by Paul Eggert.
27431         * tests/test-snprintf-posix.h (test_function): Add this test code here
27432         too.
27433         * tests/test-sprintf-posix.h (test_function): Likewise.
27434         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27435         * tests/test-vasprintf-posix.c (test_function): Likewise.
27436         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
27437         around by gnulib.
27438         * doc/posix-functions/printf.texi: Likewise.
27439         * doc/posix-functions/snprintf.texi: Likewise.
27440         * doc/posix-functions/sprintf.texi: Likewise.
27441         * doc/posix-functions/vfprintf.texi: Likewise.
27442         * doc/posix-functions/vprintf.texi: Likewise.
27443         * doc/posix-functions/vsnprintf.texi: Likewise.
27444         * doc/posix-functions/vsprintf.texi: Likewise.
27445         * doc/posix-functions/dprintf.texi: Undo last commit.
27446         * doc/posix-functions/vdprintf.texi: Likewise.
27447
27448 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
27449
27450         tests: port test-fdutimensat.c to Solaris 8
27451         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
27452         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
27453         On Solaris 8, it fails with errno == ENOSYS, because there is no
27454         futimens (so it can't use the fd), and there is no lutimens (so it
27455         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
27456
27457         vsnprintf: make more consistent with snprintf; doc fixes
27458
27459         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
27460         the byte count return problem was promoted from the snprintf-posix
27461         to the snprintf module.
27462         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
27463         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
27464         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
27465         * tests/test-snprintf.c (main): Check the byte count returned.
27466         * tests/test-vsnprintf.c (main): Likewise.
27467
27468 2010-12-23  Eric Blake  <eblake@redhat.com>
27469
27470         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
27471         * modules/sigpipe (License): Relax license.
27472
27473 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27474
27475         doc: document Solaris printf bug with large float precisions
27476         * doc/posix-functions/dprintf.texi (dprintf):
27477         * doc/posix-functions/fprintf.texi (fprintf):
27478         * doc/posix-functions/printf.texi (printf):
27479         * doc/posix-functions/snprintf.texi (snprintf):
27480         * doc/posix-functions/sprintf.texi (sprintf):
27481         * doc/posix-functions/vdprintf.texi (vdprintf):
27482         * doc/posix-functions/vfprintf.texi (vfprintf):
27483         * doc/posix-functions/vprintf.texi (vprintf):
27484         * doc/posix-functions/vsnprintf.texi (vsnprintf):
27485         * doc/posix-functions/vsprintf.texi (vsprintf):
27486         Mention that these functions mishandle large floating point
27487         precisions on Solaris 10.  The same bug is also present in Solaris
27488         8, and I assume earlier.  This causes "cd gnulib-tests; make
27489         check" to fail on Solaris 8 (and I assume, later) when building
27490         the latest coreutils, in test-vasprintf-posix's call to
27491         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
27492         the wide flavors (e.g., wprintf) so this patch just updates the
27493         documentation for the narrow ones.
27494
27495         test-posixtm.c: add two tests
27496         * tests/test-posixtm.c: Add two tests, to highlight the
27497         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
27498         around this bug; this is merely to document it.
27499
27500 2010-12-22  Bruno Haible  <bruno@clisp.org>
27501
27502         getlogin_r: Work around portability problem on OSF/1.
27503         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
27504         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
27505         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
27506         test for a truncated result.
27507         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
27508         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
27509         * modules/getlogin_r (Depends-on): Add memchr.
27510         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
27511
27512 2010-12-22  Bruno Haible  <bruno@clisp.org>
27513
27514         ptsname: Avoid test failure on OSF/1 5.1.
27515         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
27516         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
27517         (same_slave): New function.
27518         (main): Use it to compare ptsname's result with the expected file name.
27519
27520 2010-12-22  Bruno Haible  <bruno@clisp.org>
27521
27522         Port extended stdio modules to HP NonStop Kernel.
27523         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
27524         macros.
27525         * lib/fbufmode.c: Update comments.
27526         * lib/fflush.c: Likewise.
27527         * lib/fpurge.c: Likewise.
27528         * lib/freadable.c: Likewise.
27529         * lib/freadahead.c: Likewise.
27530         * lib/freading.c: Likewise.
27531         * lib/freadptr.c: Likewise.
27532         * lib/freadseek.c: Likewise.
27533         * lib/fseeko.c: Likewise.
27534         * lib/fseterr.c: Likewise.
27535         * lib/fwritable.c: Likewise.
27536         * lib/fwriting.c: Likewise.
27537         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27538
27539 2010-12-22  Bruno Haible  <bruno@clisp.org>
27540
27541         ttyname_r: Work around bug on OSF/1 5.1.
27542         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
27543         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
27544         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
27545         present.
27546         * lib/ttyname_r.c (ttyname_r): Update comments.
27547
27548 2010-12-22  Bruno Haible  <bruno@clisp.org>
27549
27550         round: Implement result sign according to IEEE 754.
27551         * lib/round.c (MIN, MINUS_ZERO): New macros.
27552         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
27553         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
27554         * tests/test-round-ieee.c (main): Likewise.
27555         * tests/test-roundl-ieee.c (main): Likewise.
27556
27557         trunc: Implement result sign according to IEEE 754.
27558         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
27559         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
27560         * tests/test-trunc2.c: Include minus-zero.h.
27561         (MINUS_ZERO): New macro.
27562         (trunc_reference): Keep in sync with lib/trunc.c.
27563         * tests/test-truncf2.c: Include minus-zero.h.
27564         (MINUS_ZERO): New macro.
27565         (truncf_reference): Keep in sync with lib/trunc.c.
27566         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
27567         * tests/test-trunc-ieee.c (main): Likewise.
27568         * tests/test-truncl-ieee.c (main): Likewise.
27569
27570         ceil: Implement result sign according to IEEE 754.
27571         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
27572         (FUNC): Return -0.0 for -1 < x < 0.
27573         * tests/test-ceil2.c: Include minus-zero.h.
27574         (MINUS_ZERO): New macro.
27575         (ceil_reference): Keep in sync with lib/ceil.c.
27576         * tests/test-ceilf2.c: Include minus-zero.h.
27577         (MINUS_ZERO): New macro.
27578         (ceilf_reference): Keep in sync with lib/ceil.c.
27579         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
27580         * tests/test-ceil-ieee.c (main): Likewise.
27581         * tests/test-ceill-ieee.c (main): Likewise.
27582
27583         floor: Implement result sign according to IEEE 754.
27584         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
27585         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
27586         * tests/test-floorf2.c (floorf_reference): Likewise.
27587         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
27588         * tests/test-floor-ieee.c (main): Likewise.
27589         * tests/test-floorl-ieee.c (main): Likewise.
27590
27591 2010-12-22  Bruno Haible  <bruno@clisp.org>
27592
27593         getaddrinfo: Update doc.
27594         * doc/posix-functions/gai_strerror.texi: Return type is also different
27595         on AIX and HP-UX.
27596
27597 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27598
27599         getaddrinfo, inet_ntop: Update doc for Solaris.
27600         * doc/posix-functions/gai_strerror.texi: Return type is also an
27601         issue on Solaris 9 and earlier.
27602         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
27603         on Solaris 10 and earlier.
27604
27605 2010-12-21  Bruno Haible  <bruno@clisp.org>
27606
27607         New module 'roundl-ieee'.
27608         * modules/roundl-ieee: New file.
27609         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
27610         test whether roundl works according to ISO C 99 with IEC 60559.
27611         * m4/roundl-ieee.m4: New file.
27612         * modules/roundl-ieee-tests: New file.
27613         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
27614         * tests/test-roundl.c (main): Remove signbit tests.
27615         * modules/roundl-tests (Depends-on): Remove signbit.
27616         * doc/posix-functions/roundl.texi: Mention the new module.
27617
27618 2010-12-21  Bruno Haible  <bruno@clisp.org>
27619
27620         New module 'truncl-ieee'.
27621         * modules/truncl-ieee: New file.
27622         * modules/truncl-ieee-tests: New file.
27623         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
27624         * tests/test-truncl.c (main): Remove signbit tests.
27625         * modules/truncl-tests (Depends-on): Remove signbit.
27626         * doc/posix-functions/truncl.texi: Mention the new module.
27627
27628 2010-12-21  Bruno Haible  <bruno@clisp.org>
27629
27630         New module 'ceill-ieee'.
27631         * modules/ceill-ieee: New file.
27632         * modules/ceill-ieee-tests: New file.
27633         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
27634         * tests/test-ceill.c (main): Remove signbit tests.
27635         * modules/ceill-tests (Depends-on): Remove signbit.
27636         * doc/posix-functions/ceill.texi: Mention the new module.
27637
27638 2010-12-21  Bruno Haible  <bruno@clisp.org>
27639
27640         New module 'floorl-ieee'.
27641         * modules/floorl-ieee: New file.
27642         * modules/floorl-ieee-tests: New file.
27643         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
27644         * tests/test-floorl.c (main): Remove signbit tests.
27645         * modules/floorl-tests (Depends-on): Remove signbit.
27646         * doc/posix-functions/floorl.texi: Mention the new module.
27647
27648 2010-12-21  Bruno Haible  <bruno@clisp.org>
27649
27650         New module 'round-ieee'.
27651         * modules/round-ieee: New file.
27652         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
27653         whether round works according to ISO C 99 with IEC 60559.
27654         * m4/round-ieee.m4: New file.
27655         * modules/round-ieee-tests: New file.
27656         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
27657         * tests/test-round1.c (main): Remove signbit tests.
27658         * modules/round-tests (Depends-on): Remove 'signbit'.
27659         * doc/posix-functions/round.texi: Mention the new module.
27660
27661 2010-12-21  Bruno Haible  <bruno@clisp.org>
27662
27663         New module 'trunc-ieee'.
27664         * modules/trunc-ieee: New file.
27665         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
27666         whether trunc works according to ISO C 99 with IEC 60559.
27667         * m4/trunc-ieee.m4: New file.
27668         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
27669         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
27670         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
27671         * modules/trunc-ieee-tests: New file.
27672         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
27673         * tests/test-trunc1.c (main): Remove signbit tests.
27674         * modules/trunc-tests (Depends-on): Remove 'signbit'.
27675         * doc/posix-functions/trunc.texi: Mention the new module.
27676
27677 2010-12-21  Bruno Haible  <bruno@clisp.org>
27678
27679         New module 'ceil-ieee'.
27680         * modules/ceil-ieee: New file.
27681         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
27682         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
27683         ISO C 99 with IEC 60559.
27684         * m4/ceil-ieee.m4: New file.
27685         * modules/ceil (Files): Add lib/ceil.c.
27686         (Depends-on): Add 'float'.
27687         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27688         * lib/math.in.h (ceil): New declaration.
27689         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
27690         REPLACE_CEIL.
27691         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
27692         * modules/ceil-ieee-tests: New file.
27693         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
27694         * tests/test-math-c++.cc: Check the signature of 'ceil'.
27695         * doc/posix-functions/ceil.texi: Mention the new module.
27696
27697 2010-12-21  Bruno Haible  <bruno@clisp.org>
27698
27699         New module 'floor-ieee'.
27700         * modules/floor-ieee: New file.
27701         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
27702         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
27703         ISO C 99 with IEC 60559.
27704         * m4/floor-ieee.m4: New file.
27705         * modules/floor (Files): Add lib/floor.c.
27706         (Depends-on): Add 'float'.
27707         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27708         * lib/math.in.h (floor): New declaration.
27709         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
27710         REPLACE_FLOOR.
27711         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
27712         * modules/floor-ieee-tests: New file.
27713         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
27714         * tests/test-math-c++.cc: Check the signature of 'floor'.
27715         * doc/posix-functions/floor.texi: Mention the new module.
27716
27717 2010-12-21  Bruno Haible  <bruno@clisp.org>
27718
27719         New module 'roundf-ieee'.
27720         * modules/roundf-ieee: New file.
27721         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
27722         test whether roundf works according to ISO C 99 with IEC 60559.
27723         * m4/roundf-ieee.m4: New file.
27724         * modules/roundf-ieee-tests: New file.
27725         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
27726         * tests/test-roundf1.c (main): Remove signbit tests.
27727         * modules/roundf-tests (Depends-on): Remove 'signbit'.
27728         * doc/posix-functions/roundf.texi: Mention the new module.
27729
27730 2010-12-21  Bruno Haible  <bruno@clisp.org>
27731
27732         New module 'truncf-ieee'.
27733         * modules/truncf-ieee: New file.
27734         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
27735         test whether truncf works according to ISO C 99 with IEC 60559.
27736         * m4/truncf-ieee.m4: New file.
27737         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
27738         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
27739         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
27740         * modules/truncf-ieee-tests: New file.
27741         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
27742         * tests/test-truncf1.c (main): Remove signbit tests.
27743         * modules/truncf-tests (Depends-on): Remove 'signbit'.
27744         * doc/posix-functions/truncf.texi: Mention the new module.
27745
27746 2010-12-21  Bruno Haible  <bruno@clisp.org>
27747
27748         New module 'ceilf-ieee'.
27749         * modules/ceilf-ieee: New file.
27750         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
27751         test whether ceilf works according to ISO C 99 with IEC 60559.
27752         * m4/ceilf-ieee.m4: New file.
27753         * modules/ceilf-ieee-tests: New file.
27754         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
27755         * tests/test-ceilf1.c (main): Remove signbit tests.
27756         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
27757         * doc/posix-functions/ceilf.texi: Mention the new module.
27758
27759 2010-12-21  Bruno Haible  <bruno@clisp.org>
27760
27761         New module 'floorf-ieee'.
27762         * modules/floorf-ieee: New file.
27763         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
27764         test whether floorf works according to ISO C 99 with IEC 60559.
27765         * m4/floorf-ieee.m4: New file.
27766         * modules/floorf-ieee-tests: New file.
27767         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
27768         * tests/test-floorf1.c (main): Remove signbit tests.
27769         * modules/floorf-tests (Depends-on): Remove 'signbit'.
27770         * doc/posix-functions/floorf.texi: Mention the new module.
27771
27772 2010-12-21  Bruno Haible  <bruno@clisp.org>
27773
27774         Support for minus zero in autoconf macros.
27775         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
27776         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
27777         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
27778         * tests/minus-zero.h: Update comments.
27779
27780 2010-12-21  Bruno Haible  <bruno@clisp.org>
27781
27782         Tests for module 'ceil'.
27783         * modules/ceil-tests: New file.
27784         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
27785         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
27786
27787 2010-12-21  Bruno Haible  <bruno@clisp.org>
27788
27789         Tests for module 'floor'.
27790         * modules/floor-tests: New file.
27791         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
27792         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
27793
27794 2010-12-21  Bruno Haible  <bruno@clisp.org>
27795
27796         math: Fix indentation.
27797         * lib/math.in.h (floorf): Fix indentation.
27798
27799 2010-12-21  Bruno Haible  <bruno@clisp.org>
27800
27801         Fix cross-compilation guesses on Solaris.
27802         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
27803         not match "solaris2.10".
27804         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27805         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
27806         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
27807
27808 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
27809
27810         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
27811         This fixes a problem observed with the latest coreutils snapshot
27812         that caused a test to fail on Solaris 8.  src/csplit.c's call
27813         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
27814         earlier, instead of returning the number of bytes that would have
27815         been generated; this causes csplit to incorrectly report memory
27816         exhaustion.
27817         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
27818         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
27819         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
27820         comments to match.
27821         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
27822         Fix typo in matching older versions of Solaris: "solaris2.10"
27823         is matched by the shell pattern "solaris2.[0-9]*".  This matters
27824         only for guessing while cross-compiling.
27825         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
27826
27827 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
27828
27829         ftoastr: fix comment again
27830         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27831         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
27832         Also, simplify example a bit by using flags = 0.
27833
27834 2010-12-20  Bruno Haible  <bruno@clisp.org>
27835
27836         round*, trunc*: Update documentation regarding glibc.
27837         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
27838         * doc/posix-functions/round.texi: Likewise.
27839         * doc/posix-functions/roundl.texi: Likewise.
27840         * doc/posix-functions/truncf.texi: Likewise.
27841         * doc/posix-functions/trunc.texi: Likewise.
27842         * doc/posix-functions/truncl.texi: Likewise.
27843
27844 2010-12-20  Bruno Haible  <bruno@clisp.org>
27845
27846         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
27847         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
27848         * doc/posix-functions/round.texi: Likewise.
27849         * doc/posix-functions/roundl.texi: Likewise.
27850
27851 2010-12-20  Bruno Haible  <bruno@clisp.org>
27852
27853         ttyname_r: Add missing declaration on HP-UX 11.
27854         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
27855         HAVE_TTYNAME_R.
27856         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
27857         declared. Set HAVE_TTYNAME_R always.
27858         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27859         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
27860         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
27861         HAVE_TTYNAME_R.
27862         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
27863
27864 2010-12-20  Bruno Haible  <bruno@clisp.org>
27865
27866         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
27867         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
27868         * doc/posix-functions/getlogin_r.texi: Likewise.
27869         * tests/test-getlogin.c: Include <errno.h>.
27870         (main): Avoid test failure on HP-UX 11.11.
27871         * tests/test-getlogin_r.c (main): Likewise.
27872
27873 2010-12-20  Bruno Haible  <bruno@clisp.org>
27874
27875         getlogin_r: Add missing declaration on HP-UX 11.
27876         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
27877         declared also when it exists as a function.
27878         * doc/posix-functions/getlogin_r.texi: Document this workaround.
27879
27880 2010-12-20  Bruno Haible  <bruno@clisp.org>
27881
27882         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
27883         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
27884         through wcrtomb.
27885
27886 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
27887
27888         ftoastr: fix comment
27889         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27890         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
27891
27892 2010-12-19  Bruno Haible  <bruno@clisp.org>
27893
27894         isnan: Ensure it is a macro.
27895         * lib/math.in.h (isnan): Define as a macro if not already a macro.
27896         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
27897         Solaris.
27898
27899 2010-12-19  Bruno Haible  <bruno@clisp.org>
27900
27901         ldexpl test: Fix link error on OSF/1 5.1.
27902         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
27903
27904 2010-12-19  Bruno Haible  <bruno@clisp.org>
27905
27906         wctype: Make it work in C++ mode on OSF/1 5.1.
27907         * lib/wctype.in.h (iswblank): Declare but not define here.
27908         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
27909         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
27910         * modules/wctype (Files): Add lib/iswblank.c.
27911
27912 2010-12-19  Bruno Haible  <bruno@clisp.org>
27913
27914         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
27915         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
27916         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
27917
27918 2010-12-19  Bruno Haible  <bruno@clisp.org>
27919
27920         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
27921         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
27922         _POSIX_PII_SOCKET.
27923         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
27924         * doc/posix-functions/recvfrom.texi: Likewise.
27925         * doc/posix-functions/send.texi: Likewise.
27926         * doc/posix-functions/sendto.texi: Likewise.
27927
27928 2010-12-19  Bruno Haible  <bruno@clisp.org>
27929
27930         tcgetsid: Add missing declaration on OSF/1 5.1.
27931         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
27932         HAVE_TCGETSID.
27933         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
27934         Don't set HAVE_TCGETSID.
27935         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
27936         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
27937         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
27938         HAVE_TCGETSID.
27939         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
27940
27941 2010-12-19  Bruno Haible  <bruno@clisp.org>
27942
27943         stdio: Fix problem with popen() declaration on OSF/1 5.1.
27944         * lib/stdio.in.h: During the include_next statement, let recursive
27945         includes of this file include only the system header file.
27946
27947 2010-12-19  Bruno Haible  <bruno@clisp.org>
27948
27949         iconv_open: Fix regression from 2010-12-04.
27950         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
27951         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
27952
27953 2010-12-19  Bruno Haible  <bruno@clisp.org>
27954
27955         stdbool test: Avoid a gcc warning.
27956         * tests/test-stdbool.c (main): Fail if e1 is false.
27957         Reported by Jim Meyering.
27958
27959 2010-12-19  Jim Meyering  <meyering@redhat.com>
27960
27961         setenv: restore to working order
27962         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
27963         mistakenly removed.
27964         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
27965         HAVE_SETENV.
27966         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
27967         HAVE_SETENV.
27968
27969 2010-12-19  Bruno Haible  <bruno@clisp.org>
27970
27971         Document some different function declarations on OSF/1 5.1.
27972         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
27973         * doc/posix-functions/inet_ntop.texi: Likewise.
27974         * doc/posix-functions/gethostname.texi: Likewise.
27975         * lib/unistd.in.h (gethostname): Update comment.
27976
27977 2010-12-19  Bruno Haible  <bruno@clisp.org>
27978
27979         doc: Mention vasprintf-posix module.
27980         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
27981         the 'vasprintf-posix' module.
27982         * doc/glibc-functions/vasprintf.texi: Likewise.
27983
27984 2010-12-19  Bruno Haible  <bruno@clisp.org>
27985
27986         unsetenv: Add missing declaration on OSF/1 5.1.
27987         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
27988         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
27989         Don't set HAVE_UNSETENV. In the test program, set _BSD.
27990         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
27991         not HAVE_UNSETENV.
27992         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
27993         HAVE_UNSETENV.
27994         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
27995
27996 2010-12-19  Bruno Haible  <bruno@clisp.org>
27997
27998         setenv: Add missing declaration on OSF/1 5.1.
27999         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
28000         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
28001         declared. Don't set HAVE_SETENV.
28002         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
28003         not HAVE_SETENV.
28004         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
28005         HAVE_SETENV.
28006         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
28007
28008 2010-12-19  Bruno Haible  <bruno@clisp.org>
28009
28010         nl_langinfo tests: Avoid gcc warning.
28011         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
28012
28013 2010-12-19  Bruno Haible  <bruno@clisp.org>
28014
28015         mknod: Avoid error in C++ mode on OSF/1 with GCC.
28016         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
28017         _GL_CXXALIAS_SYS.
28018
28019 2010-12-19  Bruno Haible  <bruno@clisp.org>
28020
28021         stdbool: Relax test.
28022         * tests/test-stdbool.c (e): Don't require that casts from a variable's
28023         address to 'bool' work in static initializer, for compilers other than
28024         GCC.
28025
28026 2010-12-19  Bruno Haible  <bruno@clisp.org>
28027
28028         ftello: Add missing declaration on OSF/1 5.1.
28029         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
28030         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
28031         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
28032         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
28033         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
28034
28035 2010-12-19  Bruno Haible  <bruno@clisp.org>
28036
28037         fseeko: Add missing declaration on OSF/1 5.1.
28038         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
28039         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
28040         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
28041         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
28042         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
28043
28044 2010-12-19  Bruno Haible  <bruno@clisp.org>
28045
28046         fchdir: Add missing declaration on OSF/1 5.1.
28047         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
28048         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
28049         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
28050         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
28051         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
28052
28053 2010-12-19  Bruno Haible  <bruno@clisp.org>
28054
28055         relocatable-prog-wrapper: Separate from relocatable-prog.
28056         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
28057         uninstall-relocwrapper rule here.
28058         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
28059         Reported by Ian Beckwith <ianb@erislabs.net>.
28060
28061 2010-12-19  Bruno Haible  <bruno@clisp.org>
28062
28063         unistr/u8-mbsnlen: Add missing dependency.
28064         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
28065         Reported by Ian Beckwith <ianb@erislabs.net>.
28066
28067 2010-12-19  Bruno Haible  <bruno@clisp.org>
28068
28069         iconv: Make it possible again to use this module without 'iconv-h'.
28070         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
28071         if it is not defined.
28072         Reported by Ian Beckwith <ianb@erislabs.net>.
28073
28074 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
28075
28076         acl: port to Solaris 8 when copying from tmpfs to ufs
28077         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
28078         error number.  Problem observed on Solaris 8 with latest
28079         coreutils, with "mv A B", where A is on a tmpfs file system and B
28080         is on a ufs file system.  This caused coreutils' mv/part-symlink
28081         test to fail.
28082
28083         tests: set fail=0 at start
28084         * tests/init.sh (setup_): Move fail=0 initialization here ...
28085         (mktempd_): ... from here, so that tests can rely on fail being
28086         set to 0 initially.  This fixes a problem in coreutils; see:
28087         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
28088
28089 2010-12-18  Bruno Haible  <bruno@clisp.org>
28090
28091         memmem-simple: Stylistic changes.
28092         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
28093         Fix preprocessor directive indentation.
28094
28095 2010-12-15  Pádraig Brady <P@draigBrady.com>
28096
28097         memmem, memmem-simple: reorganize and expand empty needle check
28098         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
28099         functional checks to memmem-simple so that one has a fully functional
28100         memmem by using just this module.
28101         Restrict the performance only check to the memmem module.
28102         Also expand the empty needle check to ensure the correct
28103         pointer is returned, not just a non NULL pointer.
28104         * doc/glibc-functions/memmem.texi: Rearrange the portability
28105         documentation to correlate with the rearranged checks.
28106         Clarify exactly how the memmem and memmem-simple modules
28107         relate to each other.
28108
28109 2010-12-15  Pádraig Brady <P@draigBrady.com>
28110             Bruno Haible  <bruno@clisp.org>
28111
28112         Improve cross-compilation guesses for uClibc.
28113         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
28114         that uClibc does not have the glibc bug.
28115         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
28116         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
28117
28118 2010-12-14  Eric Blake  <eblake@redhat.com>
28119
28120         configmake: provide fallbacks for oldest supported autotools
28121         * m4/configmake.m4: New file.
28122         * modules/configmake (Files): Ship it.
28123         (configure.ac): Use it to guarantee fallbacks.
28124
28125 2010-12-13  Pádraig Brady <P@draigBrady.com>
28126
28127         read-file: Improve handling of large files
28128         * lib/read-file.c (fread_file): Minimize realloc()s
28129         for regular files, and better manage sizes around SIZE_MAX.
28130
28131 2010-12-13  Eric Blake  <eblake@redhat.com>
28132
28133         cloexec, fcntl: relax license
28134         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
28135         consent from all contributors.
28136         * modules/fcntl (License): Likewise.
28137
28138 2010-12-10  Bruno Haible  <bruno@clisp.org>
28139
28140         Tests for module 'pipe-posix'.
28141         * modules/pipe-posix-tests: New file.
28142         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
28143
28144 2010-12-10  Bruno Haible  <bruno@clisp.org>
28145
28146         pipe-posix: Make it work in C++ mode.
28147         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
28148         (pipe): Use common idiom, not a macro definition.
28149         * lib/pipe.c: New file.
28150         * m4/pipe.m4: New file.
28151         * modules/pipe-posix (Description): Enhance.
28152         (Files): Add lib/pipe.c, m4/pipe.m4.
28153         (configure.ac): Invoke gl_FUNC_PIPE.
28154         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
28155         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
28156         * tests/test-unistd-c++.cc: Check the signature of pipe.
28157
28158 2010-12-10  Bruno Haible  <bruno@clisp.org>
28159
28160         Rename module 'pipe' to 'spawn-pipe'.
28161         * modules/spawn-pipe: New file, renamed from modules/pipe.
28162         (Files, configure.ac, Makefile.am): Update.
28163         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
28164         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
28165         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
28166         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
28167         "spawn-pipe.h" instead of "pipe.h".
28168         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
28169         to gl_SPAWN_PIPE.
28170         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
28171         (Files, Makefile.am): Update.
28172         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
28173         Update.
28174         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
28175         Include "spawn-pipe.h" instead of "pipe.h".
28176         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
28177         * lib/javacomp.c: Likewise.
28178         * lib/javaversion.c: Likewise.
28179         * lib/pipe-filter-gi.c: Likewise.
28180         * lib/pipe-filter-ii.c: Likewise.
28181         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
28182         * modules/javacomp (Depends-on): Likewise.
28183         * modules/javaversion (Depends-on): Likewise.
28184         * modules/pipe-filter-gi (Depends-on): Likewise.
28185         * modules/pipe-filter-ii (Depends-on): Likewise.
28186         * MODULES.html.sh (Executing programs): Update.
28187         * NEWS: Mention the change.
28188
28189 2010-12-10  Eric Blake  <eblake@redhat.com>
28190
28191         pipe-posix: new module
28192         * modules/pipe-posix: New file.
28193         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
28194         (gl_UNISTD_H): Check for declaration.
28195         * modules/unistd (Makefile.am): Substitute it.
28196         * lib/unistd.in.h (pipe): Provide it for mingw.
28197         * doc/posix-functions/pipe.texi (pipe): Update documentation.
28198         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
28199
28200 2010-12-07  Bruno Haible  <bruno@clisp.org>
28201
28202         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
28203         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
28204         u8_strcmp_gnu.
28205         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
28206
28207 2010-12-06  Bruno Haible  <bruno@clisp.org>
28208
28209         Update internal documentation.
28210         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
28211
28212 2010-12-04  Bruno Haible  <bruno@clisp.org>
28213
28214         Put more information about failed tests into the test return codes.
28215         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
28216         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
28217         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
28218         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
28219         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
28220         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28221         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28222         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
28223         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
28224         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
28225         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
28226         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
28227         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
28228         * m4/stdint.m4 (gl_STDINT_H): Likewise.
28229         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
28230         returns a bit mask.
28231         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
28232         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
28233         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
28234         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
28235         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
28236         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
28237         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
28238         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
28239         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28240         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
28241         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
28242         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
28243         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
28244         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
28245         * m4/link.m4 (gl_FUNC_LINK): Likewise.
28246         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
28247         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
28248         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
28249         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28250         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
28251         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28252         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
28253         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
28254         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
28255         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
28256         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
28257         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
28258         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
28259         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
28260         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
28261         gl_PRINTF_PRECISION): Likewise.
28262         * m4/regex.m4 (gl_REGEX): Likewise.
28263         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
28264         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
28265         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
28266         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28267         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
28268         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28269         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
28270         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
28271         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28272         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28273         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
28274         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
28275         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
28276         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
28277         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
28278         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
28279         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
28280         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
28281         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
28282         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
28283         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
28284         enumerated value.
28285         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
28286
28287 2010-12-04  Bruno Haible  <bruno@clisp.org>
28288
28289         Update for Solaris 11 2010-11.
28290         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
28291         Express, released in November 2010.
28292
28293 2010-12-04  Bruno Haible  <bruno@clisp.org>
28294
28295         nproc: Relax license.
28296         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
28297         and Paul Eggert.
28298         Requested by Ludovic Courtès <ludo@gnu.org>.
28299
28300 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
28301
28302         utimecmp: fine-grained src to nearby coarse-grained dest
28303
28304         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
28305         and the source is on a file system with higher-resolution time
28306         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
28307         not work, and the time stamps are close together, the algorithm to
28308         determine the exact resolution from the read-back mtime was buggy:
28309         it had a "!=" where it should have had an "==".  This bug has been
28310         in the code ever since it was introduced to gnulib.
28311         Problem reported by Dan Jacobson in
28312         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
28313
28314 2010-11-30  Bruno Haible  <bruno@clisp.org>
28315
28316         strerror_r-posix: Fix autoconf test.
28317         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
28318
28319 2010-11-28  Bruno Haible  <bruno@clisp.org>
28320             Paul Eggert  <eggert@cs.ucla.edu>
28321
28322         Tests for module 'getdomainname'.
28323         * modules/getdomainname-tests: New file.
28324         * tests/test-getdomainname.c: New file, based on
28325         tests/test-gethostname.c.
28326
28327 2010-11-28  Bruno Haible  <bruno@clisp.org>
28328             Paul Eggert  <eggert@cs.ucla.edu>
28329
28330         getdomainname: Use the system function when possible.
28331         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
28332         (getdomainname): Replace if needed. Provide the declaration if it is
28333         missing. Don't use _GL_CXXALIAS_SYS_CAST.
28334         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
28335         (getdomainname): When the system has getdomainname, call the system
28336         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
28337         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
28338         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
28339         found in libnsl. Look for the declaration also in <netdb.h>. Replace
28340         the function if its second argument is of type 'int' or if it is found
28341         in libnsl.
28342         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
28343         <sys/systeminfo.h> and sysinfo().
28344         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
28345         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28346         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
28347         HAVE_GETDOMAINNAME.
28348         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
28349         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
28350         * doc/glibc-functions/getdomainname.texi: Document the problems with
28351         the getdomainname declaration.
28352
28353 2010-11-28  Bruno Haible  <bruno@clisp.org>
28354
28355         sys_socket: Ensure ss_family field on AIX.
28356         * lib/sys_socket.in.h (ss_family): New macro definition.
28357         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
28358         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
28359         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
28360         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28361         * modules/sys_socket (Makefile.am): Substitute
28362         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28363         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
28364
28365 2010-11-27  Bruno Haible  <bruno@clisp.org>
28366
28367         readline: Improve configure output.
28368         * m4/readline.m4 (gl_FUNC_READLINE): Make the
28369         "checking for readline..." result understandable.
28370
28371 2010-11-27  Bruno Haible  <bruno@clisp.org>
28372
28373         *printf-posix: Detect a bug on Solaris 10/x86.
28374         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
28375         for floating-point output.
28376         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
28377         directive.
28378         * tests/test-snprintf-posix.h (test_function): Likewise.
28379         * tests/test-sprintf-posix.h (test_function): Likewise.
28380         * tests/test-vasprintf-posix.c (test_function): Likewise.
28381         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
28382         * doc/posix-functions/printf.texi: Likewise.
28383         * doc/posix-functions/snprintf.texi: Likewise.
28384         * doc/posix-functions/sprintf.texi: Likewise.
28385         * doc/posix-functions/vfprintf.texi: Likewise.
28386         * doc/posix-functions/vprintf.texi: Likewise.
28387         * doc/posix-functions/vsnprintf.texi: Likewise.
28388         * doc/posix-functions/vsprintf.texi: Likewise.
28389         * doc/glibc-functions/obstack_printf.texi: Likewise.
28390         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
28391
28392 2010-11-27  Bruno Haible  <bruno@clisp.org>
28393
28394         Fix link error when module libunistring-optional is in use.
28395         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
28396         * modules/striconveha-tests (Makefile.am): Likewise.
28397
28398 2010-11-27  Bruno Haible  <bruno@clisp.org>
28399
28400         regex: Mention link dependencies.
28401         * modules/regex (Link): New section.
28402         * modules/rpmatch (Link): Likewise.
28403         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
28404
28405 2010-11-27  Bruno Haible  <bruno@clisp.org>
28406
28407         ftoastr: Fix compilation error on Solaris.
28408         * lib/ftoastr.c: Include <config.h>.
28409
28410 2010-11-27  Bruno Haible  <bruno@clisp.org>
28411
28412         getloadavg: Update documentation.
28413         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
28414
28415 2010-11-27  Bruno Haible  <bruno@clisp.org>
28416
28417         sys_socket: Fix test whether the functions are declared.
28418         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
28419         not <sys/select.h>.
28420
28421 2010-11-27  Bruno Haible  <bruno@clisp.org>
28422
28423         getpass: Make sure to get system declaration on some platforms.
28424         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
28425         gl_USE_SYSTEM_EXTENSIONS.
28426         * modules/getpass (Depends-on): Add extensions.
28427
28428 2010-11-26  Bruno Haible  <bruno@clisp.org>
28429
28430         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
28431         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
28432         'iconv' module is present.
28433         (ICONV_CONST): New macro.
28434         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
28435         ICONV_CONST.
28436         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
28437         set ICONV_CONST.
28438         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
28439         here.
28440         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
28441         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
28442         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
28443         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
28444         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
28445         present.
28446
28447 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
28448
28449         ftoastr: comment fix
28450         * lib/ftoastr.c: "little" -> "little or no" in comment
28451
28452 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
28453
28454         stdint: port to GCC 4.3 + OSX + Octave
28455         On this platform, stdint.h is buggy and defines int64_t to long
28456         long int.  The replacement defined it to long int, causing
28457         problems with C++ style name mangling.  Instead, trust the system
28458         definition if INT64_MAX is defined, and likewise for the unsigned
28459         variant.   Problem reported by Jarno Rajahalme in
28460         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
28461         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
28462         and don't mess with int64_t and INT64_MAX in this case.
28463         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
28464
28465 2010-11-24  Bruno Haible  <bruno@clisp.org>
28466
28467         doc: Corrections regarding MacOS X 10.4 and 10.5.
28468         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
28469         MacOS X.
28470         Reported by Simon Josefsson.
28471
28472 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
28473
28474         Uninstall ".bin" files installed by relocwrapper.
28475         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
28476         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
28477         unless it is already there.
28478
28479 2010-11-21  Bruno Haible  <bruno@clisp.org>
28480
28481         Update for NetBSD 5.0.
28482         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28483         NetBSD; the test fails on NetBSD 5.0.
28484         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28485         about NetBSD.
28486
28487 2010-11-21  Bruno Haible  <bruno@clisp.org>
28488
28489         Update for HP-UX 11.23 and HP-UX 11.31.
28490         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
28491         HP-UX.
28492
28493 2010-11-21  Bruno Haible  <bruno@clisp.org>
28494
28495         Update for MacOS X 10.5.
28496         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28497         MacOS X; the test fails on MacOS X 10.5.8.
28498         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28499         about MacOS X.
28500
28501 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
28502
28503         bootstrap: add bootstrap_sync option.
28504         See discussion at
28505         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
28506         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
28507         * build-aux/bootstrap: Accept --bootstrap-sync to update
28508         bootstrap if it is not identical to the local gnulib's
28509         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
28510         enable this by default.  Accept --no-bootstrap-sync to disable
28511         it.
28512
28513 2010-11-20  Bruno Haible  <bruno@clisp.org>
28514
28515         Ensure that <features.h> is included before __GLIBC__ is tested.
28516         * lib/printf-parse.h: Include <features.h>.
28517         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
28518         Reported by Mike Frysinger <vapier@gentoo.org>.
28519
28520         Ensure that <features.h> is included before __GLIBC__ is tested.
28521         * lib/wchar.in.h: Include <features.h>.
28522         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
28523         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
28524         Reported by Mike Frysinger <vapier@gentoo.org>.
28525
28526         Ensure that <features.h> is included before __GLIBC__ is tested.
28527         * lib/arpa_inet.in.h: Include <features.h>.
28528         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
28529         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
28530         Reported by Mike Frysinger <vapier@gentoo.org>.
28531
28532         Ensure that <features.h> is included before __GLIBC__ is tested.
28533         * build-aux/link-warning.h: Include <features.h>.
28534         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
28535         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
28536         Reported by Mike Frysinger <vapier@gentoo.org>.
28537
28538         Ensure that <features.h> is included before __GLIBC__ is tested.
28539         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
28540         Reported by Mike Frysinger <vapier@gentoo.org>.
28541
28542 2010-11-20  Bruno Haible  <bruno@clisp.org>
28543
28544         memmem: Fix autoconf test.
28545         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
28546
28547 2010-11-20  Bruno Haible  <bruno@clisp.org>
28548
28549         Port to uClibc.
28550         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
28551         * lib/fcntl.in.h: Likewise.
28552         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
28553         * lib/mbrtowc.c (mbrtowc): Likewise.
28554         * lib/relocatable.c (find_shared_library_fullname): Likewise.
28555         * lib/strerror_r.c: Likewise.
28556         * lib/unistr/u8-strnlen.c: Likewise.
28557         * lib/vasnprintf.c (decimal_point_char): Likewise.
28558         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
28559         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
28560         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
28561         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
28562         * tests/test-sigaction.c (handler, main): Likewise.
28563         * lib/freading.h: Treat uClibc like a non-glibc platform.
28564         * lib/freading.c: Likewise.
28565         * lib/gettext.h: Likewise.
28566         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
28567         Likewise.
28568         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
28569         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
28570         * lib/propername.c (proper_name_utf8): Likewise.
28571         * lib/spawn.in.h: Likewise.
28572         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
28573         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
28574         mem_cd_iconveh_internal): Likewise.
28575         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
28576         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28577         strstr, strcasestr): Likewise.
28578         * lib/unicodeio.c (unicode_to_mb): Likewise.
28579         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
28580         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
28581         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
28582         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
28583         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
28584         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
28585         * lib/unistr/u8-stpncpy.c: Likewise.
28586         * lib/vasnprintf.c (VASNPRINTF): Likewise.
28587         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
28588         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28589         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28590         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
28591         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
28592         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
28593         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
28594         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
28595         Likewise.
28596         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28597         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28598         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
28599         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28600         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28601         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28602         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
28603         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
28604         * tests/test-getopt.h (OPTIND_MIN): Likewise.
28605         * tests/test-striconveha.c (main): Likewise.
28606         * tests/test-vasnprintf-posix.c (test_function): Likewise.
28607         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
28608         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
28609         * doc/posix-functions/getline.texi: Likewise.
28610         Reported by Mike Frysinger <vapier@gentoo.org>.
28611
28612 2010-11-20  Bruno Haible  <bruno@clisp.org>
28613
28614         nproc: Fix condition.
28615         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
28616         HAVE_PTHREAD_AFFINITY_NP.
28617
28618 2010-11-20  Bruno Haible  <bruno@clisp.org>
28619
28620         Fix a comment.
28621         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
28622
28623 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
28624
28625         ftoastr: don't assume snprintf
28626         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
28627         Implement a subset of snprintf here, by using sprintf safely.
28628         * modules/ftoastr (Depends-on): Remove snprintf.
28629
28630 2010-11-19  Jim Meyering  <meyering@redhat.com>
28631
28632         test-rename.h: fix compilation failure
28633         * tests/test-rename.h (test_rename): Add omitted "}".
28634
28635 2010-11-17  Jim Meyering  <meyering@redhat.com>
28636
28637         maint.mk: add a URL discussing the no-@acronym policy
28638         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
28639
28640 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
28641
28642         ftoastr: depend on snprintf, improve comments
28643         * lib/ftoastr.c: Also mention Loitsch's draft.
28644         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
28645         needed in the current implementation, but it might simplify
28646         speeding up the code later.
28647         * modules/ftoastr: Depend on snprintf; this improves portability.
28648         Suggested by Bruno Haible in the same email.
28649
28650         ftoastr: port to hosts lacking strtof and strtold
28651         Problem reported by Bruno Haible in
28652         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
28653         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
28654         environment and strtold (and presumably strtof) are not available.
28655         * modules/ftoastr (Files): Add m4/c-strtod.m4.
28656         (configure.ac): Require gl_C99_STRTOLD.
28657
28658 2010-11-18  Bruno Haible  <bruno@clisp.org>
28659
28660         c-strtold: Avoid link error on AIX 7.
28661         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
28662         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
28663         (gl_C_STRTOLD): Test whether strtold_l exists.
28664         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28665
28666 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28667
28668         intprops: new macro INT_BITS_STRLEN_BOUND
28669         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
28670         ftoastr.h.  This exposes an internal of intprops.h that was formerly
28671         not exposed.  Also, it uses a slightly tighter bound than before;
28672         though this makes no practical difference, we might as well be as
28673         tight as we easily can.
28674
28675         ftoastr: new module, for lossless conversion of floats to short strings
28676         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
28677         * modules/ftoastr: New files.
28678
28679 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
28680
28681         bootstrap: port to Solaris sed
28682         * build-aux/bootstrap (get_version): Port to Solaris sed.
28683         See Ralf Wildenhues's note in
28684         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
28685
28686 2010-11-14  Jim Meyering  <meyering@redhat.com>
28687
28688         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
28689         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
28690         and move definition closer to sole use.
28691
28692 2010-11-13  Jim Meyering  <meyering@redhat.com>
28693
28694         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
28695         Now we require at least autoconf-2.59, which means the work-around
28696         is no longer needed.
28697         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
28698         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28699         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
28700         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
28701         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
28702
28703 2010-11-13  Bruno Haible  <bruno@clisp.org>
28704
28705         rename, renameat: Avoid test failures at NFS mounted locations.
28706         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
28707         functions.
28708         (test_rename): Use assert_nonexistent.
28709         * tests/test-rename.c: Include <dirent.h>.
28710         * tests/test-renameat.c: Likewise.
28711         Reported by Gary V. Vaughan <gary@gnu.org>.
28712
28713         rename, renameat: Document Linux bug with NFS
28714         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
28715         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
28716         * doc/posix-functions/renameat.texi: Likewise.
28717         Suggested by Eric Blake.
28718
28719 2010-11-13  Bruno Haible  <bruno@clisp.org>
28720
28721         rename test: Add comments.
28722         * tests/test-rename.h (test_rename): Add structure and comments.
28723
28724 2010-11-13  Eric Blake  <eblake@redhat.com>
28725
28726         maintainer-makefile: cover a few more files
28727         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
28728         scripts generated within C files, for libvirt.
28729
28730 2010-11-13  Bruno Haible  <bruno@clisp.org>
28731
28732         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
28733         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
28734         character, return the number of bytes that belong together, not always
28735         1.
28736         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
28737         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
28738         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
28739         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
28740         number of bytes of an invalid character.
28741         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
28742         (main): Invoke it.
28743         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
28744         results.
28745         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
28746         malformed byte sequences.
28747         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
28748         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
28749         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
28750         Reported by Ben Pfaff and Paolo Bonzini.
28751
28752 2010-11-13  Bruno Haible  <bruno@clisp.org>
28753
28754         openat: Work around glibc bug with fchownat() and empty file names.
28755         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
28756         (gl_FUNC_FCHOWNAT): Invoke it.
28757         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
28758         * doc/posix-functions/fchownat.texi: Document the glibc bug.
28759         Reported by Gary V. Vaughan <gary@gnu.org>.
28760
28761 2010-11-13  Bruno Haible  <bruno@clisp.org>
28762
28763         openat: Ensure autoconf macro ordering.
28764         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
28765         gl_USE_SYSTEM_EXTENSIONS.
28766         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
28767
28768 2010-11-13  Bruno Haible  <bruno@clisp.org>
28769
28770         Update comments.
28771         * lib/unistr/u8-check.c: Update file name in comments.
28772         * lib/unistr/u8-mblen.c: Likewise.
28773         * lib/unistr/u8-prev.c: Likewise.
28774         * lib/unistr/u8-strmblen.c: Likewise.
28775         * lib/unistr/u8-strmbtouc.c: Likewise.
28776
28777 2010-11-13  Jim Meyering  <meyering@redhat.com>
28778
28779         tests: avoid test failure on Solaris 10 due to lack of PATH export
28780         * tests/test-update-copyright.sh: Don't forget to export PATH.
28781
28782         init.sh: ensure that IFS is defined, just in case...
28783         * tests/init.sh (setup_): Ensure that IFS is defined,
28784         so that saving and restoring it works as expected.  This
28785         appears to be useful at least for an old version of dash
28786         from a long time ago (RH 6).  See here for details:
28787         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
28788
28789         maint.mk: tighten "test a == b" check
28790         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
28791         test to files that contain something like #!/bin/sh.
28792         Without this, coreutils would get two false positives in
28793         the comments of C source files.
28794
28795 2010-11-12  Eric Blake  <eblake@redhat.com>
28796
28797         bootstrap: fix typo in previous attempt
28798         * build-aux/bootstrap (buildreq): Correct the grouping.
28799         Reported by Paul Eggert.
28800
28801         maintainer-makefile: prohibit test x == x
28802         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
28803         Based on a report by Matthias Bolte.
28804
28805         bootstrap: allow FreeBSD gzip
28806         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
28807         which has no '.' and goes to stderr.
28808         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
28809         Reported by Matthias Bolte.
28810
28811         maintainer-makefile: check for i18n setup
28812         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
28813         will likely work.
28814
28815 2010-11-12  Bruno Haible  <bruno@clisp.org>
28816
28817         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
28818         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
28819         * lib/nanosleep.c (nanosleep): Likewise.
28820
28821 2010-11-11  Bruno Haible  <bruno@clisp.org>
28822
28823         fcntl-h: Fix for use of C++ on glibc systems.
28824         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
28825         also on glibc systems in C++ mode.
28826         Reported by Gary V. Vaughan <gary@gnu.org>.
28827
28828 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28829
28830         mknod: avoid false failure with dash
28831         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
28832
28833 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
28834
28835         unlink: Fix "is it should" typo in diagnostic.
28836         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
28837         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
28838
28839 2010-11-11  Bruno Haible  <bruno@clisp.org>
28840
28841         Tests for module 'strerror_r-posix'.
28842         * modules/strerror_r-posix-tests: New file.
28843         * tests/test-strerror_r.c: New file.
28844         * tests/test-string-c++.cc: Check the signature of strerror_r.
28845
28846         New module 'strerror_r-posix'.
28847         * lib/string.in.h (strerror_r): New declaration.
28848         * lib/strerror_r.c: New file.
28849         * m4/strerror_r.m4: New file.
28850         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
28851         of strerror_r.
28852         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
28853         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28854         * modules/strerror_r-posix: New file.
28855         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
28856         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28857         * doc/posix-functions/strerror_r.texi: Mention the new module and the
28858         portability problems.
28859
28860 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
28861
28862         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
28863         line is also considered for output. Quoted function name in shell
28864         command, so temporary files for functions like MyClass::operator()
28865         are removed correctly without errors.
28866
28867 2010-11-09  Bruno Haible  <bruno@clisp.org>
28868
28869         * doc/posix-functions/strerror.texi: List more failing platforms.
28870
28871         * doc/posix-functions/strerror.texi: Add a comment.
28872
28873 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
28874
28875         fdopendir: fix bug on MacOS X when low on file descriptors
28876
28877         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
28878         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
28879         All callers changed.
28880         (fdopendir): Invoke save_cwd at the top level, not after using
28881         multiple dup() calls to use up file descriptors.  Then retry
28882         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
28883         less than the maximum number of open file descriptors, because
28884         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
28885         on Mac OS X 10.6.4 for tar 1.24
28886         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
28887         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
28888         and for tar 1.25
28889         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
28890
28891 2010-11-07  Bruno Haible  <bruno@clisp.org>
28892
28893         vasnprintf: Support I flag on glibc systems.
28894         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
28895         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
28896         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
28897         snprintf function.
28898         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
28899         glibc systems.
28900         * tests/test-vasnprintf-posix3.c: New file.
28901         * modules/vasnprintf-posix-tests (Files): Add it.
28902         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
28903
28904 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28905
28906         [html] Fix copy/paste bug: Use unique name for compiler warnings.
28907         * MODULES.html.sh: For compiler warnings, use name
28908         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
28909
28910 2010-11-05  Eric Blake  <eblake@redhat.com>
28911
28912         ceil, floor: avoid spurious failure with icc
28913         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
28914         [denormals-as-zero] when optimizing without -mieee-fp option.
28915         * tests/test-floorf2.c (floorf_reference): Likewise.
28916         * tests/test-ceilf1.c (dummy): New function.
28917         (main): Use it to outsmart icc's optimization.
28918         * tests/test-floorf1.c (dummy, main): Likewise.
28919
28920         tests: require working signbit
28921         * modules/ceilf-tests (Depends-on): Add signbit.
28922         * modules/ceill-tests (Depends-on): Likewise.
28923         * modules/floorf-tests (Depends-on): Likewise.
28924         * modules/floorl-tests (Depends-on): Likewise.
28925         * modules/round-tests (Depends-on): Likewise.
28926         * modules/roundf-tests (Depends-on): Likewise.
28927         * modules/roundl-tests (Depends-on): Likewise.
28928         * modules/trunc-tests (Depends-on): Likewise.
28929         * modules/truncf-tests (Depends-on): Likewise.
28930         * modules/truncl-tests (Depends-on): Likewise.
28931
28932         strtod: work around icc bug
28933         * lib/strtod.c (minus_zero): Define to working value.
28934         (strtod): Use it to avoid icc bug.
28935
28936         copysign: enhance tests
28937         * modules/copysign-tests (Files): Add minus-zero.h.
28938         * tests/test-copysign.c (main): Also test zeros.
28939
28940 2010-11-04  Eric Blake  <eblake@redhat.com>
28941
28942         ceil, floor, round, trunc: enhance tests of -0
28943         * tests/test-ceilf1.c (main): Ensure correct sign of result.
28944         * tests/test-ceill.c (main): Likewise.
28945         * tests/test-floorf1.c (main): Likewise.
28946         * tests/test-floorl.c (main): Likewise.
28947         * tests/test-round1.c (main): Likewise.
28948         * tests/test-roundf1.c (main): Likewise.
28949         * tests/test-roundl.c (main): Likewise.
28950         * tests/test-trunc1.c (main): Likewise.
28951         * tests/test-truncf1.c (main): Likewise.
28952         * tests/test-truncl.c (main): Likewise.
28953
28954 2010-11-04  Eric Blake  <eblake@redhat.com>
28955
28956         frexp, tests: work around ICC bug with -zero
28957         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
28958         works with more compilers.
28959         * tests/minus-zero.h: New file.
28960         * modules/ceilf-tests (Files): Include it.
28961         * modules/ceill-tests (Files): Likewise.
28962         * modules/floorf-tests (Files): Likewise.
28963         * modules/floorl-tests (Files): Likewise.
28964         * modules/frexp-nolibm-tests (Files): Likewise.
28965         * modules/frexp-tests (Files): Likewise.
28966         * modules/frexpl-nolibm-tests (Files): Likewise.
28967         * modules/frexpl-tests (Files): Likewise.
28968         * modules/isnan-tests (Files): Likewise.
28969         * modules/isnand-nolibm-tests (Files): Likewise.
28970         * modules/isnand-tests (Files): Likewise.
28971         * modules/isnanf-nolibm-tests (Files): Likewise.
28972         * modules/isnanf-tests (Files): Likewise.
28973         * modules/isnanl-nolibm-tests (Files): Likewise.
28974         * modules/isnanl-tests (Files): Likewise.
28975         * modules/round-tests (Files): Likewise.
28976         * modules/roundf-tests (Files): Likewise.
28977         * modules/roundl-tests (Files): Likewise.
28978         * modules/ldexpl-tests (Files): Likewise.
28979         * modules/signbit-tests (Files): Likewise.
28980         * modules/snprintf-posix-tests (Files): Likewise.
28981         * modules/sprintf-posix-tests (Files): Likewise.
28982         * modules/strtod-tests (Files): Likewise.
28983         * modules/trunc-tests (Files): Likewise.
28984         * modules/truncf-tests (Files): Likewise.
28985         * modules/truncl-tests (Files): Likewise.
28986         * modules/vsnprintf-posix-tests (Files): Likewise.
28987         * modules/vsprintf-posix-tests (Files): Likewise.
28988         * modules/vasnprintf-posix-tests (Files): Likewise.
28989         * modules/vasprintf-posix-tests (Files): Likewise.
28990         * tests/test-ceilf1.c (main): Use it.
28991         * tests/test-ceill.c (main): Likewise.
28992         * tests/test-floorf1.c (main): Likewise.
28993         * tests/test-floorl.c (main): Likewise.
28994         * tests/test-frexp.c (main): Likewise.
28995         * tests/test-frexpl.c (main): Likewise.
28996         * tests/test-isnan.c (main): Likewise.
28997         * tests/test-isnand.h (main): Likewise.
28998         * tests/test-isnanf.h (main): Likewise.
28999         * tests/test-isnanl.h (main): Likewise.
29000         * tests/test-ldexpl.c (main): Likewise.
29001         * tests/test-round.c (main): Likewise.
29002         * tests/test-roundf.c (main): Likewise.
29003         * tests/test-roundl.c (main): Likewise.
29004         * tests/test-signbit.c (test_signbitf, test_signbitd)
29005         (test_signbitl): Likewise.
29006         * tests/test-snprintf-posix.h (test_function): Likewise.
29007         * tests/test-sprintf-posix.h (test_function): Likewise.
29008         * tests/test-strtod.c (main): Likewise.
29009         * tests/test-trunc1.c (main): Likewise.
29010         * tests/test-truncf1.c (main): Likewise.
29011         * tests/test-truncl.c (main): Likewise.
29012
29013         isnanl: work around icc bug
29014         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
29015
29016 2010-11-03  Eric Blake  <eblake@redhat.com>
29017
29018         tests: fix compiler warnings
29019         * tests/test-getopt.h (test_getopt): Fix condition.
29020         * tests/test-getopt_long.h (test_getopt_long): Likewise.
29021         * tests/test-pipe2.c (main): Likewise.
29022         * tests/test-quotearg-simple.c (main): Avoid icc warning.
29023
29024         utimens: fix broken m4 test
29025         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
29026
29027 2010-10-28  Bruno Haible  <bruno@clisp.org>
29028
29029         posix_spawn*, getdtablesize: Relax license.
29030         * modules/posix_spawn (License): Change to LGPLv2+.
29031         * modules/posix_spawnp (License): Likewise.
29032         * modules/posix_spawn-internal (License): Likewise.
29033         * modules/posix_spawnattr_init (License): Likewise.
29034         * modules/posix_spawnattr_getflags (License): Likewise.
29035         * modules/posix_spawnattr_setflags (License): Likewise.
29036         * modules/posix_spawnattr_getpgroup (License): Likewise.
29037         * modules/posix_spawnattr_setpgroup (License): Likewise.
29038         * modules/posix_spawnattr_getschedparam (License): Likewise.
29039         * modules/posix_spawnattr_setschedparam (License): Likewise.
29040         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
29041         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
29042         * modules/posix_spawnattr_getsigdefault (License): Likewise.
29043         * modules/posix_spawnattr_setsigdefault (License): Likewise.
29044         * modules/posix_spawnattr_getsigmask (License): Likewise.
29045         * modules/posix_spawnattr_setsigmask (License): Likewise.
29046         * modules/posix_spawnattr_destroy (License): Likewise.
29047         * modules/posix_spawn_file_actions_init (License): Likewise.
29048         * modules/posix_spawn_file_actions_addclose (License): Likewise.
29049         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
29050         * modules/posix_spawn_file_actions_addopen (License): Likewise.
29051         * modules/posix_spawn_file_actions_destroy (License): Likewise.
29052         * modules/getdtablesize (License): Likewise.
29053         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
29054
29055 2010-10-26  Bruno Haible  <bruno@clisp.org>
29056
29057         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
29058         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
29059         Cygwin and mingw.
29060         Suggested by Eric Blake.
29061
29062 2010-10-26  Bruno Haible  <bruno@clisp.org>
29063
29064         stdio: Work around compilation error due to renameat() on Solaris 10.
29065         * lib/stdio.in.h: Include <unistd.h> on Solaris.
29066         * lib/renameat.c: Don't include <unistd.h> here.
29067         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
29068         Reported by Paul Eggert and Eric Blake.
29069
29070 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
29071
29072         renameat: port to Solaris 10, which declares renameat in unistd.h
29073
29074         * lib/renameat.c: Include unistd.h before stdio.h, because
29075         Solaris 10 declares renameat in unistd.h.  Problem encountered
29076         when building GNU tar 1.24 on Solaris 10.
29077
29078 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
29079
29080         fdopendir: fix C89 compilation
29081         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
29082         compilers.
29083
29084 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
29085
29086         inttostr: simplify by removing unnecessary redundancy
29087         * lib/anytostr.c: Don't include verify.h.
29088         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
29089         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
29090         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
29091         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
29092         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
29093         Likewise.
29094         * modules/inttostr (Depends-on): Remove 'verify'.
29095
29096 2010-10-23  Bruno Haible  <bruno@clisp.org>
29097
29098         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
29099         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
29100         Reported by Eric Blake.
29101
29102 2010-10-23  Bruno Haible  <bruno@clisp.org>
29103
29104         Tests: Fix LOCALE_JA on MirBSD 10.
29105         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
29106         to an UTF-8 locale.
29107         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
29108         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
29109         Reported by Eric Blake.
29110
29111 2010-10-21  Bruno Haible  <bruno@clisp.org>
29112
29113         nl_langinfo test: Avoid test failure on NetBSD 5.
29114         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
29115         Reported by Eric Blake.
29116
29117 2010-10-21  Eric Blake  <eblake@redhat.com>
29118
29119         c-stack: work around libsigsegv 2.8 bug
29120         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
29121         overflow on at least PowerPC64.
29122
29123 2010-10-17  Bruno Haible  <bruno@clisp.org>
29124
29125         userspec: Drop redundant file.
29126         * modules/userspec (Files): Remove lib/inttostr.h.
29127
29128 2010-10-17  Bruno Haible  <bruno@clisp.org>
29129
29130         nl_langinfo tests: Silence some warnings.
29131         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
29132         Reported by Jim Meyering.
29133
29134 2010-10-17  Bruno Haible  <bruno@clisp.org>
29135
29136         Make use of GCC's attribute __alloc_size__.
29137         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
29138         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
29139         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
29140         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
29141         __alloc_size__.
29142         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
29143         Suggested by Jim Meyering.
29144
29145 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
29146
29147         bootstrap: anchor .gitignore entries.
29148         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
29149         with...
29150         (insert_vc_ignore): ... this new function, which prepends `/' to
29151         all .gitignore entries before passing them to
29152         insert_sorted_if_absent.
29153
29154 2010-10-16  Bruno Haible  <bruno@clisp.org>
29155
29156         nextafter: Fix configure check.
29157         * modules/nextafter (configure.ac): Correct expected prototype.
29158
29159 2010-10-16  Bruno Haible  <bruno@clisp.org>
29160
29161         termios: Update documentation.
29162         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
29163
29164 2010-10-16  Bruno Haible  <bruno@clisp.org>
29165
29166         tests: Make them compile with TinyCC.
29167         * tests/test-strstr.c (main): Remove parentheses around array
29168         initializer.
29169
29170 2010-10-15  Eric Blake  <eblake@redhat.com>
29171
29172         ignore-value: make header idempotent
29173         * lib/ignore-value.h: Add double-inclusion guards.
29174         Reported by Stefan Berger.
29175
29176 2010-10-15  Jim Meyering  <meyering@redhat.com>
29177
29178         GNUmakefile: handle "stable" target, not "major"
29179         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
29180         lists in maint.mk and announce-gen.  Without this, "make stable"
29181         would fail to ensure that $(VERSION) is up to date.
29182
29183 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
29184
29185         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
29186         & co.
29187
29188 2010-10-14  Bruno Haible  <bruno@clisp.org>
29189
29190         vasnprintf: Don't set errno to 0.
29191         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
29192         block that sets it to 0.
29193         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
29194
29195 2010-10-14  Bruno Haible  <bruno@clisp.org>
29196
29197         socketlib: Fix.
29198         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
29199         gl_PREREQ_SYS_H_WINSOCK2.
29200         Reported by Ian Beckwith <ianb@erislabs.net>.
29201
29202 2010-10-13  Jim Meyering  <meyering@redhat.com>
29203
29204         test-select-stdin.c: avoid warn_unused_result warnings
29205         * tests/test-select-stdin.c: Include "macros.h".
29206         ASSERT that read and fflush succeed.
29207
29208 2010-10-13  Jim Meyering  <meyering@redhat.com>
29209
29210         git-version-gen: do require git-VC'd files in cwd
29211         * build-aux/git-version-gen: Reject a git version string
29212         if there are no commits associated with the current directory.
29213         This avoids an unlikely false-positive (unrelated dir whose parent
29214         repository also contains a tag matching v*), as pointed out
29215         by Giuseppe Scrivano in
29216         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
29217
29218 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
29219
29220         argv-iter: omit nonconforming declaration
29221         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
29222         enum arg_iter_err declaration, which doesn't conform to C99.
29223         Solaris 10 cc warns about this.
29224
29225 2010-10-13  Eric Blake  <eblake@redhat.com>
29226
29227         termios: fix compilation on mingw
29228         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
29229         (gl_TERMIOS_H): Adjust it on mingw.
29230         * modules/termios (Makefile.am): Substitute new key.
29231         * lib/termios.in.h (includes): Make include_next conditional.
29232         * doc/posix-headers/termios.texi (termios.h): Update
29233         documentation.
29234         Reported by Daniel P. Berrange.
29235
29236 2010-10-13  Jim Meyering  <meyering@redhat.com>
29237
29238         git-version-gen: don't require that .git/ be in the current dir
29239         * build-aux/git-version-gen: Adjust this script so that it works
29240         when run from any working directory beneath the top-level .git/-
29241         containing directory.  Inspired by a patch from Giuseppe Scrivano,
29242         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
29243
29244         test-select: avoid warn_unused_result warnings
29245         * tests/test-select.c: Include "macros.h".
29246         ASSERT that each call to read, write, and pipe succeeds.
29247         While not technically required, also check each "close".
29248         * modules/select-tests (Files): Add tests/macros.h.
29249
29250         test-symlinkat: remove declaration of unused local
29251         * tests/test-symlinkat.c (main): Remove unused local, "buf".
29252
29253         test-inttostr: avoid shadowing warnings
29254         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
29255         and use malloc rather than the stack for the same reason as
29256         mentioned in the comment justifying the other allocation.
29257
29258 2010-10-11  Bruno Haible  <bruno@clisp.org>
29259
29260         stdlib: Allow multiple gnulib generated replacements to coexist.
29261         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
29262         Reported by Sam Steingold <sds@gnu.org>.
29263
29264 2010-10-11  Jim Meyering  <meyering@redhat.com>
29265
29266         fix a documentation typo
29267         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
29268
29269 2010-10-11  Eric Blake  <eblake@redhat.com>
29270
29271         futimens: work around Solaris 11 bug
29272         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
29273         * tests/test-futimens.h (test_futimens): Enhance, rather than
29274         weaken test.
29275         * doc/posix-functions/futimens.texi (futimens): Document the bug.
29276
29277 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
29278
29279         Indentation.
29280         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
29281         higher-level operators more to the left.
29282
29283 2010-10-11  Jim Meyering  <meyering@redhat.com>
29284
29285         test-futimens: avoid unwarranted test failure on Solaris 5.11
29286         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
29287         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
29288         because it tries to dereference the NULL name argument.
29289
29290 2010-10-11  Bruno Haible  <bruno@clisp.org>
29291
29292         Indentation.
29293         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
29294         indentation.
29295
29296 2010-10-11  Jim Meyering  <meyering@redhat.com>
29297
29298         spawn.in.h: make indentation consistent with parentheses
29299         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
29300         Make indentation consistent with parentheses.
29301
29302 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
29303
29304         Fix mismatched parens in previous commit
29305         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
29306         parens.
29307
29308 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
29309
29310         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
29311
29312         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
29313         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
29314         * lib/malloca.c: Include "verify.h".
29315         (verify1): Remove, replacing with a verify call.
29316         * lib/relocwrapper.c (verify1): Likewise.
29317         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
29318         Likewise.
29319         * modules/malloca (Depends-on): Add 'verify'.
29320         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
29321         * modules/vasnprintf (Depends-on): Add 'verify'.
29322         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
29323         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
29324         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
29325         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
29326         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
29327         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
29328         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
29329
29330         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
29331
29332         Formerly the style was sometimes 2*X - 1, because the C standard
29333         was wrongly thought to disallow ?: in integral constant expressions.
29334         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
29335         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
29336         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
29337         * lib/stdint.in.h (_verify_intmax_size): Likewise.
29338         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
29339         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
29340         verify that time_t cannot be floating.
29341
29342 2010-10-08  Eric Blake  <eblake@redhat.com>
29343
29344         time: enforce recent POSIX ruling that time_t is integral
29345         * lib/time.in.h (__time_t_must_be_integral): Detect any
29346         problematic systems, allowing the rest of gnulib to assume POSIX.
29347
29348 2010-10-08  Jim Meyering  <meyering@redhat.com>
29349
29350         fdopendir: fix a bug on systems lacking openat and /proc support
29351         OpenBSD 4.7 is one such system.  The most noticeable effect was
29352         failure of any application making nontrivial use of fts: rm, du,
29353         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
29354           ./rm: traversal failed: `a': Bad file descriptor
29355         Debugging that, you see that even though FD 6 was closed just
29356         prior to the opendir call in fd_clone_opendir, its resulting
29357         dir->dd_fd was 8, rather than the expected value of 6:
29358
29359         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
29360         93                close (fd);
29361         (gdb) n
29362         94                dir = fd_clone_opendir (dupfd);
29363         (gdb) n
29364         95                saved_errno = errno;
29365         (gdb) p dir->dd_fd
29366         $11 = 8
29367
29368         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
29369         The problem is that on OpenBSD, fd_clone_opendir has to resort
29370         to using the old-style save/restore CWD mechanism, due to its
29371         lack of openat/proc support, and *that* would steal the FD (6)
29372         that opendir was supposed to use.
29373
29374         The fix is to squirrel away the desired FD so that save_cwd uses a
29375         different one, and then free the dest FD right before calling opendir.
29376         That guarantees opendir will use the required file descriptor.
29377
29378         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
29379
29380 2010-10-08  Bruno Haible  <bruno@clisp.org>
29381
29382         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
29383         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
29384
29385 2010-10-08  Bruno Haible  <bruno@clisp.org>
29386
29387         nanosleep: Make replacement POSIX compliant.
29388         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
29389         is out of range.
29390         Reported by Jim Meyering.
29391
29392 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
29393
29394         bootstrap: add hook for altering gnulib.mk, for Bison
29395         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
29396         the Bison bootstrapping process can rewrite file names and variables
29397         in this file before later parts of 'bootstrap' use the file.
29398         Bison wants to include lib/gnulib.mk from the top-level makefile,
29399         so it needs the file names in this file to be relative to the top
29400         level, not relative to lib; plus it needs variable names to be
29401         rewritten.
29402         (slurp): Use the new function.
29403
29404         bootstrap: reformat for readability
29405         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
29406
29407 2010-10-08  Eric Blake  <eblake@redhat.com>
29408
29409         docs: update cygwin progress
29410         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
29411         1.7.7.
29412         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
29413         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
29414         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
29415         * doc/posix-functions/carg.texi (carg): Likewise.
29416         * doc/posix-functions/cargf.texi (cargf): Likewise.
29417         * doc/posix-functions/casin.texi (casin): Likewise.
29418         * doc/posix-functions/casinf.texi (casinf): Likewise.
29419         * doc/posix-functions/casinh.texi (casinh): Likewise.
29420         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
29421         * doc/posix-functions/catan.texi (catan): Likewise.
29422         * doc/posix-functions/catanf.texi (catanf): Likewise.
29423         * doc/posix-functions/catanh.texi (catanh): Likewise.
29424         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
29425         * doc/posix-functions/ccos.texi (ccos): Likewise.
29426         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
29427         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
29428         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
29429         * doc/posix-functions/cexp.texi (cexp): Likewise.
29430         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
29431         * doc/posix-functions/cimag.texi (cimag): Likewise.
29432         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
29433         * doc/posix-functions/clog.texi (clog): Likewise.
29434         * doc/posix-functions/clogf.texi (clogf): Likewise.
29435         * doc/posix-functions/conj.texi (conj): Likewise.
29436         * doc/posix-functions/conjf.texi (conjf): Likewise.
29437         * doc/posix-functions/cpow.texi (cpow): Likewise.
29438         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
29439         * doc/posix-functions/cproj.texi (cproj): Likewise.
29440         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
29441         * doc/posix-functions/creal.texi (creal): Likewise.
29442         * doc/posix-functions/crealf.texi (crealf): Likewise.
29443         * doc/posix-functions/csin.texi (csin): Likewise.
29444         * doc/posix-functions/csinf.texi (csinf): Likewise.
29445         * doc/posix-functions/csinh.texi (csinh): Likewise.
29446         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
29447         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
29448         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
29449         * doc/posix-functions/ctan.texi (ctan): Likewise.
29450         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
29451         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
29452         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
29453         * doc/posix-headers/complex.texi (complex.h): Likewise.
29454
29455 2010-10-07  Jim Meyering  <meyering@redhat.com>
29456
29457         parse-datetime: avoid compilation failure on OpenBSD 4.7
29458         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
29459         This works around a compilation failure on OpenBSD 4.7:
29460         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
29461
29462 2010-10-07  Eric Blake  <eblake@redhat.com>
29463
29464         docs: update cygwin progress
29465         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
29466         1.7.6.
29467         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
29468         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
29469         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
29470         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
29471         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
29472         Likewise.
29473         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
29474         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
29475         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
29476         Likewise.
29477         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
29478         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
29479         Likewise.
29480         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
29481         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
29482         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
29483         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
29484         Likewise.
29485         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
29486         Likewise.
29487         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
29488
29489         docs: update parse-datetime history
29490         * doc/parse-datetime.texi (Authors of parse_datetime): Better
29491         documentation of this function's history and alternatives.
29492
29493         cygwin: use more robust version check
29494         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
29495         exclude an eventual cygwin 1.9.1.
29496         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29497         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29498         (gl_FUNC_STRCASESTR): Likewise.
29499         Reported by Bruno Haible.
29500
29501 2010-10-06  Bruno Haible  <bruno@clisp.org>
29502
29503         string, sys_select: Avoid #including large headers unless necessary.
29504         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
29505         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
29506         OSF/1, BeOS, Haiku.
29507         Reported by Jim Meyering.
29508
29509 2010-10-05  Eric Blake  <eblake@redhat.com>
29510
29511         memmem, strstr, strcasestr: fix bug with long periodic needle
29512         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
29513         periodic needle having false positive.
29514         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
29515         and cygwin 1.7.7.
29516         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
29517         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29518         (gl_FUNC_STRCASESTR): Likewise.
29519         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29520         * tests/test-memmem.c (main): Expose the bug.
29521         * tests/test-strcasestr.c (main): Likewise.
29522         * tests/test-strstr.c (main): Likewise.
29523         * tests/test-c-strcasestr.c (main): Likewise.
29524         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
29525         * doc/posix-functions/strstr.texi (strstr): Likewise.
29526         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
29527         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
29528
29529 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29530
29531         parse-datetime: do some more renaming
29532         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
29533         parse_datetime, not get_date.  Mention the renaming.
29534         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
29535         in comments.
29536         * m4/bison.m4: Likewise.
29537
29538 2010-10-05  Eric Blake  <eblake@redhat.com>
29539
29540         parse-datetime: better name than get_date
29541         * NEWS: Reword the deprecation notice.
29542         * modules/get_date: Rename to modules/parse-datetime.
29543         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
29544         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
29545         * lib/get_date.y: Rename to lib/parse-datetime.y.
29546         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
29547         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
29548         * doc/getdate.texi: Provide fallback wrapper.
29549         * lib/getdate.h: Move guts, and wrap...
29550         * lib/parse-datetime.h: ...new file.
29551         * lib/parse-datetime.y (get_date): Rename...
29552         (parse_datetime): ...to this.
29553         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
29554         (gl_PARSE_DATETIME): ...to this.
29555         * doc/posix-functions/getdate.texi (get_date): Provide fallback
29556         documentation.
29557         * modules/getdate (Files): Provide fallback docs and header.
29558         (Notice, Depends-on): Update references.
29559         * tests/test-parse-datetime.c: Likewise.
29560         * DEPENDENCIES: Likewise.
29561         * MODULES.html.sh (Date and time <time.h>): Likewise.
29562         * doc/parse-datetime.texi (Date input formats)
29563         (Authors of parse_datetime): Likewise.
29564         * modules/parse-datetime (Files, configure.ac, Makefile.am)
29565         (Include): Likewise.
29566         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
29567         * gnulib-tool: Likewise.
29568         * m4/bison.m4 (gl_BISON): Likewise.
29569         Suggested by Bruno Haible.
29570
29571 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29572
29573         more ports to Solaris tr, which needs [] around ranges
29574         * gnulib-tool: Solaris tr needs [] around ranges.
29575         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
29576         * tests/test-pipe-filter-gi1.c (main): Likewise.
29577         * tests/test-pipe-filter-ii1.c (main): Likewise.
29578
29579 2010-10-05  Eric Blake  <eblake@redhat.com>
29580
29581         bootstrap: fix Solaris regression
29582         * build-aux/bootstrap (check_versions): Solaris tr still needs []
29583         around ranges.
29584         Reported by Pádraig Brady.
29585
29586         bootstrap: work with pkg-config
29587         * build-aux/bootstrap (check_versions): Also transliterate - in
29588         prerequisite name.
29589         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
29590         prerequisites that were already found, to avoid confusion.
29591         Reported by Justin Clift.
29592
29593         faccessat: remove unused wrappers
29594         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
29595         presence of these wrappers dragged in -lgen on Solaris.
29596         Reported by Clemens Brogi; fix suggested by Paul Eggert.
29597
29598 2010-10-05  Jim Meyering  <meyering@redhat.com>
29599
29600         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
29601         * Makefile (sc_pragma_columns): New syntax-check rule.
29602
29603 2010-10-04  Bruno Haible  <bruno@clisp.org>
29604
29605         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
29606         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
29607         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
29608         Reported by Bruce Korb and Eric Blake.
29609
29610 2010-10-04  Bruno Haible  <bruno@clisp.org>
29611
29612         threadlib: Make option --with-libpth-prefix work.
29613         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
29614         use $LIBPTH, not just -lpth.
29615
29616 2010-10-04  Bruno Haible  <bruno@clisp.org>
29617
29618         Avoid line length limitation from HP NonStop system header files.
29619         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
29620         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
29621         * lib/ctype.in.h: Likewise.
29622         * lib/dirent.in.h: Likewise.
29623         * lib/errno.in.h: Likewise.
29624         * lib/fcntl.in.h: Likewise.
29625         * lib/float.in.h: Likewise.
29626         * lib/getopt.in.h: Likewise.
29627         * lib/iconv.in.h: Likewise.
29628         * lib/inttypes.in.h: Likewise.
29629         * lib/langinfo.in.h: Likewise.
29630         * lib/locale.in.h: Likewise.
29631         * lib/math.in.h: Likewise.
29632         * lib/netdb.in.h: Likewise.
29633         * lib/netinet_in.in.h: Likewise.
29634         * lib/poll.in.h: Likewise.
29635         * lib/pthread.in.h: Likewise.
29636         * lib/pty.in.h: Likewise.
29637         * lib/sched.in.h: Likewise.
29638         * lib/se-selinux.in.h: Likewise.
29639         * lib/search.in.h: Likewise.
29640         * lib/signal.in.h: Likewise.
29641         * lib/spawn.in.h: Likewise.
29642         * lib/stdarg.in.h: Likewise.
29643         * lib/stddef.in.h: Likewise.
29644         * lib/stdint.in.h: Likewise.
29645         * lib/stdio.in.h: Likewise.
29646         * lib/stdlib.in.h: Likewise.
29647         * lib/string.in.h: Likewise.
29648         * lib/strings.in.h: Likewise.
29649         * lib/sys_file.in.h: Likewise.
29650         * lib/sys_ioctl.in.h: Likewise.
29651         * lib/sys_select.in.h: Likewise.
29652         * lib/sys_socket.in.h: Likewise.
29653         * lib/sys_stat.in.h: Likewise.
29654         * lib/sys_time.in.h: Likewise.
29655         * lib/sys_times.in.h: Likewise.
29656         * lib/sys_utsname.in.h: Likewise.
29657         * lib/sys_wait.in.h: Likewise.
29658         * lib/sysexits.in.h: Likewise.
29659         * lib/termios.in.h: Likewise.
29660         * lib/time.in.h: Likewise.
29661         * lib/unistd.in.h: Likewise.
29662         * lib/wchar.in.h: Likewise.
29663         * lib/wctype.in.h: Likewise.
29664         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
29665         * modules/ctype (Makefile.am): Likewise.
29666         * modules/dirent (Makefile.am): Likewise.
29667         * modules/errno (Makefile.am): Likewise.
29668         * modules/fcntl-h (Makefile.am): Likewise.
29669         * modules/float (Makefile.am): Likewise.
29670         * modules/getopt-posix (Makefile.am): Likewise.
29671         * modules/iconv-h (Makefile.am): Likewise.
29672         * modules/inttypes (Makefile.am): Likewise.
29673         * modules/langinfo (Makefile.am): Likewise.
29674         * modules/locale (Makefile.am): Likewise.
29675         * modules/math (Makefile.am): Likewise.
29676         * modules/netdb (Makefile.am): Likewise.
29677         * modules/netinet_in (Makefile.am): Likewise.
29678         * modules/poll-h (Makefile.am): Likewise.
29679         * modules/pthread (Makefile.am): Likewise.
29680         * modules/pty (Makefile.am): Likewise.
29681         * modules/sched (Makefile.am): Likewise.
29682         * modules/search (Makefile.am): Likewise.
29683         * modules/selinux-h (Makefile.am): Likewise.
29684         * modules/signal (Makefile.am): Likewise.
29685         * modules/spawn (Makefile.am): Likewise.
29686         * modules/stdarg (Makefile.am): Likewise.
29687         * modules/stddef (Makefile.am): Likewise.
29688         * modules/stdint (Makefile.am): Likewise.
29689         * modules/stdio (Makefile.am): Likewise.
29690         * modules/stdlib (Makefile.am): Likewise.
29691         * modules/string (Makefile.am): Likewise.
29692         * modules/strings (Makefile.am): Likewise.
29693         * modules/sys_file (Makefile.am): Likewise.
29694         * modules/sys_ioctl (Makefile.am): Likewise.
29695         * modules/sys_select (Makefile.am): Likewise.
29696         * modules/sys_socket (Makefile.am): Likewise.
29697         * modules/sys_stat (Makefile.am): Likewise.
29698         * modules/sys_time (Makefile.am): Likewise.
29699         * modules/sys_times (Makefile.am): Likewise.
29700         * modules/sys_utsname (Makefile.am): Likewise.
29701         * modules/sys_wait (Makefile.am): Likewise.
29702         * modules/sysexits (Makefile.am): Likewise.
29703         * modules/termios (Makefile.am): Likewise.
29704         * modules/time (Makefile.am): Likewise.
29705         * modules/unistd (Makefile.am): Likewise.
29706         * modules/wchar (Makefile.am): Likewise.
29707         * modules/wctype (Makefile.am): Likewise.
29708
29709 2010-10-04  Bruno Haible  <bruno@clisp.org>
29710
29711         read-file tests: Avoid a test failure on NonStop Kernel.
29712         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
29713         a regular file.
29714         Reported by Joachim Schmitz <schmitz@hp.com>.
29715
29716 2010-10-03  Bruno Haible  <bruno@clisp.org>
29717
29718         gnulib-tool: Fixes for --create-testdir with --libtool.
29719         * gnulib-tool (func_get_automake_snippet): Don't augment
29720         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
29721         an executable.
29722         (func_create_testdir): Handle module 'alloca' like func_import.
29723         Reported by Bruce Korb <bruce.korb@gmail.com>.
29724
29725 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
29726
29727         Avoid some lines longer than 80 characters.
29728         * lib/stdint.in.h: Break long comment lines.
29729         * lib/math.in.h: Likewise.
29730         (_GL_NUM_UINT_WORDS): New macro, for readability.
29731         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
29732         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
29733         * lib/stdlib.in.h: Likewise.
29734         * lib/spawn.in.h: Likewise.
29735         * lib/sys_socket.in.h: Update an URL.
29736         * lib/sys_stat.in.h: Break long line.
29737
29738 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
29739
29740         Improve pmccabe2html.
29741         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
29742         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
29743         when the sources change. Remove the line in the HTML about "Used
29744         ranges" (which implied that there might be other unused ranges),
29745         rename "Resume" to "Summary" (easier to understand for more users).
29746         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
29747         styles, and some unnecessary blank lines.
29748
29749 2010-10-03  Bruno Haible  <bruno@clisp.org>
29750             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
29751
29752         acl: Add support for ACLs on NonStop Kernel.
29753         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
29754         Check whether the function aclsort() exists.
29755         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
29756         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
29757         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29758         (acl_nontrivial [HAVE_ACLSORT]: New function.
29759         (file_has_acl): Implement for NonStop Kernel.
29760         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29761         (qset_acl): Implement for NonStop Kernel.
29762         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
29763         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29764         (main): Implement for NonStop Kernel.
29765         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
29766         Kernel. Handle this flavor.
29767         * tests/test-set-mode-acl.sh: Likewise.
29768         * tests/test-copy-acl.sh: Likewise.
29769         * tests/test-copy-file.sh: Likewise.
29770
29771 2010-10-03  Bruno Haible  <bruno@clisp.org>
29772
29773         Info about ACLs on NonStop Kernel.
29774         * doc/acl-resources.txt: Add info about NonStop Kernel.
29775         References by Joachim Schmitz <schmitz@hp.com>.
29776
29777 2010-10-02  Bruno Haible  <bruno@clisp.org>
29778
29779         Define missing EDQUOT on NonStop Kernel.
29780         * lib/errno.in.h (EDQUOT): Assign a value if missing.
29781         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
29782         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
29783         missing.
29784         * doc/posix-headers/errno.texi: Mention the NSK bug.
29785         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
29786         Reported by Joachim Schmitz <schmitz@hp.com>.
29787
29788 2010-10-02  Bruno Haible  <bruno@clisp.org>
29789
29790         Update doc for POSIX:2008.
29791         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
29792         Update URL of POSIX specification.
29793
29794 2010-10-02  Bruno Haible  <bruno@clisp.org>
29795
29796         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
29797         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
29798         from gnulib, not from Automake.
29799
29800 2010-10-02  Bruno Haible  <bruno@clisp.org>
29801
29802         New module 'system-posix'.
29803         * modules/system-posix: New file.
29804         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
29805         module is present.
29806         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29807         GNULIB_SYSTEM_POSIX.
29808         * modules/stdlib (Depends-on): Remove sys_wait.
29809         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
29810         * doc/posix-functions/system.texi: Mention the new module.
29811         * doc/posix-headers/stdlib.texi: Likewise.
29812         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
29813         define test_sys_wait_macros to a no-op.
29814         Reported by Sam Steingold <sds@gnu.org>.
29815
29816 2010-09-30  Bruno Haible  <bruno@clisp.org>
29817
29818         More renaming from 'getdate' to 'get_date'.
29819         * doc/get_date.texi: Renamed from doc/getdate.texi.
29820         * modules/get_date (Files): Update.
29821         * MODULES.html.sh (Date and time <time.h>): Update.
29822         * DEPENDENCIES: Update.
29823         * gnulib-tool: Update comment.
29824         * m4/bison.m4 (gl_BISON): Likewise.
29825         * m4/get_date.m4 (gl_GET_DATE): Likewise.
29826
29827 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
29828
29829         bootstrap: support ACLOCAL_FLAGS during aclocal
29830         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
29831         can add additional -I dir for third-party .m4 files.
29832
29833 2010-09-30  Eric Blake  <eblake@redhat.com>
29834
29835         bootstrap: use glibtoolize on MacOS
29836         * build-aux/bootstrap (check_versions): Convert libtool into
29837         libtoolize.
29838         (tool search): Move libtool check earlier, and look for
29839         glibtoolize for MacOS.
29840         (gnulib_tool_options): Auto-add --libtool when appropriate.
29841         Reported by Justin Clift.
29842
29843         poll: fix typo that broke test on MacOS
29844         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
29845         Reported by Justin Clift.
29846
29847         getdate: rename to get_date
29848         Note: getdate.h is not renamed, to minimize client impact.
29849         * modules/getdate: Mark obsolete.  Move old contents...
29850         * modules/get_date: ...to new module name.
29851         * modules/getdate-tests: Move...
29852         * modules/get_date-tests: ...here.
29853         * m4/getdate.m4: Move...
29854         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
29855         * lib/getdate.y: Move...
29856         * lib/get_date.y: ...here.
29857         * tests/test-getdate.c: Move...
29858         * tests/test-get_date.c: ...here.
29859         * doc/posix-functions/getdate.texi (getdate): Update name.
29860         * NEWS: Mention the change.
29861
29862 2010-09-29  Bruno Haible  <bruno@clisp.org>
29863
29864         Separate the module 'waitpid' from the module 'sys_wait'.
29865         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
29866         present.
29867         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
29868         gl_MODULE_INDICATOR_FOR_TESTS.
29869         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
29870         * modules/sys_wait (Depends-on): Remove waitpid.
29871         (Makefile.am): Substitute GNULIB_WAITPID.
29872         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
29873         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
29874         signature only if the 'waitpid' module is present.
29875         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
29876         * NEWS: Mention the change.
29877         * modules/grantpt (Depends-on): Add waitpid.
29878         * modules/wait-process (Depends-on): Likewise.
29879
29880 2010-09-29  Bruno Haible  <bruno@clisp.org>
29881
29882         More tests for module 'sys_wait'.
29883         * modules/sys_wait-c++-tests: New file.
29884         * tests/test-sys_wait-c++.cc: New file.
29885         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
29886         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29887
29888 2010-09-29  Bruno Haible  <bruno@clisp.org>
29889
29890         New module 'waitpid'.
29891         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
29892         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
29893         Don't include <process.h>.
29894         (waitpid): Declare only, using modern idiom.
29895         * m4/waitpid.m4: New file.
29896         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
29897         * modules/waitpid: New file.
29898         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
29899         (Makefile.am): Update.
29900         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29901
29902 2010-09-28  Bruno Haible  <bruno@clisp.org>
29903
29904         poll: Assume ANSI C.
29905         * lib/poll.c (poll): Use an ANSI C declaration.
29906
29907 2010-09-28  Bruno Haible  <bruno@clisp.org>
29908
29909         poll-h: Create poll.h on all platforms.
29910         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
29911         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
29912         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
29913         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
29914         (gl_REPLACE_POLL_H): Don't set POLL_H.
29915         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
29916         * modules/poll-h (Depends-on): Add include_next.
29917         (Makefile.am): Create poll.h unconditionally. Substitute also
29918         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
29919
29920 2010-09-28  Bruno Haible  <bruno@clisp.org>
29921
29922         Tests for module 'poll-h'.
29923         * modules/poll-h-c++-tests: New file.
29924         * tests/test-poll-h-c++.cc: New file.
29925
29926         Tests for module 'poll-h'.
29927         * modules/poll-h-tests: New file.
29928         * tests/test-poll-h.c: New file.
29929
29930 2010-09-28  Bruno Haible  <bruno@clisp.org>
29931
29932         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
29933         * modules/poll-h (Depends-on): Add 'extensions'.
29934
29935 2010-09-28  Bruno Haible  <bruno@clisp.org>
29936
29937         New module 'poll-h'.
29938         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
29939         (poll): Use modern idiom.
29940         * modules/poll-h: New file.
29941         * modules/poll (Files): Remove lib/poll.in.h.
29942         (Depends-on): Add poll-h.
29943         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
29944         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
29945         * m4/poll_h.m4: New file.
29946         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
29947         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
29948         and invoke gl_REPLACE_POLL_H.
29949         * lib/poll.c: Use common idiom.
29950         * tests/test-poll.c: Likewise.
29951         * doc/posix-headers/poll.texi: Mention the poll-h module.
29952         Suggested by Eric Blake.
29953
29954 2010-09-26  Bruno Haible  <bruno@clisp.org>
29955
29956         sys_wait: Implement WSTOPSIG.
29957         * lib/sys_wait.in.h (WSTOPSIG): New macro.
29958         Reported by Simon Josefsson.
29959
29960 2010-09-26  Simon Josefsson  <simon@josefsson.org>
29961
29962         stdlib, sys_wait: Avoid compilation error on mingw.
29963         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
29964
29965 2010-09-26  Bruno Haible  <bruno@clisp.org>
29966
29967         stdlib tests: Avoid code duplication.
29968         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
29969         * modules/sys_wait-tests (Files): Likewise.
29970         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
29971         * tests/test-stdlib.c: Include test-sys_wait.h.
29972         (main): Invoke test_sys_wait_macros.
29973         * tests/test-sys_wait.c: Include test-sys_wait.h.
29974         (main): Invoke test_sys_wait_macros.
29975
29976 2010-09-25  Simon Josefsson  <simon@josefsson.org>
29977
29978         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
29979         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
29980         sure Windows sockets are working before calling getaddrinfo.
29981         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
29982         * doc/gnulib.texi (Windows sockets): Fix typo.
29983
29984 2010-09-25  Bruno Haible  <bruno@clisp.org>
29985
29986         Tests for module 'regex-quote'.
29987         * modules/regex-quote-tests: New file.
29988         * tests/test-regex-quote.c: New file.
29989
29990         New module 'regex-quote'.
29991         * lib/regex-quote.h: New file.
29992         * lib/regex-quote.c: New file.
29993         * modules/regex-quote: New file.
29994         Suggested by Reuben Thomas <rrt@sc3d.org>.
29995
29996 2010-09-24  Bruno Haible  <bruno@clisp.org>
29997
29998         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
29999         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
30000
30001 2010-09-23  Bruno Haible  <bruno@clisp.org>
30002
30003         setenv: Relax license.
30004         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
30005         Blake.
30006         Requested by Eric Blake.
30007
30008 2010-09-22  Bruno Haible  <bruno@clisp.org>
30009
30010         termios: Relax license.
30011         * modules/termios (License): Change to LGPLv2+.
30012         Requested by Eric Blake.
30013
30014 2010-09-22  Bruno Haible  <bruno@clisp.org>
30015
30016         threadlib: Allow the package to change the default to 'no'.
30017         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
30018         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
30019         Reported by Paul Eggert.
30020
30021 2010-09-22  Pádraig Brady  <P@draigbrady.com>
30022             Bruno Haible  <bruno@clisp.org>
30023
30024         Fix endless loop in mbmemcasecoll.
30025         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
30026         byte.
30027         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
30028
30029 2010-09-22  Bruno Haible  <bruno@clisp.org>
30030
30031         Tests for module 'memcoll'.
30032         * modules/memcoll-tests: New file.
30033         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
30034
30035         memcoll, xmemcoll: Clarify size vs. length.
30036         * modules/memcoll.c (memcoll0): Clarify specification.
30037         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
30038         passed to collate_error.
30039
30040 2010-09-22  Bruno Haible  <bruno@clisp.org>
30041
30042         Tests for module 'memcasecmp'.
30043         * modules/memcasecmp-tests: New file.
30044         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
30045
30046 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
30047
30048         * lib/pthread.in.h: Add split double-inclusion guard, and include
30049         system <pthread.h> if there is one.  Use @@-style as in other
30050         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
30051         pthread.h doesn't.
30052         (pthread_mutexattr_destroy, pthread_mutexattr_init):
30053         (pthread_mutexattr_settype, pthread_mutex_trylock):
30054         New static inline functions, if there's no system <pthread.h>.
30055         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
30056         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
30057         Approximate with mutexes if the system lacks spinlocks, as in
30058         MacOS.
30059         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
30060         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
30061         @@-style.  Check for spinlocks separately.
30062         (gl_PTHREAD_DEFAULTS): New macro.
30063         * modules/pthread: Redo to use a more typical style for in.h files.
30064
30065 2010-09-21  Eric Blake  <eblake@redhat.com>
30066
30067         net_if: enhance tests
30068         * tests/test-net_if.c (main): Move signature checks earlier.
30069         Print failures to stderr.
30070         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
30071         Document the bug that we do not yet fix.
30072
30073 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
30074
30075         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
30076         about gnulib, not GSS.
30077
30078 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
30079
30080         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
30081         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
30082         for Emacs.
30083         * build-aux/pmccabe2html: Make Makefile.am example code more
30084         cut-and-paste friendly.
30085
30086 2010-09-21  Simon Josefsson  <simon@josefsson.org>
30087
30088         * tests/test-net_if.c: New file.
30089         * modules/net_if-tests: New file.
30090
30091 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
30092
30093         pthread: add pthread_spin_destroy
30094         * lib/pthread.in.h (pthread_spin_destroy): New function.
30095
30096 2010-09-19  Bruno Haible  <bruno@clisp.org>
30097
30098         gnulib-tool: Fix --help output.
30099         * gnulib-tool (func_usage): Fix help message.
30100         Reported by Reuben Thomas <rrt@sc3d.org>.
30101
30102 2010-09-18  Jim Meyering  <meyering@redhat.com>
30103
30104         maint.mk: avoid unexpanded \n in two diagnostics
30105         * top/maint.mk (sc_prohibit_always_true_header_tests):
30106         Don't use a literal \n in a halt=... assignment.  It would not be
30107         expanded, and the two \n bytes would appear in the diagnostic output
30108         rather than the desired newline.  Use halt=$$(printf ... instead.
30109         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
30110
30111 2010-09-18  Bruno Haible  <bruno@clisp.org>
30112
30113         netinet_in: Doc tweak.
30114         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
30115         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30116
30117 2010-09-18  Jim Meyering  <meyering@redhat.com>
30118
30119         init.sh: correct an outdated comment
30120         * tests/init.sh (create_exe_shims_):  s/function/alias/
30121
30122         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
30123         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
30124         a file named "*.exe" is removed between the glob expansion and the
30125         processing of that oddly named file.
30126
30127 2010-09-17  Eric Blake  <eblake@redhat.com>
30128
30129         mirbsd: add some more support
30130         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
30131         in BSD family.
30132         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
30133         devices as OpenBSD.
30134         * m4/host-os.m4 (mirbsd): Add MirBSD.
30135
30136         tests: fix unportable assumption on sys/wait.h
30137         * tests/test-sys_wait.c (main): Relax test.
30138         * tests/test-stdlib.c (main): Likewise.
30139
30140         init.sh: accommodate directory with no .exes
30141         * tests/init.sh: Accomodate directory containing only scripts.
30142
30143         tests: avoid compiler warning
30144         * tests/test-stdlib.c (main): Use the variable.
30145
30146         fdutimens, fdutimensat: update signature, again
30147         * lib/utimens.h (gl_futimens): Delete, and move signature...
30148         (fdutimens): ...here.
30149         (fdutimensat): Rearrange signature.
30150         (lutimensat): Rename variable for clarity.
30151         * lib/fdutimensat.c (fdutimensat): Update signature.
30152         * lib/utimens.c (fdutimens): Likewise.
30153         (gl_futimens): Delete.
30154         (utimens, lutimens): Update callers.
30155         * lib/futimens.c (futimens): Likewise.
30156         * tests/test-fdutimensat.c: Likewise.
30157         * tests/test-utimens.c: Likewise.
30158         * tests/test-futimens.h: Update comment.
30159         * NEWS: Mention this.
30160         Suggested by Paul Eggert.
30161
30162 2010-09-17  Bruno Haible  <bruno@clisp.org>
30163
30164         Take over the maintenance of some older macros from Autoconf.
30165         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
30166         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
30167         GNU Autoconf.
30168         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
30169         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
30170
30171 2010-09-17  Eric Blake  <eblake@redhat.com>
30172
30173         fdutimensat: drop atflag validation
30174         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
30175         with valid fd, to close a race scenario where futimens is
30176         unsupported and FILE was replaced by a symlink.
30177         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
30178         accordingly.
30179         Suggested by Paul Eggert.
30180
30181 2010-09-16  Bruno Haible  <bruno@clisp.org>
30182
30183         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
30184         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
30185
30186 2010-09-16  Bruno Haible  <bruno@clisp.org>
30187
30188         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
30189         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
30190         login_tty exists.
30191         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30192
30193 2010-09-16  Bruno Haible  <bruno@clisp.org>
30194
30195         login_tty: Make the replacement code work on BSD systems.
30196         * lib/login_tty.c: Include <sys/ioctl.h>.
30197         (login_tty): Use ioctl TIOCSCTTY when available.
30198         * modules/login_tty (Depends-on): Add sys_ioctl.
30199         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30200
30201 2010-09-16  Bruno Haible  <bruno@clisp.org>
30202
30203         login_tty: Stricter unit test.
30204         * modules/login_tty-tests (Depends-on): Add tcgetsid.
30205         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
30206         and tcgetsid() after login_tty.
30207         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30208
30209 2010-09-16  Bruno Haible  <bruno@clisp.org>
30210
30211         New module 'tcgetsid'.
30212         * lib/tcgetsid.c: New file.
30213         * m4/tcgetsid.m4: New file.
30214         * modules/tcgetsid: New file.
30215         * modules/termios (Depends-on): Add c++defs, warn-on-use.
30216         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
30217         GNULIB_TCGETSID, HAVE_TCGETSID.
30218         * lib/termios.in.h: Include <sys/types.h>.
30219         (tcgetsid): New declaration.
30220         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
30221         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
30222         * doc/posix-functions/tcgetsid.texi: Mention the new module.
30223         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
30224
30225 2010-09-16  Bruno Haible  <bruno@clisp.org>
30226
30227         Tests for module 'termios'.
30228         * modules/termios-c++-tests: New file.
30229         * modules/termios-tests: New file.
30230         * tests/test-termios-c++.cc: New file.
30231         * tests/test-termios.c: New file.
30232
30233         New module 'termios'.
30234         * modules/termios: New file.
30235         * lib/termios.in.h: New file.
30236         * m4/termios_h.m4: New file.
30237         * doc/posix-headers/termios.texi: Mention the new module.
30238
30239 2010-09-16  Eric Blake  <eblake@redhat.com>
30240
30241         fdutimensat: add an atflag parameter
30242         * lib/fdutimensat.c (fdutimensat): Add new parameter.
30243         * lib/utimens.h (fdutimensat): Update prototype.
30244         * tests/test-fdutimensat.c: Adjust test to match.
30245         * NEWS: Document the change.
30246         Suggested by Paul Eggert.
30247
30248 2010-09-16  Bruno Haible  <bruno@clisp.org>
30249
30250         Fix typos in comments.
30251         * lib/striconveh.h: Fix typo in comment.
30252         * lib/login_tty.c (login_tty): Likewise.
30253
30254 2010-09-15  Bruno Haible  <bruno@clisp.org>
30255
30256         stdlib: clarify MirBSD WEXITSTATUS bug
30257         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
30258         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
30259
30260 2010-09-15  Eric Blake  <eblake@redhat.com>
30261
30262         stdlib: work around MirBSD WEXITSTATUS bug
30263         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
30264         * modules/stdlib (Depends-on): Add sys_wait.
30265         * tests/test-sys_wait.c (main): Enhance test.
30266         * tests/test-stdlib.c (main): Likewise.
30267         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
30268
30269         docs: mention MacOS issue with WEXITSTATUS(constant)
30270         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
30271         issue.
30272         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
30273
30274         strnlen: add tests
30275         * modules/strnlen-tests: New file.
30276         * tests/test-strnlen.c: Likewise.
30277
30278 2010-09-14  Bruno Haible  <bruno@clisp.org>
30279
30280         unistr/base: Avoid link errors when module 'libunistring' is also used.
30281         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
30282         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
30283         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
30284         Declare also when HAVE_LIBUNISTRING is set.
30285         Reported by Pádraig Brady <P@draigbrady.com>.
30286
30287 2010-09-14  Eric Blake  <eblake@redhat.com>
30288
30289         test-rawmemchr: make more robust
30290         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
30291         (Depends-on, configure.ac): Add needed prerequisites to use it.
30292         * modules/memchr-tests (Files, Depends-on, configure.ac):
30293         Likewise, to avoid implicit reliance on memchr module prereqs.
30294         * tests/test-memchr.c (main): Ensure proper masking.
30295         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
30296         reads.
30297
30298         memchr: detect glibc Alpha bug
30299         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
30300         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
30301         Alpha.
30302         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
30303         * tests/test-memchr.c (main): Enhance test.
30304         Reported by Nelson H. F. Beebe.
30305
30306 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
30307
30308         fts, getcwd, glob: audit for dirfd returning -1
30309         * lib/fts.c (opendir): Remove #define; no longer used.
30310         (opendirat): New arg PDIR_FD.  All callers changed.
30311         (fts_build, _opendir2): Use new opendirat to avoid the need for
30312         dirfd, or for checking whether dirfd returns a negative value.
30313         Don't use opendir; always use openat followed by fdopendir.
30314         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
30315         it.
30316         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
30317         returns -1 here.
30318         * modules/fts (Depends-on): Remove dirfd.
30319         * modules/getcwd (Depends-on): Likewise.
30320
30321 2010-09-13  Eric Blake  <eblake@redhat.com>
30322
30323         float: fix broken MirBSD header
30324         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
30325         * doc/posix-headers/float.texi (float.h): Document it.
30326
30327 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
30328
30329         fts: use O_NOFOLLOW to avoid race condition when opening a directory
30330         * lib/fts.c (opendirat): New arg extra_flags.
30331         (__opendir2): Use it to avoid following symlinks when opening
30332         a directory, if symlinks are not supposed to be followed.  See
30333         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
30334
30335         fdopendir: preserve argument fd before returning
30336         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
30337         (fdopendir_with_dup, fd_clone_opendir): New static functions.
30338         (fdopendir): Use them, arranging for FD to be open to the same
30339         directory that it was when it started.  (It might be temporarily
30340         closed while fdopendir is running, so this not thread- or
30341         signal-safe.)  Be careful to do the right thing even when file
30342         descriptors are scarce and dup fails with errno == EMFILE.  See
30343         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
30344
30345 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
30346
30347         regex: Pass the system regex if its only problem is 32-bit regoff_t.
30348         * NEWS: Document change.
30349         * m4/regex.m4: Disable test for regoff_t size.
30350
30351 2010-09-13  Jim Meyering  <meyering@redhat.com>
30352
30353         fts: don't operate on an invalid file descriptor after failed dup
30354         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
30355         negative file descriptor.
30356
30357 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
30358
30359         savedir: add streamsavedir, deprecate fdsavedir
30360         * NEWS: Mention deprecation of fdsavedir.
30361         * lib/savedir.c (streamsavedir): New extern function, whose name
30362         ends in "savedir" to be consistent with the others.  This differs
30363         from savedirstream in that it doesn't close its argument.  The
30364         next version of GNU tar will use this instead of fdsavedir, to
30365         avoid some race conditions and conserve file descriptors.
30366         (savedirstream): Reimplement as a wrapper around streamsavedir.
30367         (fdsavedir): Add a comment deprecating this function.  As far as
30368         I know, only GNU tar used it, and GNU tar doesn't need it any more.
30369         * lib/savedir.h (streamsavedir): New decl.
30370         (fdsavedir): Add a comment deprecating this.
30371
30372 2010-09-10  Bruno Haible  <bruno@clisp.org>
30373
30374         langinfo: Fix last commit.
30375         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
30376         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
30377         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30378
30379 2010-09-10  Bruno Haible  <bruno@clisp.org>
30380
30381         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
30382         * lib/progreloc.c (O_EXEC): Define fallback.
30383
30384 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
30385
30386         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
30387         * NEWS: Document recent changes to fcntl-h.
30388         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
30389         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
30390         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
30391         Similarly for O_SEARCH; this last was already true, but not documented.
30392         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
30393         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
30394         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
30395         Likewise.
30396         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
30397         is zero, not whether it is defined.
30398         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
30399         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
30400         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
30401
30402 2010-09-10  Bruno Haible  <bruno@clisp.org>
30403
30404         langinfo, nl_langinfo: Fix for IRIX 5.3.
30405         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
30406         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
30407         HAVE_LANGINFO_YESEXPR.
30408         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
30409         HAVE_LANGINFO_YESEXPR.
30410         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
30411         HAVE_LANGINFO_T_FMT_AMPM is 0.
30412         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
30413         HAVE_LANGINFO_YESEXPR is 0.
30414         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
30415         NOEXPR.
30416         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
30417         * doc/posix-functions/nl_langinfo.texi: Likewise.
30418         Reported by Eric Blake.
30419
30420 2010-09-10  Bruno Haible  <bruno@clisp.org>
30421
30422         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
30423         * doc/glibc-functions/login_tty.texi: Mention the include file problem
30424         on FreeBSD 8.0 and OpenBSD 4.6.
30425         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
30426         * m4/pty_h.m4 (gl_PTY_H): Likewise.
30427         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
30428         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
30429         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
30430         ac_includes_default.
30431         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30432
30433 2010-09-09  Eric Blake  <eblake@redhat.com>
30434
30435         strsignal: work around NetBSD bug
30436         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
30437         * lib/string.in.h (includes): Likewise.
30438         * doc/posix-functions/strsignal.texi (strsignal): Document the
30439         bug.
30440         Reported by Nelson H. F. Beebe.
30441
30442         gnulib-tool: work with NetBSD /bin/sh
30443         * gnulib-tool (func_cache_var, func_cache_lookup_module)
30444         (func_get_description, func_get_comment, func_get_status)
30445         (func_get_notice, func_get_applicability, func_get_filelist)
30446         (func_get_dependencies, func_get_autoconf_early_snippet)
30447         (func_get_autoconf_snippet, func_get_automake_snippet)
30448         (func_get_include_directive, func_get_link_directive)
30449         (func_get_license, func_get_maintainer, func_import): Avoid
30450         shell syntax errors from parsing syntax extensions.
30451
30452 2010-09-09  Bruno Haible  <bruno@clisp.org>
30453
30454         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30455         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
30456         a reliable way to determine whether the 'alias' command works.
30457
30458 2010-09-08  Jim Meyering  <meyering@redhat.com>
30459
30460         init.sh: penalize a set-x-impaired shell; don't disqualify it
30461         * tests/init.sh: Too many shells corrupt application stderr when
30462         you set -x, so we can't afford to disqualify them, since at least
30463         on Irix-6.5, that would disqualify all bourne shells.
30464         Instead, use a two-pass approach.
30465         On the first pass, try to find a shell that meets the stricter
30466         condition that set -x does not corrupt stderr.
30467         If no shell meets the stricter condition, retest each candidate
30468         shell, but without that extra condition.  Finally, when
30469         VERBOSE=yes is requested and set -x might cause trouble, simply
30470         issue a warning and refrain from enabling debug output.
30471
30472 2010-09-08  Eric Blake  <eblake@redhat.com>
30473
30474         unsetenv: fix OpenBSD bug
30475         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
30476         * doc/posix-functions/unsetenv.texi (unsetenv): Update
30477         documentation.
30478         Reported by Jim Meyering.
30479
30480         strtod: work around IRIX 6.5 bug
30481         * lib/strtod.c (strtod): Reparse number on shorter string if
30482         exponent parse was invalid.
30483         * tests/test-strtod.c (main): Add check for "0x1p 2".
30484         Reported by Tom G. Christensen.
30485
30486         getopt: optimize previous patch
30487         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
30488         empty variable.  Speed up awk script.
30489         Reported by Paolo Bonzini.
30490
30491 2010-09-08  Jim Meyering  <meyering@redhat.com>
30492
30493         test.sh: disqualify shells for which set -x corrupts stderr
30494         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
30495         and OpenBSD 4.7.  They make it so with "set -x", environment settings
30496         appear in stderr output.  For example, this command:
30497             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
30498         prints "P=1" on those two systems:
30499
30500 2010-09-08  Bruno Haible  <bruno@clisp.org>
30501
30502         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30503         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
30504         commands, because some shells ignore redirections when there is an
30505         error in the command lookup.
30506         Reported by Eric Blake.
30507
30508 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
30509
30510         * lib/regex.h: Fix a mention of `regex_compile' (should be
30511         `re_compile_pattern').
30512         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
30513         (re_set_registers): Correct name of parameter in comment.
30514
30515         * doc/regex.texi: Add documentation for missing syntax flags.
30516         Remove commented-out documentation of defunct syntax option
30517         RE_NO_EMPTY_ALTS.
30518         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
30519         Add documentation of re_set_registers.
30520         Document trick to re-use a pattern buffer by setting fastmap manually.
30521         Update documentation of struct re_pattern_buffer per public members.
30522         Uncomment documentation of equivalence class operators and
30523         collating symbol operators, since they are now implemented,
30524         Explain leftmost-longest matching in relation to alternatives.
30525         Tidy documentation of substring matching.
30526         Remove POSIX documentation, which is done better in
30527         glibc, and refer the reader there. Keep BSD API documentation, as
30528         that is not readily available elsewhere.
30529
30530 2010-09-07  Eric Blake  <eblake@redhat.com>
30531
30532         getopt: handle POSIXLY_CORRECT set but not exported
30533         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
30534         export state of POSIXLY_CORRECT, due to bash set -o posix.
30535         Reported by Dustin J. Mitchell.
30536
30537 2010-09-05  Bruno Haible  <bruno@clisp.org>
30538
30539         gnulib-tool: Highlight the changed options.
30540         * gnulib-tool (func_usage): Display the --import, --add-import,
30541         --remove-import explanations in bold font.
30542
30543 2010-09-06  Karl Berry  <karl@gnu.org>
30544
30545         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
30546
30547 2010-09-05  Bruno Haible  <bruno@clisp.org>
30548
30549         uniwidth/width: Update comment.
30550         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
30551         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
30552
30553 2010-09-05  Bruno Haible  <bruno@clisp.org>
30554
30555         isinf, isnan: Relax license.
30556         * modules/isinf (License): Change from GPL to LGPL, with consent from
30557         Ben Pfaff.
30558         * modules/isnan (License): Likewise.
30559         Requested by Ludovic Courtès.
30560
30561 2010-09-04  Bruno Haible  <bruno@clisp.org>
30562
30563         gnulib-tool: Help migration from --import to --add-import or --update.
30564         * gnulib-tool: Emit a verbose error message when --import is used
30565         without any module name.
30566
30567 2010-09-04  Bruno Haible  <bruno@clisp.org>
30568
30569         Update doc about gnulib-tool.
30570         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
30571         'gnulib-tool --update' in more detail.
30572         Reported by Eric Blake.
30573
30574 2010-09-04  Bruno Haible  <bruno@clisp.org>
30575
30576         gnulib-tool: Change --import. New options --add/remove-import.
30577         * gnulib-tool: New options --add-import, --remove-import.
30578         (func_usage): Document them.
30579         (have_associative): Define always.
30580         (func_import): In import mode, don't merge the specified settings with
30581         the cached settings. Implement remove-import mode.
30582         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
30583         Explain when to use them versus --import.
30584         (Simple update): Use --add-import instead of --import.
30585         * NEWS: Mention the change.
30586
30587 2010-09-04  Bruno Haible  <bruno@clisp.org>
30588
30589         * doc/gnulib-tool.texi (Initial import): Update paragraph about
30590         separate gnulib.mk.
30591
30592 2010-09-04  Bruno Haible  <bruno@clisp.org>
30593
30594         gnulib-tool: Don't talk about CVS any more.
30595         * gnulib-tool (func_usage, func_import): Write "version control"
30596         instead of CVS.
30597
30598 2010-09-04  Jim Meyering  <meyering@redhat.com>
30599
30600         maint.mk: avoid obscure sc_copyright_check failure in coreutils
30601         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
30602         false positives (whose names may be ill-chosen) when searching
30603         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
30604         would cause a false-positive.
30605
30606         avoid coreutils "make distcheck" failure
30607         Coreutils tests with an absolute build directory name that contains
30608         a space.  Not quoting this directory name caused a failure.
30609         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
30610         * tests/test-vc-list-files-cvs.sh: Likewise.
30611
30612 2010-09-04  Bruno Haible  <bruno@clisp.org>
30613
30614         gnulib-tool: Avoid error when run in a package without Makefile.am.
30615         * gnulib-tool: When collecting the m4dirs in a package that does not
30616         have a Makefile.am, eliminate those directories that contain no
30617         gnulib-cache.m4. Fix expression that counts these directories.
30618
30619 2010-09-04  Bruno Haible  <bruno@clisp.org>
30620
30621         update-copyright test: Improve output when perl is missing or too old.
30622         * tests/test-update-copyright.sh: Move test of Perl version down after
30623         the test whether Perl exists. Provide an explanation relating Perl's
30624         error message to Automake's SKIP: message.
30625
30626 2010-09-04  Bruno Haible  <bruno@clisp.org>
30627
30628         Don't augment PATH in TESTS_ENVIRONMENT.
30629         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
30630         set abs_aux_dir instead of augmenting PATH.
30631         * modules/vc-list-files-tests (Makefile.am): Likewise.
30632         * tests/test-update-copyright.sh: Augment PATH here.
30633         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
30634         path_prepend_.
30635         * tests/test-vc-list-files-git.sh: Likewise.
30636
30637 2010-09-04  Jim Meyering  <meyering@redhat.com>
30638
30639         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
30640         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
30641
30642 2010-09-04  Bruno Haible  <bruno@clisp.org>
30643
30644         strdup: Fix compilation error in C++ mode.
30645         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
30646         the macro.
30647
30648 2010-09-04  Bruno Haible  <bruno@clisp.org>
30649
30650         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
30651         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
30652         macro into a function.
30653         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30654
30655 2010-09-04  Bruno Haible  <bruno@clisp.org>
30656
30657         Set PATH_SEPARATOR the same way autoconf does.
30658         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
30659         the value of PATH_SEPARATOR the same way autoconf-generated configure
30660         scripts do.
30661         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
30662         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
30663
30664 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
30665
30666         Set PATH_SEPARATOR the same way autoconf does.
30667         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
30668         the same way autoconf-generated configure scripts do.
30669         * posix-modules: Likewise.
30670
30671 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
30672
30673         hash: fix safe_hasher const typo
30674         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
30675         const; otherwise, there is a type error later.
30676
30677 2010-09-02  Jim Meyering  <meyering@redhat.com>
30678
30679         test-update-copyright.sh: require perl 5.8.0
30680         * tests/test-update-copyright.sh: Require 5.8.0,
30681         which Tom G. Christensen has confirmed is adequate,
30682         while 5.6.1 is not.
30683
30684 2010-09-02  Eric Blake  <eblake@redhat.com>
30685
30686         tests: init.sh improvements for re-exec'ing with zsh
30687         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
30688         -vx through shell re-exec.
30689         Reported by Tom G. Christensen.
30690
30691         wctype: fix typo in previous commit
30692         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
30693         Reported by Ludovic Courtès.
30694
30695 2010-09-02  Jim Meyering  <meyering@redhat.com>
30696
30697         test-update-copyright.sh: skip test if Perl is too old
30698         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
30699         Reported by Tom G. Christensen.
30700
30701 2010-09-02  Bruno Haible  <bruno@clisp.org>
30702
30703         wctype: Avoid compilation error on IRIX 6.5.30.
30704         * lib/wctype.in.h (iswblank): Declare with a replacement if
30705         REPLACE_ISWBLANK is set.
30706         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
30707         declared. Set REPLACE_ISWBLANK.
30708         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
30709         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
30710         * doc/posix-headers/wctype.texi: Likewise.
30711         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30712
30713 2010-09-01  Bruno Haible  <bruno@clisp.org>
30714
30715         New module 'socketlib'.
30716         * modules/socketlib: New file.
30717         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
30718         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
30719         * modules/sockets (Depends-on): Add socketlib.
30720         Suggested by Sam Steingold <sds@gnu.org>.
30721
30722 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
30723
30724         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
30725
30726         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
30727         when one needs search access to a directory but not read access.
30728         On systems where it is available, it works in some cases where
30729         O_RDONLY does not, namely on directories that are searchable but
30730         not readable, and which need only to be searchable.  If O_SEARCH
30731         is not available, fall back to the traditional method of using
30732         O_RDONLY.
30733
30734         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
30735         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
30736         when opening a directory that needs only to be searchable.
30737         * lib/chdir-safer.c (chdir_no_follow): Likewise.
30738         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
30739         * lib/openat-proc.c (openat_proc_name): Likewise.
30740         * lib/openat.c (openat_needs_fchdir): Likewise.
30741         * lib/save-cwd.c (save_cwd): Likewise.
30742         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
30743
30744 2010-08-28  Bruno Haible  <bruno@clisp.org>
30745
30746         New module 'host-cpu-c-abi'.
30747         * modules/host-cpu-c-abi: New file.
30748         * m4/host-cpu-c-abi.m4: New file, based on part of
30749         clisp/src/m4/general.m4.
30750         Requested by Sam Steingold <sds@gnu.org>.
30751
30752 2010-08-31  Eric Blake  <eblake@redhat.com>
30753         and Jim Meyering  <meyering@redhat.com>
30754
30755         hash: factor, and guard against misbehaving hasher function
30756         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
30757         of table->hasher's return value.  Also protect against a hash value
30758         so large that adding it to table->bucket results in a NULL pointer.
30759         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
30760         Use it in place of open-coded check-and-abort.
30761
30762 2010-08-30  Bruno Haible  <bruno@clisp.org>
30763
30764         hash: silence spurious clang warning
30765         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
30766         Reported by Eric Blake.
30767
30768 2010-08-30  Eric Blake  <eblake@redhat.com>
30769
30770         strstr, memmem, strcasestr: avoid leaked shell message
30771         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
30772         FreeBSD.
30773         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30774         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
30775
30776         tests: silence clang warning
30777         * tests/test-malloca.c (do_allocation): Avoid dead store.
30778
30779 2010-08-29  Bruno Haible  <bruno@clisp.org>
30780
30781         gettext: Fix recent mistake.
30782         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
30783
30784 2010-08-29  Bruno Haible  <bruno@clisp.org>
30785
30786         selinux-h: Offer a --without-selinux option.
30787         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
30788         --without-selinux was specified, skip all tests and define
30789         HAVE_SELINUX_SELINUX_H to 0.
30790         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
30791         set LIB_SELINUX to empty.
30792         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
30793         gl_LIBSELINUX. If --without-selinux was specified, replace
30794         selinux/context.h.
30795         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
30796
30797 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30798             Bruno Haible  <bruno@clisp.org>
30799
30800         Make the module 'realloc-gnu' work again on AIX and OSF/1.
30801         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
30802         of HAVE_REALLOC.
30803         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
30804         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
30805         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
30806         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30807
30808 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30809             Bruno Haible  <bruno@clisp.org>
30810
30811         Make the module 'calloc-gnu' work again on AIX and OSF/1.
30812         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
30813         HAVE_CALLOC.
30814         * lib/xmalloc.c: Update accordingly.
30815         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
30816         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
30817         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
30818
30819 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30820             Bruno Haible  <bruno@clisp.org>
30821
30822         Make the module 'malloc-gnu' work again on AIX and OSF/1.
30823         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
30824         HAVE_MALLOC.
30825         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
30826         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
30827         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30828
30829 2010-08-29  Bruno Haible  <bruno@clisp.org>
30830
30831         Update modules list.
30832         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
30833         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
30834         (String handling <string.h>): Add astrxfrm.
30835         (File system functions): Add readlinkat.
30836
30837 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30838
30839         Tests for module 'realloc-gnu'.
30840         * modules/realloc-gnu-tests: New file.
30841         * tests/test-realloc-gnu.c: New file.
30842
30843         Tests for module 'calloc-gnu'.
30844         * modules/calloc-gnu-tests: New file.
30845         * tests/test-calloc-gnu.c: New file.
30846
30847         Tests for module 'malloc-gnu'.
30848         * modules/malloc-gnu-tests: New file.
30849         * tests/test-malloc-gnu.c: New file.
30850
30851 2010-08-28  Bruno Haible  <bruno@clisp.org>
30852
30853         Rename module 'realloc' -> 'realloc-gnu'.
30854         * modules/realloc-gnu: New file, copied from modules/realloc.
30855         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
30856         obsolete.
30857         * modules/mgetgroups (Depends-on): Update.
30858         * doc/posix-functions/realloc.texi: Update.
30859         * NEWS: Mention the change.
30860
30861         Rename module 'calloc' -> 'calloc-gnu'.
30862         * modules/calloc-gnu: New file, copied from modules/calloc.
30863         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
30864         obsolete.
30865         * doc/posix-functions/calloc.texi: Update.
30866         * NEWS: Mention the change.
30867
30868         Rename module 'malloc' -> 'malloc-gnu'.
30869         * modules/malloc-gnu: New file, copied from modules/malloc.
30870         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
30871         obsolete.
30872         * modules/argp (Depends-on): Update.
30873         * modules/regex (Depends-on): Update.
30874         * doc/posix-functions/malloc.texi: Update.
30875         * NEWS: Mention the change.
30876
30877 2010-08-28  Eric Blake  <eblake@redhat.com>
30878
30879         pread, pwrite: add missing dependency
30880         * modules/pread (Depends-on): Add extensions.
30881         * modules/pwrite (Depends-on): Likewise.
30882
30883 2010-08-28  Bruno Haible  <bruno@clisp.org>
30884
30885         unistr/u*-strchr: Fix tests dependencies.
30886         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
30887         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
30888         Reported by Ian Beckwith <ianb@erislabs.net>.
30889
30890 2010-08-28  Bruno Haible  <bruno@clisp.org>
30891
30892         read-file: Don't occupy too much unused memory.
30893         * lib/read-file.c (fread_file): Shrink the buffer at the end.
30894
30895 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
30896             Eric Blake  <eblake@redhat.com>
30897             Bruno Haible  <bruno@clisp.org>
30898
30899         read-file: Avoid memory reallocations with regular files.
30900         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
30901         (fread_file): With regular files, use the remaining length as the
30902         initial buffer size.  Check against overflow.
30903         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
30904         sys_stat.
30905
30906 2010-08-28  Bruno Haible  <bruno@clisp.org>
30907
30908         ftello: Relax license.
30909         * modules/ftello (License): Relax to LGPLv2+.
30910         Reported by Eric Blake.
30911
30912 2010-08-28  Bruno Haible  <bruno@clisp.org>
30913
30914         Avoid relocwrapper link errors due to gnulib replacement functions.
30915         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
30916         function.
30917         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30918
30919 2010-08-28  Bruno Haible  <bruno@clisp.org>
30920
30921         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
30922         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
30923         defined.
30924         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
30925         Suggested by Eric Blake.
30926
30927 2010-08-28  Bruno Haible  <bruno@clisp.org>
30928
30929         sys_socket, netdb: Ensure socklen_t gets defined.
30930         * modules/sys_socket (Depends-on): Add socklen.
30931         * modules/netdb (Depends-on): Likewise.
30932         * modules/getaddrinfo (Depends-on): Remove socklen.
30933         * modules/getsockopt (Depends-on): Likewise.
30934         * modules/setsockopt (Depends-on): Likewise.
30935         * tests/test-sys_socket.c: Check that socklen_t is defined.
30936         * tests/test-netdb.c: Likewise.
30937         * m4/socklen.m4: Update comments.
30938         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30939
30940 2010-08-27  Eric Blake  <eblake@redhat.com>
30941
30942         login_tty: add missing dependency
30943         * modules/login_tty (Depends-on): Add pty.
30944
30945 2010-08-26  Eric Blake  <eblake@redhat.com>
30946
30947         lib-symbol-versions: fix m4 quoting
30948         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
30949         format for AC_LINK_IFELSE.
30950
30951         glob: fix compile test
30952         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
30953
30954         btowc: fix missing file
30955         * modules/btowc (Files): Also ship locale-fr.m4.
30956
30957         lseek: fix link test
30958         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
30959         AC_LINK_IFELSE.
30960
30961         include_next: silence autoconf 2.68 warning
30962         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
30963         AC_COMPILE_IFELSE as special.
30964         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
30965         autoconf < 2.68.
30966
30967         acl: fix compilation test
30968         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
30969         AC_COMPILE_IFELSE.
30970
30971 2010-08-26  Bruno Haible  <bruno@clisp.org>
30972
30973         Modernize AC_TRY_RUN invocations.
30974         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
30975         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
30976         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
30977         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
30978         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
30979         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
30980         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
30981         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
30982         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30983         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30984         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
30985         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
30986         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
30987         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30988         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
30989         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
30990         gl_MBRLEN_NUL_RETVAL): Likewise.
30991         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
30992         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
30993         Likewise.
30994         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
30995         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
30996         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
30997         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
30998         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
30999         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
31000         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
31001         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
31002         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
31003         Likewise.
31004         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
31005         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
31006         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
31007         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
31008         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31009         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
31010         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
31011         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
31012         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
31013         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
31014
31015 2010-08-26  Bruno Haible  <bruno@clisp.org>
31016
31017         Modernize AC_TRY_LINK invocations.
31018         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
31019         AC_TRY_LINK.
31020         * m4/argp.m4 (gl_ARGP): Likewise.
31021         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
31022         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
31023         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
31024         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
31025         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
31026         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
31027         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
31028         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
31029         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
31030         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
31031         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
31032         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
31033         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
31034         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
31035         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
31036         * m4/hostent.m4 (gl_HOSTENT): Likewise.
31037         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
31038         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
31039         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
31040         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
31041         Likewise.
31042         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
31043         Likewise.
31044         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
31045         Likewise.
31046         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
31047         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
31048         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
31049         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
31050         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
31051         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31052         * m4/servent.m4 (gl_SERVENT): Likewise.
31053         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
31054         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
31055         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
31056         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
31057         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
31058         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
31059         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
31060         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31061         * modules/tsearch-tests (configure.ac): Likewise.
31062
31063 2010-08-26  Bruno Haible  <bruno@clisp.org>
31064
31065         Modernize AC_TRY_COMPILE invocations.
31066         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
31067         AC_TRY_COMPILE.
31068         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
31069         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
31070         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
31071         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
31072         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
31073         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
31074         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31075         * m4/lock.m4 (gl_LOCK): Likewise.
31076         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
31077         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
31078         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
31079         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
31080         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
31081         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
31082         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
31083         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
31084         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
31085         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
31086         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
31087         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
31088         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
31089         extraneous semicolon.
31090
31091 2010-08-26  Jim Meyering  <meyering@redhat.com>
31092
31093         stat-time: relax license LGPL
31094         * modules/stat-time (License): Change from GPL to LGPL,
31095         with consent from all contributors, for use in libguile.
31096         Requested by Ludovic Courtès.
31097
31098 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
31099
31100         poll: return immediately on POLLHUP.
31101         * lib/poll.c (poll): Always set timeout before wait_timeout is
31102         computed.
31103
31104 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31105
31106         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
31107         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
31108         rmdir ("dir/.//"), unlinkat.
31109
31110 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
31111
31112         stdbool: avoid spurious failure with modern xlc
31113         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
31114
31115 2010-08-24  Bruno Haible  <bruno@clisp.org>
31116
31117         getloadavg: simplify code
31118         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
31119         gl_have_func. Update comments.
31120
31121 2010-08-24  Eric Blake  <eblake@redhat.com>
31122
31123         getloadavg: don't define SVR4 on cygwin
31124         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
31125         only define SVR4 when -lkvm is required.
31126         Reported by Yaakov Selkowitz.
31127
31128 2010-08-24  Bruno Haible  <bruno@clisp.org>
31129
31130         priv-set: fix comment
31131         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
31132
31133 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
31134
31135         priv-set: fix comments
31136         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
31137         to match code, as suggested by David Bartley in:
31138         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
31139
31140 2010-08-23  Eric Blake  <eblake@redhat.com>
31141
31142         stdbool: avoid rejecting clang
31143         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
31144         * tests/test-stdbool.c: Enable more tests if using the system
31145         <stdbool.h> instead of the gnulib replacement.
31146         (main): Move xlc bug test to a runtime test for all compilers.
31147         Reported by Anders Kaseorg.
31148
31149         argz: fix shell quoting issue
31150         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
31151         Reported by Charles Wilson.
31152
31153 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
31154             Erik Faye-Lund <kusmabite@gmail.com>
31155
31156         poll, select: handle ERROR_BROKEN_PIPE.
31157         * lib/poll.c (win32_compute_revents): Return POLLHUP when
31158         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
31159         * lib/select.c (win32_compute_revents): Do not mark a pipe
31160         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
31161
31162 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
31163
31164         fts: allow compilation with C++
31165         * lib/fts_.h: Specify extern "C" linkage with C++.
31166
31167 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31168
31169         Fix gnulib-tool sed script de-commentation for AIX sed.
31170         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
31171         sed.
31172
31173 2010-08-17  Eric Blake  <eblake@redhat.com>
31174
31175         test-stddef: test for (some) offsetof bugs
31176         * tests/test-stddef.c: Enhance test to ensure correct type of
31177         offsetof.
31178         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
31179         that we are not fixing at this time.
31180
31181 2010-08-15  Bruno Haible  <bruno@clisp.org>
31182
31183         stpncpy: Allow stpncpy to be defined as a macro.
31184         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
31185         if it's already correctly declared.
31186         * lib/string.in.h (stpncpy): Undefine before redefining.
31187         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
31188
31189 2010-08-14  Bruno Haible  <bruno@clisp.org>
31190
31191         Rename module 'memxfrm' to 'amemxfrm'.
31192         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
31193         (amemxfrm): Renamed from memxfrm.
31194         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
31195         (amemxfrm): Renamed from memxfrm.
31196         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
31197         * NEWS: Mention the change.
31198         * MODULES.html.sh (String handling <string.h>): Update.
31199         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
31200         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
31201         * lib/unicase/u16-casexfrm.c: Likewise.
31202         * lib/unicase/u32-casexfrm.c: Likewise.
31203         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
31204         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
31205         * lib/uninorm/u16-normxfrm.c: Likewise.
31206         * lib/uninorm/u32-normxfrm.c: Likewise.
31207         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
31208         memxfrm.
31209         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
31210         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
31211         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
31212         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
31213         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
31214         Suggested by Paul Eggert.
31215
31216 2010-08-14  Bruno Haible  <bruno@clisp.org>
31217
31218         Tests for module 'astrxfrm'.
31219         * modules/astrxfrm-tests: New file.
31220         * tests/test-astrxfrm.c: New file.
31221
31222         New module 'astrxfrm'.
31223         * lib/astrxfrm.h: New file.
31224         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
31225         * modules/astrxfrm: New file.
31226
31227 2010-08-14  Reuben Thomas <rrt@sc3d.org>
31228
31229         regex: Tweak doc.
31230         * doc/regex.texi (Overview): Don't mention regex.c.
31231         (GNU Regular Expression Compiling): Likewise.
31232         (Match-end-of-line Operator): Mention 'not_eol'.
31233
31234 2010-08-14  Brian Gough  <bjg@gnu.org>
31235             Bruno Haible  <bruno@clisp.org>
31236
31237         git-merge-changelog: add doc relating to use with bzr and hg.
31238         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
31239
31240 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
31241
31242         pthread: fix pthread.h creation for srcdir != builddir
31243         * modules/pthread (Makefile.am): Fix the rule to work also in a
31244         non-srcdir build.
31245
31246 2010-08-13  Karl Berry  <karl@gnu.org>
31247
31248         * doc/regex.texi (Predefined Syntaxes): @smallexample.
31249         * doc/posix-*/*: force line break before @url of POSIX
31250         specifications.
31251         Suggested by Werner Lemberg.
31252
31253 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
31254
31255         strtod: fix const diagnostic
31256         * lib/strtod.c (strtod): Don't assign const char * to char *,
31257         as this elicits a warning from GCC when warnings are enabled.
31258
31259 2010-08-10  Pádraig Brady <P@draigbrady.com>
31260         and Eric Blake  <eblake@redhat.com>
31261
31262         copy-acl: ignore ENOTSUP on HP-UX
31263         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
31264         so that it is available for HP-UX.
31265         * lib/copy-acl.c (qcopy_acl): Use it.
31266         Reported by Patrick M. Callahan.
31267
31268 2010-08-10  Eric Blake  <eblake@redhat.com>
31269
31270         open, chown: relax license
31271         * modules/open (License): Change to LGPLv2+, with consent by all
31272         authors, for use in augeas.
31273         * modules/chown (License): Likewise.
31274         * modules/lchown (Likewise): Likewise.
31275         Requested by Adam Stokes.
31276
31277 2010-08-09  Karl Berry  <karl@gnu.org>
31278
31279         * build-aux/ar-lib: new file, import from Automake.
31280         * config/srclist.txt: autocheck for updates.
31281
31282 2010-08-09  Eric Blake  <eblake@redhat.com>
31283
31284         readlinkat: adjust client modules
31285         * modules/areadlinkat (Depends-on): Use readlinkat, not
31286         symlinkat.
31287         * modules/areadlinkat-with-size (Depends-on): Likewise.
31288
31289         mknod: be more vocal about danger of running tests as root
31290         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
31291         root, since that is just asking for problems.
31292         Suggested by Bruno Haible, based on a report by Rainer Tammer.
31293
31294         readlinkat: split into its own module
31295         * modules/symlinkat: Split readlinkat...
31296         * modules/readlinkat: ...into separate module.
31297         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
31298         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
31299         * lib/symlinkat.c (readlinkat): Move...
31300         * lib/readlinkat.c: ...into new file.
31301         * modules/symlinkat-tests: Split readlinkat test...
31302         * modules/readlinkat-tests: ...into separate module.
31303         * tests/test-symlinkat.c: Split...
31304         * tests/test-readlinkat.c: ...into new file.
31305         * NEWS: Document the split.
31306         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
31307         * lib/unistd.in.h (readlinkat): Likewise.
31308         Suggested by Bruno Haible.
31309
31310 2010-08-08  Bruno Haible  <bruno@clisp.org>
31311
31312         memxfrm: Speed up.
31313         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
31314         that usually only one call to strxfrm is necessary for each string
31315         part.
31316         Reported by Paul Eggert <eggert@cs.ucla.edu>.
31317
31318 2010-08-07  Karl Berry  <karl@gnu.org>
31319
31320         * doc/posix-headers/limits.texi,
31321         * doc/posix-functions/malloc.texi,
31322         * doc/posix-functions/strsignal.texi: missing @item.
31323         * doc/ld-version-script.texi: spurious leading i.
31324         * doc/regex.texi (Interval Operators): no commas inside @var.
31325
31326 2010-08-01  Bruno Haible  <bruno@clisp.org>
31327
31328         Integrate the regex documentation.
31329         * doc/gnulib.texi: Define 'cn' index.
31330         (Regular expressions): New a chapter that includes regex.texi and
31331         regexprops-generic.texi.
31332         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
31333         syntax.
31334
31335         Whitespace cleanup.
31336         * doc/regex.texi: Remove trailing spaces.
31337
31338         Add regex documentation.
31339         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
31340         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
31341         Written by Kathy A. Hargreaves and Karl Berry.
31342
31343 2010-08-01  Bruno Haible  <bruno@clisp.org>
31344
31345         link: Update documentation.
31346         * doc/posix-functions/link.texi: Update regarding Solaris.
31347
31348 2010-07-31  Bruno Haible  <bruno@clisp.org>
31349
31350         Update modules list.
31351         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
31352         (String handling <string.h>): Add memcmp2, memxfrm.
31353         (Container data structures): Add xlist, xsublist, xoset.
31354         (Core language properties): Add alignof, unused-parameter.
31355         (Process control, Numeric conversion functions <stdlib.h>): Renamed
31356         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
31357         (Unibyte characters <ctype.h>): New section.
31358         (String handling <string.h>): New section.
31359         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
31360         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
31361         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
31362         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
31363         tan, tanh, tanl, y0, y1, yn.
31364         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
31365         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
31366         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
31367         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
31368         unlockpt, vdprintf, vdprintf-posix.
31369         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
31370         (File system functions): Add concat-filename, sys_file, sys_ioctl,
31371         xconcat-filename.
31372         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
31373         getdtablesize, pipe2, pipe2-safer.
31374         (Security): New section.
31375         (Networking functions): Add accept4.
31376         (Signal handling): Add sigpipe.
31377         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
31378         mbmemcasecoll.
31379         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
31380         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
31381         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
31382         pipe-filter-ii.
31383         (Misc): Add argp-version-etc, login_tty, parse-duration.
31384
31385 2010-07-31  Bruno Haible  <bruno@clisp.org>
31386
31387         Improve doc in MODULES.html.
31388         * modules/linkat (Description): Add the word "function".
31389         * modules/mkfifo (Description): Likewise.
31390         * modules/mknod (Description): Likewise.
31391         * modules/remove (Description): Likewise.
31392         * modules/renameat (Description): Likewise.
31393         * modules/stat (Description): Likewise.
31394         * modules/symlink (Description): Likewise.
31395         * modules/unlink (Description): Likewise.
31396
31397 2010-07-31  Bruno Haible  <bruno@clisp.org>
31398
31399         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
31400         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
31401         option --enable/disable-c++ instead of --enable/disable-cxx.
31402         * NEWS: Mention the change.
31403
31404 2010-07-31  Bruno Haible  <bruno@clisp.org>
31405
31406         readlink, areadlink: Relax test a bit.
31407         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
31408         alternative to ENOTDIR.
31409         * tests/test-areadlink.h (test_areadlink): Likewise.
31410         Reported by Rainer Tammer.
31411
31412 2010-07-31  Bruno Haible  <bruno@clisp.org>
31413
31414         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
31415         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
31416         character, perform the search using U_STRCHR.
31417         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
31418         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
31419         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
31420         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
31421         Suggested by Paolo Bonzini.
31422
31423 2010-07-31  Bruno Haible  <bruno@clisp.org>
31424
31425         unistr/u*-strstr: Fix dependencies.
31426         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
31427         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
31428         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
31429
31430 2010-07-31  Bruno Haible  <bruno@clisp.org>
31431
31432         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
31433         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
31434         the beginning of the loop.
31435         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
31436         cases in 'switch' statement.
31437
31438         unistr/u8-strchr: Fix several bugs.
31439         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
31440         the string. When not found, return NULL, not a pointer near the end.
31441
31442         More tests for unistr/u8-strchr.
31443         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
31444         that the function does not read past the first occurrence of the byte
31445         being searched.
31446         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
31447         * tests/unistr/test-u16-strchr.c (main): New function.
31448         * tests/unistr/test-u32-strchr.c (main): New function.
31449
31450 2010-07-31  Bruno Haible  <bruno@clisp.org>
31451
31452         posix-modules: Ignore backup files of documentation files.
31453         * posix-modules: grep only through files named *.texi.
31454
31455 2010-07-31  Bruno Haible  <bruno@clisp.org>
31456
31457         symlinkat: Fix documentation.
31458         * doc/posix-functions/readlinkat.texi: Fix module name.
31459
31460 2010-07-31  Bruno Haible  <bruno@clisp.org>
31461
31462         fchownat: Replace also when chown has the trailing slash bug.
31463         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
31464         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
31465         introduced on 2010-04-10.
31466         Reported by Rainer Tammer.
31467
31468 2010-07-31  Bruno Haible  <bruno@clisp.org>
31469
31470         linkat: Work around AIX 7.1 bug.
31471         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
31472         whether linkat handles trailing slash correctly. If not, replace linkat
31473         and define LINKAT_TRAILING_SLASH_BUG.
31474         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
31475         check whether (fd1,file1) points to a directory if file1 or file2 ends
31476         in a slash. Code taken from lib/link.c.
31477         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
31478         Reported by Rainer Tammer.
31479
31480 2010-07-31  Bruno Haible  <bruno@clisp.org>
31481
31482         Correctly determine whether pow is available in libc on AIX 7 with xlc.
31483         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
31484         This disables an xlc optimization that was causing wrong test results.
31485         Reported by Rainer Tammer.
31486
31487 2010-07-31  Bruno Haible  <bruno@clisp.org>
31488
31489         iconv: Work around AIX 6.1..7.1 bug.
31490         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
31491         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
31492         cross-compiling, guess no on all versions of AIX.
31493         Reported by Rainer Tammer.
31494
31495 2010-07-31  Bruno Haible  <bruno@clisp.org>
31496
31497         readlink: Relax test a bit.
31498         * tests/test-readlink.h (test_readlink): Allow different errno value
31499         when readlink is called with a file name that ends in / and refers to
31500         a file.
31501         Suggested by Eric Blake.
31502         Reported by Rainer Tammer.
31503
31504 2010-07-31  Bruno Haible  <bruno@clisp.org>
31505
31506         copysign: Does not require -lm on glibc systems.
31507         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
31508         gl_COMMON_DOUBLE_MATHFUNC.
31509         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
31510
31511 2010-07-31  Bruno Haible  <bruno@clisp.org>
31512
31513         duplocale: Work around AIX 7.1 bug.
31514         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
31515         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
31516         * lib/duplocale.c (rpl_duplocale): Update comment.
31517         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
31518         Reported by Rainer Tammer.
31519
31520 2010-07-30  Bruno Haible  <bruno@clisp.org>
31521
31522         dirfd: Avoid link error on AIX 7.1.
31523         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
31524         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
31525         exist, set REPLACE_DIRFD.
31526         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
31527         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
31528         * doc/posix-functions/dirfd.texi: Update.
31529         Reported by Rainer Tammer.
31530
31531 2010-07-30  Eric Blake  <eblake@redhat.com>
31532
31533         strtod: next round of AIX fixes
31534         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
31535         exponent.
31536         * tests/test-strtod.c (main): Enhance tests.
31537         * doc/posix-functions/strtod.texi (strtod): Document next bug.
31538         Reported by Rainer Tammer.
31539
31540         futimens: fix configure check
31541         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
31542         Reported by Bruno Haible.
31543
31544 2010-07-30  Bruno Haible  <bruno@clisp.org>
31545
31546         getline: Update regarding AIX.
31547         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
31548         Reported by Rainer Tammer.
31549
31550 2010-07-30  Bruno Haible  <bruno@clisp.org>
31551
31552         wcwidth: Drop replacement on AIX 7.
31553         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
31554         AIX 7.
31555         Reported by Rainer Tammer.
31556
31557 2010-07-30  Bruno Haible  <bruno@clisp.org>
31558
31559         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
31560         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
31561         a 'char *'.
31562         Reported by Rainer Tammer.
31563
31564 2010-07-30  Bruno Haible  <bruno@clisp.org>
31565
31566         unlink: Update regarding AIX.
31567         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
31568         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
31569         Reported by Rainer Tammer.
31570
31571 2010-07-30  Bruno Haible  <bruno@clisp.org>
31572
31573         symlink: Update regarding AIX.
31574         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
31575         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
31576         Reported by Rainer Tammer.
31577
31578 2010-07-30  Bruno Haible  <bruno@clisp.org>
31579
31580         strndup: Update regarding AIX.
31581         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
31582         AIX 7.
31583         Reported by Rainer Tammer.
31584
31585 2010-07-30  Bruno Haible  <bruno@clisp.org>
31586
31587         stat: Update regarding AIX.
31588         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
31589         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
31590         Reported by Rainer Tammer.
31591
31592 2010-07-30  Bruno Haible  <bruno@clisp.org>
31593
31594         truncl: Fix autoconf test.
31595         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
31596         whether truncl works.
31597         Reported by Rainer Tammer.
31598
31599 2010-07-30  Bruno Haible  <bruno@clisp.org>
31600
31601         round: Update regarding AIX.
31602         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
31603         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
31604         Reported by Rainer Tammer.
31605
31606 2010-07-30  Bruno Haible  <bruno@clisp.org>
31607
31608         rename: Update regarding AIX.
31609         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
31610         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
31611         Reported by Rainer Tammer.
31612
31613 2010-07-30  Bruno Haible  <bruno@clisp.org>
31614
31615         printf.m4: Update regarding AIX.
31616         * m4/printf.m4: Update comments regarding AIX.
31617         Reported by Rainer Tammer.
31618
31619 2010-07-30  Bruno Haible  <bruno@clisp.org>
31620
31621         iconv: Update regarding AIX.
31622         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
31623         AIX 7.
31624         Reported by Rainer Tammer.
31625
31626 2010-07-30  Bruno Haible  <bruno@clisp.org>
31627
31628         getopt: Update regarding AIX.
31629         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
31630         no on AIX.
31631         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
31632         Reported by Rainer Tammer.
31633
31634 2010-07-30  Bruno Haible  <bruno@clisp.org>
31635
31636         ldexpl; Update regarding AIX.
31637         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
31638         on AIX 7.
31639         Reported by Rainer Tammer.
31640
31641 2010-07-30  Bruno Haible  <bruno@clisp.org>
31642
31643         frexpl: Update regarding AIX.
31644         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
31645         on AIX 7.
31646         Reported by Rainer Tammer.
31647
31648 2010-07-30  Bruno Haible  <bruno@clisp.org>
31649
31650         open, fopen: Update regarding AIX.
31651         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
31652         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
31653         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
31654         * doc/posix-functions/fopen.texi: Likewise.
31655         Reported by Rainer Tammer.
31656
31657 2010-07-30  Bruno Haible  <bruno@clisp.org>
31658
31659         chown: Update doc regarding AIX.
31660         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
31661         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
31662         Reported by Rainer Tammer.
31663
31664 2010-07-30  Eric Blake  <eblake@redhat.com>
31665
31666         strtod: fix bug in replacement function on AIX
31667         * lib/strtod.c (strtod): Special case broken "0x" parse in
31668         underlying strtod.
31669         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
31670         * doc/posix-functions/strtod.texi (strtod): Likewise.
31671         Reported by Rainer Tammer.
31672
31673 2010-07-30  Bruno Haible  <bruno@clisp.org>
31674
31675         mbrlen: Fix cross-compilation guess for AIX.
31676         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
31677         guess. Leftover from 2008-12-22.
31678
31679 2010-07-30  Bruno Haible  <bruno@clisp.org>
31680
31681         mbrtowc: Fix cross-compilation guess for AIX.
31682         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
31683         guess. Leftover from 2008-12-21.
31684
31685 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
31686
31687         init.sh: work around trap limitation of some shells
31688         * tests/init.sh (setup_): Move exit trap outside of shell function.
31689
31690 2010-07-29  Eric Blake  <eblake@redhat.com>
31691
31692         strtod: aid debugging
31693         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
31694         understanding why strtod is rejected.
31695
31696 2010-07-28  Bruno Haible  <bruno@clisp.org>
31697
31698         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
31699         * lib/unistr/u8-chr.c: Include <string.h>.
31700         * tests/unistr/test-u8-chr.c: Likewise.
31701         * tests/unistr/test-u16-chr.c: Likewise.
31702         * tests/unistr/test-u32-chr.c: Likewise.
31703         * tests/unistr/test-u8-strchr.c: Likewise.
31704         * tests/unistr/test-u16-strchr.c: Likewise.
31705         * tests/unistr/test-u32-strchr.c: Likewise.
31706         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
31707         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
31708         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
31709         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
31710
31711 2010-07-28  Bruno Haible  <bruno@clisp.org>
31712
31713         Use spaces for indentation, not tabs.
31714         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31715
31716 2010-07-27  Bruno Haible  <bruno@clisp.org>
31717
31718         mbspcasecmp: Fix function specification.
31719         * lib/string.in.h (mbspcasecmp): Fix specification comment.
31720         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
31721         Reported by Eric Blake <eblake@redhat.com>.
31722
31723 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
31724
31725         timespec: use cast and not conditional, as truncation isn't possible
31726         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
31727         instead of a conditional.  Comment about the situation in more detail.
31728         This undoes most of the 2009-10-29 patch.
31729
31730 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
31731
31732         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
31733         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
31734         * lib/unistr/u8-strchr.c: Likewise.
31735         * modules/unistr/u8-chr: Depend on memchr.
31736
31737         unistr/u*-strchr: add tests
31738         * modules/unistr/u8-strchr-tests: New file.
31739         * modules/unistr/u16-strchr-tests: New file.
31740         * modules/unistr/u32-strchr-tests: New file.
31741         * tests/unistr/test-strchr.h: New file.
31742         * tests/unistr/test-u8-strchr.c: New file.
31743         * tests/unistr/test-u16-strchr.c: New file.
31744         * tests/unistr/test-u32-strchr.c: New file.
31745
31746         unistr/u*-chr: test multibyte sequences more
31747         * tests/unistr/test-chr.h: Do complete testing of the characters in the
31748         test vector.
31749         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
31750         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
31751         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
31752
31753         unistr/u*-chr: test multibyte sequences
31754         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
31755
31756         unistr/u*-chr: prepare for multibyte tests
31757         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
31758         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
31759         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
31760         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
31761         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
31762         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
31763
31764 2010-07-18  Bruno Haible  <bruno@clisp.org>
31765
31766         unistr/u8-strchr: Optimize non-ASCII argument case.
31767         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
31768         because the first byte often matches anyway.
31769         Reported by Pádraig Brady <P@draigbrady.com>.
31770
31771 2010-07-15  Karl Berry  <karl@gnu.org>
31772
31773         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
31774
31775 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
31776
31777         getcwd: on Solaris, work better if ancestors are inaccessible
31778         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
31779         buffer and size, try again with a large buffer.  This works better
31780         on Solaris, since its getcwd succeeds even if the path to the root
31781         is inaccessible, and this is helpful in common cases such as .zfs
31782         hidden directories.  Problem reported by J Chapman Flack in
31783         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
31784         Use system getcwd if it's declared, not merely if it's partly
31785         working; use the partly-working test only to avoid needless effort
31786         if the system getcwd fails.
31787         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
31788         comment that was already obsolete and is now even more obsolete.
31789         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
31790         now might call strdup.
31791
31792 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
31793
31794         pthread: Add enough so that coreutils/src/sort.c compiles.
31795         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
31796         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
31797         gnulib. Include <sched.h> and <time.h>, as per POSIX.
31798         Include <sys/types.h>, in case it defines pthread_t.
31799         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
31800         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
31801         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
31802         (pthread_rwlockattr_t, pthread_spinlock_t):
31803         New typedefs, if HAVE_PTHREAD_T is not defined.
31804         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
31805         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
31806         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
31807         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
31808         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
31809         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
31810         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
31811         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
31812         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
31813         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
31814         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
31815         New macros.
31816         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
31817         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
31818         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
31819         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
31820         (pthread_spin_unlock): New dummy functions.
31821         (pthread_create): Return EAGAIN; don't set errno.
31822         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
31823         require AC_C_INLINE.
31824         * modules/pthread (Depends-on): Add sched, time.
31825         (pthread.h): Use AM_V_GEN.
31826
31827 2010-07-13  Bruno Haible  <bruno@clisp.org>
31828
31829         striconveh: Don't malloc memory if the result buffer is sufficient.
31830         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
31831         buffer if its size is sufficient.
31832         Reported by Ludovic Courtès <ludo@gnu.org>.
31833
31834 2010-07-13  Bruno Haible  <bruno@clisp.org>
31835
31836         strtod: Add safety check.
31837         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
31838
31839 2010-07-12  Bruno Haible  <bruno@clisp.org>
31840
31841         Unify tests that set gl_cv_func_ldexpl_no_libm.
31842         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
31843         gl_FUNC_LDEXPL.
31844         (gl_FUNC_LDEXPL): Invoke it.
31845         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31846
31847 2010-07-12  Bruno Haible  <bruno@clisp.org>
31848
31849         Unify tests that set gl_cv_func_ldexp_no_libm.
31850         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
31851         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
31852         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
31853         (configure.ac): Simply invoke gl_FUNC_LDEXP.
31854         * modules/strtod (Files): Add m4/ldexp.m4.
31855
31856 2010-07-12  Bruno Haible  <bruno@clisp.org>
31857
31858         Unify tests that set gl_cv_func_frexpl_no_libm.
31859         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
31860         gl_FUNC_FREXPL_NO_LIBM.
31861         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
31862         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31863
31864 2010-07-12  Bruno Haible  <bruno@clisp.org>
31865
31866         Unify tests that set gl_cv_func_frexp_no_libm.
31867         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
31868         gl_FUNC_FREXP_NO_LIBM.
31869         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
31870         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31871
31872 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31873
31874         memcoll: clarify sizes versus lengths, document better, and tweak perf
31875         * lib/memcoll.c (strcoll_loop, memcoll0):
31876         Improve quality of descriptive comments.  Name variables
31877         consistently as to whether they are lengths (which do not include
31878         terminating null) versus sizes (which do).
31879         * lib/xmemcoll.c (xmemcoll0): Likewise.
31880         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
31881         returned when s1size == 0; this is easier to compile and saves
31882         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
31883
31884 2010-07-12  Bruno Haible  <bruno@clisp.org>
31885
31886         Tests for module '_Exit'.
31887         * modules/_Exit-tests: New file.
31888         * tests/test-_Exit.sh: New file.
31889         * tests/test-_Exit.c: New file.
31890
31891         New module '_Exit'.
31892         * lib/stdlib.in.h (__attribute__): New macro.
31893         (_Exit): New declaration.
31894         * lib/_Exit.c: New file.
31895         * m4/_Exit.m4: New file.
31896         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
31897         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
31898         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
31899         * modules/_Exit: New file.
31900         * tests/test-stdlib-c++.cc (_Exit): Check signature.
31901         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
31902
31903 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31904
31905         strtod: make it more-accurate typically, and don't require libm
31906         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
31907         Include limits.h.  Don't include string.h.
31908         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
31909         (locale_isspace): New function, so that no casts are needed to
31910         check whether *s is a space.
31911         (ldexp): Provide an unused dummy if not available.
31912         (scale_radix_exp, parse_number, underlying_strtod): New functions.
31913         (strtod): Use them.  This implementation prefers to use the
31914         underlying strtod if available, falling back on our own code
31915         only to fix known bugs.  This is more likely to produce an
31916         accurate result.  Also, it avoids the use of libm functions.
31917         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
31918         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
31919         was absent, but it caused a test failure with coreutils.
31920         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
31921         with libm.
31922         * modules/strtod (Makefile.am, Link): libm is no longer needed.
31923         * modules/strtod-tests (Makefile.am): Likewise.
31924
31925 2010-07-11  Pádraig Brady  <P@draigBrady.com>
31926             Bruno Haible  <bruno@clisp.org>
31927
31928         unistr/u8-strchr: Optimize ASCII argument case.
31929         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
31930
31931 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
31932
31933         (x)memcoll: minor tweaks
31934         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
31935         is after the type that it qualifies.
31936         (memcoll0): Likewise.
31937         * lib/memcoll.h (memcoll0): Likewise.
31938         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
31939         * lib/xmemcoll.h (xmemcoll0): Likewise.
31940         * lib/memcoll.c (memcoll0): Correct the comment.  This function
31941         differs from memcoll in that the NUL byte is part of the argument.
31942         Omit the abort-checks, as performance is a real issue here.  Plus,
31943         the checks were wrong anyway (an off-by-one error).  Omit local
31944         variable 'diff', as it's a bit clearer that way.
31945         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
31946         no longer needed.
31947
31948 2010-07-08  Chen Guo <chenguo4@yahoo.com>
31949
31950         (x)memcoll: speedup when input is known to be NUL delimited
31951         * lib/memcoll.c: Include stdlib.
31952         (memcoll0): New function.
31953         (strcoll_loop): New function, refactored for use in both memcoll
31954         and memcoll0.
31955         * lib/memcoll.h (memcoll0): Add prototype.
31956         * lib/xmemcoll.c (xmemcoll0): New function.
31957         (collate_error): New function, refactored for use in both xmemcoll
31958         and xmemcoll0.
31959         * lib/xmemcoll.h (xmemcoll0): Add prototype.
31960         * m4/memcoll.m4: add inline invocation.
31961
31962 2010-07-06  Pádraig Brady  <P@draigBrady.com>
31963
31964         * build-aux/bootstrap: Remove any local translations
31965         from the translation project synchronization directory,
31966         so that local only translations are not distributed.
31967
31968 2010-07-04  Bruno Haible  <bruno@clisp.org>
31969
31970         fsusage: Clarify which code applies to which platforms.
31971         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
31972         platform.
31973         * lib/fsusage.c (get_fs_usage): Likewise.
31974
31975 2010-07-04  Bruno Haible  <bruno@clisp.org>
31976
31977         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
31978         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
31979         Reported by Martin Lambers <marlam@marlam.de>.
31980
31981 2010-07-04  Jim Meyering  <meyering@redhat.com>
31982
31983         hash: once again explicitly disallow insertion of NULL
31984         * lib/hash.c (hash_insert0): Reinstate just-removed test:
31985         inserting a NULL pointer cannot work with these functions.
31986         Add a comment with details.
31987         This reverts part of the 2010-07-01 commit, 5bef1a35
31988         "hash: extend module to deal with non-pointer keys".
31989
31990 2010-07-01  Bruno Haible  <bruno@clisp.org>
31991
31992         stdbool: Update doc.
31993         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
31994         Info from Christian Weisgerber <naddy@mips.inka.de>.
31995
31996 2010-07-01  Jim Meyering  <meyering@redhat.com>
31997
31998         hash: extend module to deal with non-pointer keys
31999         * lib/hash.c (hash_insert0): New interface, much like hash_insert
32000         but that allows insertion of non-pointer entries.
32001         Do not disallow an ENTRY value of NULL.
32002         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
32003         * lib/hash.h (hash_insert0): Declare.
32004
32005 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
32006
32007         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
32008         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
32009         not present (i.e. with autoconf 2.59 and when using gettextize, not
32010         gnulib), require AC_GNU_SOURCE instead.
32011
32012 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
32013
32014         idpriv-drop: Fix tests.
32015         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
32016         not to the test-idpriv-droptemp program.
32017
32018 2010-06-29  Bruno Haible  <bruno@clisp.org>
32019
32020         string: Fix syntax error with g++ 2.96.
32021         * lib/string.in.h (__pure__): Remove definition.
32022         (_GL_ATTRIBUTE_PURE): New macro.
32023         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
32024         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
32025         Reported by Christian Weisgerber <naddy@mips.inka.de>.
32026
32027 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
32028
32029         unitypes: Fix bug introduced on 2010-05-18.
32030         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
32031
32032 2010-06-22  Eric Blake  <eblake@redhat.com>
32033
32034         memmem: slight optimization
32035         * lib/str-two-way.h (critical_factorization): Update comments.
32036         Reduce work during factorization phase.
32037         Reported by Carlos Bueno <carlos@bueno.org>.
32038
32039 2010-06-21  Bruno Haible  <bruno@clisp.org>
32040
32041         Fix HAVE_CALLOC_POSIX misnomer.
32042         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
32043         !HAVE_CALLOC_POSIX.
32044         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
32045         HAVE_CALLOC_POSIX.
32046         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
32047         instead of HAVE_CALLOC_POSIX.
32048         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
32049         HAVE_CALLOC_POSIX.
32050
32051         Use modern idiom for calloc() replacement.
32052         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
32053         AC_FUNC_CALLOC.
32054         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
32055         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
32056         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32057         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
32058         (gl_REPLACE_CALLOC): New macro.
32059
32060 2010-06-21  Bruno Haible  <bruno@clisp.org>
32061
32062         Fix HAVE_REALLOC_POSIX misnomer.
32063         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
32064         !HAVE_REALLOC_POSIX.
32065         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
32066         HAVE_REALLOC_POSIX.
32067         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
32068         instead of HAVE_REALLOC_POSIX.
32069         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
32070         HAVE_REALLOC_POSIX.
32071
32072         Use modern idiom for realloc() replacement.
32073         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
32074         AC_FUNC_REALLOC.
32075         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
32076         Autoconf's AC_FUNC_REALLOC.
32077         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32078         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
32079         (gl_REPLACE_REALLOC): New macro.
32080         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
32081
32082 2010-06-21  Bruno Haible  <bruno@clisp.org>
32083
32084         Fix HAVE_MALLOC_POSIX misnomer.
32085         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
32086         !HAVE_MALLOC_POSIX.
32087         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
32088         HAVE_MALLOC_POSIX.
32089         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
32090         instead of HAVE_MALLOC_POSIX.
32091         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
32092         HAVE_MALLOC_POSIX.
32093
32094         Use modern idiom for malloc() replacement.
32095         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
32096         AC_FUNC_MALLOC.
32097         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
32098         Autoconf's AC_FUNC_MALLOC.
32099         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32100         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
32101         (gl_REPLACE_MALLOC): New macro.
32102         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
32103
32104 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
32105
32106         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
32107         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
32108         This macro takes 3 arguments, not 4.
32109
32110 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
32111
32112         ipv6: fix detection under mingw
32113         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
32114         in6_addr.
32115
32116 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
32117
32118         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
32119         that strtod() works when cross-compiling to a glibc version known
32120         to work.
32121
32122 2010-06-15  Bruno Haible  <bruno@clisp.org>
32123
32124         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
32125
32126 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
32127
32128         select: Correct timeout.
32129         * lib/select.c (rpl_select): Compute wait_timeout correctly.
32130
32131 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
32132
32133         git-version-gen: init shell var to avoid env var influence
32134         * build-aux/git-version-gen (v): Init shell var to empty.
32135
32136 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
32137
32138         priv-set: Don't assume that priv.h exists merely because getppriv does.
32139         See Jan Andersen's bug report about AIX 5L in
32140         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
32141         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
32142         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
32143         * lib/priv-set.h: Likewise.
32144         * tests/test-priv-set.c: Likewise.
32145
32146 2010-06-13  Bruno Haible  <bruno@clisp.org>
32147
32148         relocatable: Make it easier to test whether to install wrappers.
32149         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
32150         RELOCATABLE_VIA_WRAPPER.
32151
32152 2010-06-13  Bruno Haible  <bruno@clisp.org>
32153
32154         gnulib-tool: Display specified modules and dependencies differently.
32155         * gnulib-tool (func_show_module_list): New function.
32156         (func_import, func_create_testdir): Invoke it.
32157         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
32158
32159 2010-06-13  Bruno Haible  <bruno@clisp.org>
32160
32161         gnulib-tool: Align code of func_import and func_create_testdir.
32162         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
32163         specified_modules.
32164
32165 2010-06-12  Jim Meyering  <meyering@redhat.com>
32166
32167         test-inttostr: avoid spurious failure on Solaris 9
32168         * tests/test-inttostr.c (main): Skip the test when snprintf fails
32169         to accept "%ju".  Reported by Bruno Haible.
32170
32171 2010-06-11  Jim Meyering  <meyering@redhat.com>
32172
32173         test-sys_socket: mark variables as used more readably
32174         * tests/test-sys_socket.c (main): Mark otherwise unused variables
32175         as "used" explicitly via (void) statement casts.  This is more
32176         readable than using them in an artificial return expression.
32177         Suggestion from Bruno Haible.
32178
32179 2010-06-11  Bruno Haible  <bruno@clisp.org>
32180
32181         Avoid some more warnings from "gcc -Wwrite-strings".
32182         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
32183         to 'const char *'.
32184         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
32185         * tests/test-c-strcasestr.c (main): Likewise.
32186         * tests/test-mbscasestr1.c (main): Likewise.
32187         * tests/test-mbscasestr2.c (main): Likewise.
32188         * tests/test-memmem.c (main): Likewise.
32189         * tests/test-strstr.c (main): Likewise.
32190         * tests/test-strcasestr.c (main): Likewise.
32191
32192 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32193
32194         init.sh: change framework_failure_ to fail with status 99, not 1
32195         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
32196         automake's parallel-tests rule that this is an unexpected failure,
32197         even if the test is listed in XFAIL_TESTS.
32198
32199 2010-06-11  Jim Meyering  <meyering@redhat.com>
32200
32201         test-inttostr: avoid warnings about 4-6KB literal strings
32202         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
32203         Include "macros.h", for its definition of ASSERT.
32204         (CK): s/assert/ASSERT/
32205         * modules/inttostr-tests (Files): Add macros.h.
32206
32207         init.sh: don't use $ME_ or skip_ before they are defined
32208         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
32209         their first uses.  Also hoist their companions: warn_, fail_,
32210         framework_failure_, $stderr_fileno.  Prompted by a patch from
32211         Stefano Lattarini.
32212
32213         test-sys_socket: avoid set-but-not-used warnings from gcc
32214         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
32215         avoid warning about set-but-not-used variables.
32216
32217         test-xvasprintf: avoid 'const' discard warnings
32218         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
32219         "const" when assigning from literal strings.
32220         (test_xasprintf): Add "void" in function argument list to placate
32221         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
32222
32223         tests: avoid compilation warnings in argmatch and exclude tests...
32224         in packages that define ARGMATCH_DIE_DECL, like coreutils.
32225         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
32226         Since it always exits, declare with the "noreturn" attribute.
32227         * tests/test-argmatch.c: Likewise.
32228
32229         tests: avoid 'const' discard warnings in mbsstr tests
32230         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
32231         * tests/test-mbsstr2.c (main): Likewise.
32232
32233         test-verify: avoid warning from gcc's -Wmissing-declarations
32234         * tests/test-verify.c (function): Declare to be static.
32235
32236         test-inttostr.c: include <string.h> for use of strcmp
32237         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
32238
32239         test-linkat: avoid failed assertion on "other" architectures
32240         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
32241         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
32242         sparc: https://bugs.launchpad.net/bugs/591968
32243
32244 2010-06-11  Jim Meyering  <meyering@redhat.com>
32245
32246         printf.m4: avoid autoconf's "Expanded Before Required" warning
32247         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
32248         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
32249         autoconf warning.
32250
32251 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
32252
32253         Replacement header templates are now named with ".in", not "_".
32254         * doc/gnulib-intro.texi: Correct.
32255
32256 2010-06-10  Jim Meyering  <meyering@redhat.com>
32257
32258         inttostr-tests: depend on snprintf, not snprintf-posix
32259         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
32260         snprintf-posix, to avoid this aclocal failure:
32261           missing file gnulib-tests/vasnprintf.c
32262           configure.ac:45: error: expected source file, required through \
32263           AC_LIBSOURCES, not found
32264
32265 2010-06-10  Jim Meyering  <meyering@redhat.com>
32266
32267         inttostr: add a new function, inttostr, and tests
32268         The namesake function was not available.  The existence of the
32269         template file, inttostr.c makes its addition nontrivial.
32270         * lib/anytostr.c: Rename from inttostr.c.
32271         (anytostr): Rename from inttostr.
32272         * lib/inttostr.c: New file.
32273         * modules/inttostr (Files): Add anytostr.c.
32274         (Makefile.am): Set lib_SOURCES instead of ...
32275         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
32276         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
32277         * lib/offtostr.c: Likewise.
32278         * lib/uinttostr.c: Likewise.
32279         * lib/umaxtostr.c: Likewise.
32280         * modules/inttostr-tests: New file.
32281         * tests/test-inttostr.c: New file.  Test these functions.
32282
32283 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
32284             Bruno Haible  <bruno@clisp.org>
32285
32286         Add "Extending Gnulib" chapter to manual.
32287         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
32288         chapter.
32289         (Extending Gnulib): New chapter.
32290         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
32291         chapter.
32292
32293 2010-06-09  Bruno Haible  <bruno@clisp.org>
32294
32295         Avoid relocwrapper link errors due to gnulib replacement functions.
32296         * lib/areadlink.c: Use the system's malloc, realloc functions.
32297         (areadlink): Set errno to ENOMEM explicitly.
32298         * modules/areadlink (Depends-on): Remove malloc-posix.
32299         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32300
32301 2010-06-09  Bruno Haible  <bruno@clisp.org>
32302
32303         Avoid relocwrapper link errors due to gnulib replacement functions.
32304         * lib/canonicalize-lgpl.c: Use the system's malloc function.
32305         * lib/malloca.c: Likewise.
32306         * lib/relocatable.c: Likewise.
32307         * lib/progreloc.c: Use the system's malloc, sprintf functions.
32308         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
32309         * lib/setenv.c: Use the system's malloc, realloc functions.
32310         * lib/strerror.c: Use the system's sprintf function.
32311         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32312
32313 2010-06-04  Bruno Haible  <bruno@clisp.org>
32314
32315         Prefer documented low-level autoconf macro names.
32316         * m4/lib-link.m4: Use m4_translit instead of translit.
32317         * m4/environ.m4: Likewise.
32318         * m4/mathfunc.m4: Likewise.
32319         * m4/onceonly.m4: Likewise.
32320         * m4/stdint.m4: Likewise.
32321         Suggested by Eric Blake.
32322
32323 2010-06-04  Martin Lambers  <marlam@marlam.de>
32324             Bruno Haible  <bruno@clisp.org>
32325
32326         havelib: Allow library names with '+' characters.
32327         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
32328         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
32329
32330 2010-06-09  Bruno Haible  <bruno@clisp.org>
32331
32332         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
32333         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
32334         realloc failed.
32335
32336 2010-06-08  Peter Simons  <simons@cryp.to>
32337
32338         maint.mk: make the news-check rule more configurable
32339         * top/maint.mk (news-check-lines-spec): New variable.
32340         (news-check): Use "sed -n 1,10p" in place of "head".
32341
32342 2010-06-07  Jim Meyering  <meyering@redhat.com>
32343
32344         do-release-commit-and-tag: fix typo in --help
32345         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
32346
32347         regex: avoid new dead-code warning with gcc-4.6.0
32348         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
32349         if-block containing a while-loop.  It's been unused for at least
32350         5 years.
32351
32352 2010-06-05  Bruno Haible  <bruno@clisp.org>
32353
32354         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
32355         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
32356
32357 2010-06-04  Bruno Haible  <bruno@clisp.org>
32358
32359         Update to GNU gettext 0.18.1.
32360         * modules/gettext (configure.ac): Require gettext infrastructure from
32361         version 0.18.1.
32362
32363 2010-06-03  Bruno Haible  <bruno@clisp.org>
32364
32365         Don't use AC_LIBOBJ with file names in subdirectories.
32366         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
32367         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
32368         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
32369         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
32370         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
32371         gl_LIBUNISTRING_LIBSOURCE.
32372         (Makefile.am): Augment lib_SOURCES here, conditionally.
32373         * NEWS: Drop requirement for Automake option 'subdir-objects'.
32374
32375 2010-06-03  Bruno Haible  <bruno@clisp.org>
32376
32377         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
32378         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
32379         expansion does not end with a newline.
32380         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
32381         unnecessary newline.
32382
32383 2010-06-03  Bruno Haible  <bruno@clisp.org>
32384
32385         Reduce dependencies.
32386         * tests/test-quotearg.h: New file, extracted from
32387         tests/test-quotearg.c.
32388         * tests/test-quotearg-simple.c: New file, extracted from
32389         tests/test-quotearg.c.
32390         * tests/test-quotearg.c: Don't include <ctype.h>.
32391         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
32392         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
32393         use_quote_double_quotes, use_quotearg_colon): Moved to
32394         tests/test-quotearg.h.
32395         (results_g, flag_results, custom_quotes, custom_results): Moved
32396         to tests/test-quotearg-simple.c.
32397         (main): Moved the part that does not depend on gettext to
32398         tests/test-quotearg-simple.c. Return 77 if the test cannot be
32399         performed.
32400         * modules/quotearg-simple: New file.
32401         * modules/quotearg-simple-tests: New file.
32402         * modules/quotearg (Depends-on): Add quotearg-simple.
32403         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
32404         (Files): Add tests/test-quotearg.h.
32405         Reported by Paolo Bonzini.
32406
32407 2010-06-03  Bruno Haible  <bruno@clisp.org>
32408
32409         Reduce dependencies.
32410         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
32411
32412 2010-06-03  Bruno Haible  <bruno@clisp.org>
32413
32414         time: Undefine more broken macros.
32415         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
32416         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
32417         Reported by Eric Blake.
32418
32419 2010-06-03  Bruno Haible  <bruno@clisp.org>
32420
32421         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
32422         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
32423         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
32424         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
32425         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
32426         Reported by Ludovic Courtès <ludo@gnu.org>.
32427
32428 2010-06-02  Eric Blake  <eblake@redhat.com>
32429
32430         time: work with mingw + pthreads-win32 library
32431         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
32432         if timespec is defined only in pthread.h.
32433         * modules/time (Makefile.am): Substitute it.
32434         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
32435         <pthread.h>, when needed.
32436         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
32437         from the library.
32438
32439 2010-05-31  Bruno Haible  <bruno@clisp.org>
32440
32441         Avoid expanding two macros in the wrong order.
32442         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
32443         gl_LIBUNISTRING if it is defined.
32444         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
32445         autoconf >= 2.64.
32446         Reported by Ludovic Courtès <ludo@gnu.org>.
32447
32448 2010-05-27  Jim Meyering  <meyering@redhat.com>
32449
32450         maint.mk: also prohibit "#undef" of always-defined symbols
32451         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
32452         Allow more than one space before the symbol name.
32453         (sc_prohibit_always-defined_macros): Use grep's -E, now that
32454         the regexp uses alternation.
32455
32456 2010-05-26  Eric Blake  <eblake@redhat.com>
32457
32458         maint.mk: avoid echo -e
32459         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
32460         Convert all uses of echo -* to printf.
32461         Reported by Matthias Bolte.
32462
32463 2010-05-25  Bruno Haible  <bruno@clisp.org>
32464
32465         Update to GNU gettext 0.18, part 2.
32466         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
32467         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
32468
32469 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32470
32471         Add missing include in test-pwrite.c.
32472         * tests/test-pwrite.c: Include string.h, for strcmp.
32473
32474 2010-05-24  Bruno Haible  <bruno@clisp.org>
32475
32476         * NEWS: Mention requirement for Automake option 'subdir-objects'.
32477
32478 2010-05-24  Bruno Haible  <bruno@clisp.org>
32479
32480         Don't use conversion with transliteration in u{8,16,32}_strcoll.
32481         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
32482         iconveh_error argument.
32483         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
32484         U_STRCONV_TO_LOCALE.
32485         * lib/unistr/u16-strcoll.c: Likewise.
32486         * lib/unistr/u32-strcoll.c: Likewise.
32487         * modules/unistr/u8-strcoll (Depends-on): Add
32488         uniconv/u8-strconv-to-enc, localcharset. Remove
32489         uniconv/u8-strconv-to-locale.
32490         (configure.ac): Bump version number.
32491         * modules/unistr/u16-strcoll (Depends-on): Add
32492         uniconv/u16-strconv-to-enc, localcharset. Remove
32493         uniconv/u16-strconv-to-locale.
32494         (configure.ac): Bump version number.
32495         * modules/unistr/u32-strcoll (Depends-on): Add
32496         uniconv/u32-strconv-to-enc, localcharset. Remove
32497         uniconv/u32-strconv-to-locale.
32498         (configure.ac): Bump version number.
32499
32500 2010-05-24  Bruno Haible  <bruno@clisp.org>
32501
32502         Avoid a test failure on NetBSD 5.0.
32503         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
32504         an iconv() bug.
32505
32506 2010-05-24  Bruno Haible  <bruno@clisp.org>
32507
32508         Adjust #include directive style.
32509         * modules/regex (Includes): Recommend to write <regex.h>.
32510
32511 2010-05-24  Bruno Haible  <bruno@clisp.org>
32512
32513         regex: Don't require alloca.
32514         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
32515         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
32516         only inside if (0).
32517
32518 2010-05-23  Jim Meyering  <meyering@redhat.com>
32519
32520         test-renameat.c: include <sys/stat.h>
32521         * tests/test-renameat.c: Include <sys/stat.h>; required for
32522         definition of S_IS* macros.
32523
32524 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
32525
32526         Update maintainer documentation for 'relocatable-prog' module.
32527         * doc/relocatable-maint.texi: Update.
32528         Comments by Bruno Haible.
32529
32530 2010-05-23  Bruno Haible  <bruno@clisp.org>
32531
32532         git-merge-changelog: Enable --split-merged-entry by default.
32533         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
32534         (usage): Don't mention this option any more.
32535         Reported by Ralf Wildenhues.
32536
32537 2010-05-23  Jim Meyering  <meyering@redhat.com>
32538
32539         test-pwrite: do not leave behind a test file named "out"
32540         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
32541         The trivial-looking use of init.sh is really necessary.
32542         It ensures that the temporary file, "out", is created in
32543         a temporary directory, and removed upon termination.
32544         * tests/test-pwrite.sh: Re-add file.
32545         * modules/pwrite-tests: Reference it.
32546
32547 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32548
32549         Fix output redirection buglet in init.sh.
32550         * tests/init.sh: Fix redirection of stderr.
32551
32552 2010-05-20  Simon Josefsson  <simon@josefsson.org>
32553
32554         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
32555
32556 2010-05-17  Simon Josefsson  <simon@josefsson.org>
32557
32558         * modules/valgrind-tests: New file.
32559         * m4/valgrind-tests.m4: New file.
32560         * doc/valgrind-tests.texi: New file.
32561         * doc/gnulib.texi (Running self-tests under valgrind): New
32562         section.
32563
32564 2010-05-19  Bruno Haible  <bruno@clisp.org>
32565
32566         Clean up dead code in recent commit.
32567         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
32568         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
32569         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
32570         Suggested by Paolo Bonzini.
32571
32572 2010-05-19  Bruno Haible  <bruno@clisp.org>
32573
32574         Avoid valgrind error reports from libunistring.
32575         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
32576         * modules/libunistring (Files): Add it.
32577         * modules/libunistring-optional (Files): Likewise.
32578
32579 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
32580             Bruno Haible  <bruno@clisp.org>
32581
32582         New module 'libunistring-optional'.
32583         * modules/libunistring-optional: New file.
32584         * m4/libunistring-base.m4: New file.
32585         * m4/libunistring-optional.m4: New file.
32586         * lib/unicase.in.h: Renamed from lib/unicase.h.
32587         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
32588         * lib/unictype.in.h: Renamed from lib/unictype.h.
32589         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
32590         * lib/uniname.in.h: Renamed from lib/uniname.h.
32591         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
32592         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
32593         * lib/unistr.in.h: Renamed from lib/unistr.h.
32594         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
32595         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
32596         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
32597         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
32598         gl_LIBUNISTRING. If the library was found, determine the installed
32599         version and set LIBUNISTRING_VERSION.
32600         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
32601         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
32602         handle a configuration option --with-included-libunistring.
32603         * modules/libunistring (Files): Add m4/absolute-header.m4.
32604         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
32605         Add m4/libunistring-base.m4.
32606         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32607         (Makefile.am): Build unicase.h from unicase.in.h.
32608         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
32609         Add m4/libunistring-base.m4.
32610         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32611         (Makefile.am): Build uniconv.h from uniconv.in.h.
32612         * modules/unictype/base (Files): Use unictype.in.h instead of
32613         unictype.h. Add m4/libunistring-base.m4.
32614         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32615         (Makefile.am): Build unictype.h from unictype.in.h.
32616         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
32617         Add m4/libunistring-base.m4.
32618         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32619         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
32620         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
32621         Add m4/libunistring-base.m4.
32622         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32623         (Makefile.am): Build uniname.h from uniname.in.h.
32624         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
32625         Add m4/libunistring-base.m4.
32626         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32627         (Makefile.am): Build uninorm.h from uninorm.in.h.
32628         * modules/unistdio/base (Files): Use unistdio.in.h instead of
32629         unistdio.h. Add m4/libunistring-base.m4.
32630         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32631         (Makefile.am): Build unistdio.h from unistdio.in.h.
32632         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
32633         Add m4/libunistring-base.m4.
32634         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32635         (Makefile.am): Build unistr.h from unistr.in.h.
32636         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
32637         Add m4/libunistring-base.m4.
32638         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32639         (Makefile.am): Build unitypes.h from unitypes.in.h.
32640         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
32641         Add m4/libunistring-base.m4.
32642         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32643         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
32644         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
32645         uniwidth.h. Add m4/libunistring-base.m4.
32646         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32647         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
32648         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
32649         instead of augmenting lib_SOURCES.
32650         * modules/unicase/empty-suffix-context: Likewise.
32651         * modules/unicase/locale-language: Likewise.
32652         * modules/unicase/tolower: Likewise.
32653         * modules/unicase/totitle: Likewise.
32654         * modules/unicase/toupper: Likewise.
32655         * modules/unicase/u8-casecmp: Likewise.
32656         * modules/unicase/u8-casecoll: Likewise.
32657         * modules/unicase/u8-casefold: Likewise.
32658         * modules/unicase/u8-casexfrm: Likewise.
32659         * modules/unicase/u8-ct-casefold: Likewise.
32660         * modules/unicase/u8-ct-tolower: Likewise.
32661         * modules/unicase/u8-ct-totitle: Likewise.
32662         * modules/unicase/u8-ct-toupper: Likewise.
32663         * modules/unicase/u8-is-cased: Likewise.
32664         * modules/unicase/u8-is-casefolded: Likewise.
32665         * modules/unicase/u8-is-lowercase: Likewise.
32666         * modules/unicase/u8-is-titlecase: Likewise.
32667         * modules/unicase/u8-is-uppercase: Likewise.
32668         * modules/unicase/u8-prefix-context: Likewise.
32669         * modules/unicase/u8-suffix-context: Likewise.
32670         * modules/unicase/u8-tolower: Likewise.
32671         * modules/unicase/u8-totitle: Likewise.
32672         * modules/unicase/u8-toupper: Likewise.
32673         * modules/unicase/u16-casecmp: Likewise.
32674         * modules/unicase/u16-casecoll: Likewise.
32675         * modules/unicase/u16-casefold: Likewise.
32676         * modules/unicase/u16-casexfrm: Likewise.
32677         * modules/unicase/u16-ct-casefold: Likewise.
32678         * modules/unicase/u16-ct-tolower: Likewise.
32679         * modules/unicase/u16-ct-totitle: Likewise.
32680         * modules/unicase/u16-ct-toupper: Likewise.
32681         * modules/unicase/u16-is-cased: Likewise.
32682         * modules/unicase/u16-is-casefolded: Likewise.
32683         * modules/unicase/u16-is-lowercase: Likewise.
32684         * modules/unicase/u16-is-titlecase: Likewise.
32685         * modules/unicase/u16-is-uppercase: Likewise.
32686         * modules/unicase/u16-prefix-context: Likewise.
32687         * modules/unicase/u16-suffix-context: Likewise.
32688         * modules/unicase/u16-tolower: Likewise.
32689         * modules/unicase/u16-totitle: Likewise.
32690         * modules/unicase/u16-toupper: Likewise.
32691         * modules/unicase/u32-casecmp: Likewise.
32692         * modules/unicase/u32-casecoll: Likewise.
32693         * modules/unicase/u32-casefold: Likewise.
32694         * modules/unicase/u32-casexfrm: Likewise.
32695         * modules/unicase/u32-ct-casefold: Likewise.
32696         * modules/unicase/u32-ct-tolower: Likewise.
32697         * modules/unicase/u32-ct-totitle: Likewise.
32698         * modules/unicase/u32-ct-toupper: Likewise.
32699         * modules/unicase/u32-is-cased: Likewise.
32700         * modules/unicase/u32-is-casefolded: Likewise.
32701         * modules/unicase/u32-is-lowercase: Likewise.
32702         * modules/unicase/u32-is-titlecase: Likewise.
32703         * modules/unicase/u32-is-uppercase: Likewise.
32704         * modules/unicase/u32-prefix-context: Likewise.
32705         * modules/unicase/u32-suffix-context: Likewise.
32706         * modules/unicase/u32-tolower: Likewise.
32707         * modules/unicase/u32-totitle: Likewise.
32708         * modules/unicase/u32-toupper: Likewise.
32709         * modules/unicase/ulc-casecmp: Likewise.
32710         * modules/unicase/ulc-casecoll: Likewise.
32711         * modules/unicase/ulc-casexfrm: Likewise.
32712         * modules/uniconv/u8-conv-from-enc: Likewise.
32713         * modules/uniconv/u8-conv-to-enc: Likewise.
32714         * modules/uniconv/u8-strconv-from-enc: Likewise.
32715         * modules/uniconv/u8-strconv-from-locale: Likewise.
32716         * modules/uniconv/u8-strconv-to-enc: Likewise.
32717         * modules/uniconv/u8-strconv-to-locale: Likewise.
32718         * modules/uniconv/u16-conv-from-enc: Likewise.
32719         * modules/uniconv/u16-conv-to-enc: Likewise.
32720         * modules/uniconv/u16-strconv-from-enc: Likewise.
32721         * modules/uniconv/u16-strconv-from-locale: Likewise.
32722         * modules/uniconv/u16-strconv-to-enc: Likewise.
32723         * modules/uniconv/u16-strconv-to-locale: Likewise.
32724         * modules/uniconv/u32-conv-from-enc: Likewise.
32725         * modules/uniconv/u32-conv-to-enc: Likewise.
32726         * modules/uniconv/u32-strconv-from-enc: Likewise.
32727         * modules/uniconv/u32-strconv-from-locale: Likewise.
32728         * modules/uniconv/u32-strconv-to-enc: Likewise.
32729         * modules/uniconv/u32-strconv-to-locale: Likewise.
32730         * modules/unictype/bidicategory-byname: Likewise.
32731         * modules/unictype/bidicategory-name: Likewise.
32732         * modules/unictype/bidicategory-of: Likewise.
32733         * modules/unictype/bidicategory-test: Likewise.
32734         * modules/unictype/block-list: Likewise.
32735         * modules/unictype/block-test: Likewise.
32736         * modules/unictype/category-C: Likewise.
32737         * modules/unictype/category-Cc: Likewise.
32738         * modules/unictype/category-Cf: Likewise.
32739         * modules/unictype/category-Cn: Likewise.
32740         * modules/unictype/category-Co: Likewise.
32741         * modules/unictype/category-Cs: Likewise.
32742         * modules/unictype/category-L: Likewise.
32743         * modules/unictype/category-Ll: Likewise.
32744         * modules/unictype/category-Lm: Likewise.
32745         * modules/unictype/category-Lo: Likewise.
32746         * modules/unictype/category-Lt: Likewise.
32747         * modules/unictype/category-Lu: Likewise.
32748         * modules/unictype/category-M: Likewise.
32749         * modules/unictype/category-Mc: Likewise.
32750         * modules/unictype/category-Me: Likewise.
32751         * modules/unictype/category-Mn: Likewise.
32752         * modules/unictype/category-N: Likewise.
32753         * modules/unictype/category-Nd: Likewise.
32754         * modules/unictype/category-Nl: Likewise.
32755         * modules/unictype/category-No: Likewise.
32756         * modules/unictype/category-P: Likewise.
32757         * modules/unictype/category-Pc: Likewise.
32758         * modules/unictype/category-Pd: Likewise.
32759         * modules/unictype/category-Pe: Likewise.
32760         * modules/unictype/category-Pf: Likewise.
32761         * modules/unictype/category-Pi: Likewise.
32762         * modules/unictype/category-Po: Likewise.
32763         * modules/unictype/category-Ps: Likewise.
32764         * modules/unictype/category-S: Likewise.
32765         * modules/unictype/category-Sc: Likewise.
32766         * modules/unictype/category-Sk: Likewise.
32767         * modules/unictype/category-Sm: Likewise.
32768         * modules/unictype/category-So: Likewise.
32769         * modules/unictype/category-Z: Likewise.
32770         * modules/unictype/category-Zl: Likewise.
32771         * modules/unictype/category-Zp: Likewise.
32772         * modules/unictype/category-Zs: Likewise.
32773         * modules/unictype/category-and: Likewise.
32774         * modules/unictype/category-and-not: Likewise.
32775         * modules/unictype/category-byname: Likewise.
32776         * modules/unictype/category-name: Likewise.
32777         * modules/unictype/category-none: Likewise.
32778         * modules/unictype/category-of: Likewise.
32779         * modules/unictype/category-or: Likewise.
32780         * modules/unictype/category-test: Likewise.
32781         * modules/unictype/combining-class: Likewise.
32782         * modules/unictype/ctype-alnum: Likewise.
32783         * modules/unictype/ctype-alpha: Likewise.
32784         * modules/unictype/ctype-blank: Likewise.
32785         * modules/unictype/ctype-cntrl: Likewise.
32786         * modules/unictype/ctype-digit: Likewise.
32787         * modules/unictype/ctype-graph: Likewise.
32788         * modules/unictype/ctype-lower: Likewise.
32789         * modules/unictype/ctype-print: Likewise.
32790         * modules/unictype/ctype-punct: Likewise.
32791         * modules/unictype/ctype-space: Likewise.
32792         * modules/unictype/ctype-upper: Likewise.
32793         * modules/unictype/ctype-xdigit: Likewise.
32794         * modules/unictype/decimal-digit: Likewise.
32795         * modules/unictype/digit: Likewise.
32796         * modules/unictype/mirror: Likewise.
32797         * modules/unictype/numeric: Likewise.
32798         * modules/unictype/property-alphabetic: Likewise.
32799         * modules/unictype/property-ascii-hex-digit: Likewise.
32800         * modules/unictype/property-bidi-arabic-digit: Likewise.
32801         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
32802         * modules/unictype/property-bidi-block-separator: Likewise.
32803         * modules/unictype/property-bidi-boundary-neutral: Likewise.
32804         * modules/unictype/property-bidi-common-separator: Likewise.
32805         * modules/unictype/property-bidi-control: Likewise.
32806         * modules/unictype/property-bidi-embedding-or-override: Likewise.
32807         * modules/unictype/property-bidi-eur-num-separator: Likewise.
32808         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
32809         * modules/unictype/property-bidi-european-digit: Likewise.
32810         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
32811         * modules/unictype/property-bidi-left-to-right: Likewise.
32812         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
32813         * modules/unictype/property-bidi-other-neutral: Likewise.
32814         * modules/unictype/property-bidi-pdf: Likewise.
32815         * modules/unictype/property-bidi-segment-separator: Likewise.
32816         * modules/unictype/property-bidi-whitespace: Likewise.
32817         * modules/unictype/property-byname: Likewise.
32818         * modules/unictype/property-combining: Likewise.
32819         * modules/unictype/property-composite: Likewise.
32820         * modules/unictype/property-currency-symbol: Likewise.
32821         * modules/unictype/property-dash: Likewise.
32822         * modules/unictype/property-decimal-digit: Likewise.
32823         * modules/unictype/property-default-ignorable-code-point: Likewise.
32824         * modules/unictype/property-deprecated: Likewise.
32825         * modules/unictype/property-diacritic: Likewise.
32826         * modules/unictype/property-extender: Likewise.
32827         * modules/unictype/property-format-control: Likewise.
32828         * modules/unictype/property-grapheme-base: Likewise.
32829         * modules/unictype/property-grapheme-extend: Likewise.
32830         * modules/unictype/property-grapheme-link: Likewise.
32831         * modules/unictype/property-hex-digit: Likewise.
32832         * modules/unictype/property-hyphen: Likewise.
32833         * modules/unictype/property-id-continue: Likewise.
32834         * modules/unictype/property-id-start: Likewise.
32835         * modules/unictype/property-ideographic: Likewise.
32836         * modules/unictype/property-ids-binary-operator: Likewise.
32837         * modules/unictype/property-ids-trinary-operator: Likewise.
32838         * modules/unictype/property-ignorable-control: Likewise.
32839         * modules/unictype/property-iso-control: Likewise.
32840         * modules/unictype/property-join-control: Likewise.
32841         * modules/unictype/property-left-of-pair: Likewise.
32842         * modules/unictype/property-line-separator: Likewise.
32843         * modules/unictype/property-logical-order-exception: Likewise.
32844         * modules/unictype/property-lowercase: Likewise.
32845         * modules/unictype/property-math: Likewise.
32846         * modules/unictype/property-non-break: Likewise.
32847         * modules/unictype/property-not-a-character: Likewise.
32848         * modules/unictype/property-numeric: Likewise.
32849         * modules/unictype/property-other-alphabetic: Likewise.
32850         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
32851         * modules/unictype/property-other-grapheme-extend: Likewise.
32852         * modules/unictype/property-other-id-continue: Likewise.
32853         * modules/unictype/property-other-id-start: Likewise.
32854         * modules/unictype/property-other-lowercase: Likewise.
32855         * modules/unictype/property-other-math: Likewise.
32856         * modules/unictype/property-other-uppercase: Likewise.
32857         * modules/unictype/property-paired-punctuation: Likewise.
32858         * modules/unictype/property-paragraph-separator: Likewise.
32859         * modules/unictype/property-pattern-syntax: Likewise.
32860         * modules/unictype/property-pattern-white-space: Likewise.
32861         * modules/unictype/property-private-use: Likewise.
32862         * modules/unictype/property-punctuation: Likewise.
32863         * modules/unictype/property-quotation-mark: Likewise.
32864         * modules/unictype/property-radical: Likewise.
32865         * modules/unictype/property-sentence-terminal: Likewise.
32866         * modules/unictype/property-soft-dotted: Likewise.
32867         * modules/unictype/property-space: Likewise.
32868         * modules/unictype/property-terminal-punctuation: Likewise.
32869         * modules/unictype/property-test: Likewise.
32870         * modules/unictype/property-titlecase: Likewise.
32871         * modules/unictype/property-unassigned-code-value: Likewise.
32872         * modules/unictype/property-unified-ideograph: Likewise.
32873         * modules/unictype/property-uppercase: Likewise.
32874         * modules/unictype/property-variation-selector: Likewise.
32875         * modules/unictype/property-white-space: Likewise.
32876         * modules/unictype/property-xid-continue: Likewise.
32877         * modules/unictype/property-xid-start: Likewise.
32878         * modules/unictype/property-zero-width: Likewise.
32879         * modules/unictype/scripts: Likewise.
32880         * modules/unictype/syntax-c-ident: Likewise.
32881         * modules/unictype/syntax-c-whitespace: Likewise.
32882         * modules/unictype/syntax-java-ident: Likewise.
32883         * modules/unictype/syntax-java-whitespace: Likewise.
32884         * modules/unilbrk/u8-possible-linebreaks: Likewise.
32885         * modules/unilbrk/u8-width-linebreaks: Likewise.
32886         * modules/unilbrk/u16-possible-linebreaks: Likewise.
32887         * modules/unilbrk/u16-width-linebreaks: Likewise.
32888         * modules/unilbrk/u32-possible-linebreaks: Likewise.
32889         * modules/unilbrk/u32-width-linebreaks: Likewise.
32890         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
32891         * modules/unilbrk/ulc-width-linebreaks: Likewise.
32892         * modules/uniname/uniname: Likewise.
32893         * modules/uninorm/canonical-decomposition: Likewise.
32894         * modules/uninorm/composition: Likewise.
32895         * modules/uninorm/decomposing-form: Likewise.
32896         * modules/uninorm/decomposition: Likewise.
32897         * modules/uninorm/filter: Likewise.
32898         * modules/uninorm/nfc: Likewise.
32899         * modules/uninorm/nfd: Likewise.
32900         * modules/uninorm/nfkc: Likewise.
32901         * modules/uninorm/nfkd: Likewise.
32902         * modules/uninorm/u8-normalize: Likewise.
32903         * modules/uninorm/u8-normcmp: Likewise.
32904         * modules/uninorm/u8-normcoll: Likewise.
32905         * modules/uninorm/u8-normxfrm: Likewise.
32906         * modules/uninorm/u16-normalize: Likewise.
32907         * modules/uninorm/u16-normcmp: Likewise.
32908         * modules/uninorm/u16-normcoll: Likewise.
32909         * modules/uninorm/u16-normxfrm: Likewise.
32910         * modules/uninorm/u32-normalize: Likewise.
32911         * modules/uninorm/u32-normcmp: Likewise.
32912         * modules/uninorm/u32-normcoll: Likewise.
32913         * modules/uninorm/u32-normxfrm: Likewise.
32914         * modules/unistdio/u8-asnprintf: Likewise.
32915         * modules/unistdio/u8-asprintf: Likewise.
32916         * modules/unistdio/u8-snprintf: Likewise.
32917         * modules/unistdio/u8-sprintf: Likewise.
32918         * modules/unistdio/u8-u8-asnprintf: Likewise.
32919         * modules/unistdio/u8-u8-asprintf: Likewise.
32920         * modules/unistdio/u8-u8-snprintf: Likewise.
32921         * modules/unistdio/u8-u8-sprintf: Likewise.
32922         * modules/unistdio/u8-u8-vasnprintf: Likewise.
32923         * modules/unistdio/u8-u8-vasprintf: Likewise.
32924         * modules/unistdio/u8-u8-vsnprintf: Likewise.
32925         * modules/unistdio/u8-u8-vsprintf: Likewise.
32926         * modules/unistdio/u8-vasnprintf: Likewise.
32927         * modules/unistdio/u8-vasprintf: Likewise.
32928         * modules/unistdio/u8-vsnprintf: Likewise.
32929         * modules/unistdio/u8-vsprintf: Likewise.
32930         * modules/unistdio/u16-asnprintf: Likewise.
32931         * modules/unistdio/u16-asprintf: Likewise.
32932         * modules/unistdio/u16-snprintf: Likewise.
32933         * modules/unistdio/u16-sprintf: Likewise.
32934         * modules/unistdio/u16-u16-asnprintf: Likewise.
32935         * modules/unistdio/u16-u16-asprintf: Likewise.
32936         * modules/unistdio/u16-u16-snprintf: Likewise.
32937         * modules/unistdio/u16-u16-sprintf: Likewise.
32938         * modules/unistdio/u16-u16-vasnprintf: Likewise.
32939         * modules/unistdio/u16-u16-vasprintf: Likewise.
32940         * modules/unistdio/u16-u16-vsnprintf: Likewise.
32941         * modules/unistdio/u16-u16-vsprintf: Likewise.
32942         * modules/unistdio/u16-vasnprintf: Likewise.
32943         * modules/unistdio/u16-vasprintf: Likewise.
32944         * modules/unistdio/u16-vsnprintf: Likewise.
32945         * modules/unistdio/u16-vsprintf: Likewise.
32946         * modules/unistdio/u32-asnprintf: Likewise.
32947         * modules/unistdio/u32-asprintf: Likewise.
32948         * modules/unistdio/u32-snprintf: Likewise.
32949         * modules/unistdio/u32-sprintf: Likewise.
32950         * modules/unistdio/u32-u32-asnprintf: Likewise.
32951         * modules/unistdio/u32-u32-asprintf: Likewise.
32952         * modules/unistdio/u32-u32-snprintf: Likewise.
32953         * modules/unistdio/u32-u32-sprintf: Likewise.
32954         * modules/unistdio/u32-u32-vasnprintf: Likewise.
32955         * modules/unistdio/u32-u32-vasprintf: Likewise.
32956         * modules/unistdio/u32-u32-vsnprintf: Likewise.
32957         * modules/unistdio/u32-u32-vsprintf: Likewise.
32958         * modules/unistdio/u32-vasnprintf: Likewise.
32959         * modules/unistdio/u32-vasprintf: Likewise.
32960         * modules/unistdio/u32-vsnprintf: Likewise.
32961         * modules/unistdio/u32-vsprintf: Likewise.
32962         * modules/unistdio/ulc-asnprintf: Likewise.
32963         * modules/unistdio/ulc-asprintf: Likewise.
32964         * modules/unistdio/ulc-fprintf: Likewise.
32965         * modules/unistdio/ulc-snprintf: Likewise.
32966         * modules/unistdio/ulc-sprintf: Likewise.
32967         * modules/unistdio/ulc-vasnprintf: Likewise.
32968         * modules/unistdio/ulc-vasprintf: Likewise.
32969         * modules/unistdio/ulc-vfprintf: Likewise.
32970         * modules/unistdio/ulc-vsnprintf: Likewise.
32971         * modules/unistdio/ulc-vsprintf: Likewise.
32972         * modules/unistr/u8-check: Likewise.
32973         * modules/unistr/u8-chr: Likewise.
32974         * modules/unistr/u8-cmp: Likewise.
32975         * modules/unistr/u8-cmp2: Likewise.
32976         * modules/unistr/u8-cpy: Likewise.
32977         * modules/unistr/u8-cpy-alloc: Likewise.
32978         * modules/unistr/u8-endswith: Likewise.
32979         * modules/unistr/u8-mblen: Likewise.
32980         * modules/unistr/u8-mbsnlen: Likewise.
32981         * modules/unistr/u8-mbtouc: Likewise.
32982         * modules/unistr/u8-mbtouc-unsafe: Likewise.
32983         * modules/unistr/u8-mbtoucr: Likewise.
32984         * modules/unistr/u8-move: Likewise.
32985         * modules/unistr/u8-next: Likewise.
32986         * modules/unistr/u8-prev: Likewise.
32987         * modules/unistr/u8-set: Likewise.
32988         * modules/unistr/u8-startswith: Likewise.
32989         * modules/unistr/u8-stpcpy: Likewise.
32990         * modules/unistr/u8-stpncpy: Likewise.
32991         * modules/unistr/u8-strcat: Likewise.
32992         * modules/unistr/u8-strchr: Likewise.
32993         * modules/unistr/u8-strcmp: Likewise.
32994         * modules/unistr/u8-strcoll: Likewise.
32995         * modules/unistr/u8-strcpy: Likewise.
32996         * modules/unistr/u8-strcspn: Likewise.
32997         * modules/unistr/u8-strdup: Likewise.
32998         * modules/unistr/u8-strlen: Likewise.
32999         * modules/unistr/u8-strmblen: Likewise.
33000         * modules/unistr/u8-strmbtouc: Likewise.
33001         * modules/unistr/u8-strncat: Likewise.
33002         * modules/unistr/u8-strncmp: Likewise.
33003         * modules/unistr/u8-strncpy: Likewise.
33004         * modules/unistr/u8-strnlen: Likewise.
33005         * modules/unistr/u8-strpbrk: Likewise.
33006         * modules/unistr/u8-strrchr: Likewise.
33007         * modules/unistr/u8-strspn: Likewise.
33008         * modules/unistr/u8-strstr: Likewise.
33009         * modules/unistr/u8-strtok: Likewise.
33010         * modules/unistr/u8-to-u16: Likewise.
33011         * modules/unistr/u8-to-u32: Likewise.
33012         * modules/unistr/u8-uctomb: Likewise.
33013         * modules/unistr/u16-check: Likewise.
33014         * modules/unistr/u16-chr: Likewise.
33015         * modules/unistr/u16-cmp: Likewise.
33016         * modules/unistr/u16-cmp2: Likewise.
33017         * modules/unistr/u16-cpy: Likewise.
33018         * modules/unistr/u16-cpy-alloc: Likewise.
33019         * modules/unistr/u16-endswith: Likewise.
33020         * modules/unistr/u16-mblen: Likewise.
33021         * modules/unistr/u16-mbsnlen: Likewise.
33022         * modules/unistr/u16-mbtouc: Likewise.
33023         * modules/unistr/u16-mbtouc-unsafe: Likewise.
33024         * modules/unistr/u16-mbtoucr: Likewise.
33025         * modules/unistr/u16-move: Likewise.
33026         * modules/unistr/u16-next: Likewise.
33027         * modules/unistr/u16-prev: Likewise.
33028         * modules/unistr/u16-set: Likewise.
33029         * modules/unistr/u16-startswith: Likewise.
33030         * modules/unistr/u16-stpcpy: Likewise.
33031         * modules/unistr/u16-stpncpy: Likewise.
33032         * modules/unistr/u16-strcat: Likewise.
33033         * modules/unistr/u16-strchr: Likewise.
33034         * modules/unistr/u16-strcmp: Likewise.
33035         * modules/unistr/u16-strcoll: Likewise.
33036         * modules/unistr/u16-strcpy: Likewise.
33037         * modules/unistr/u16-strcspn: Likewise.
33038         * modules/unistr/u16-strdup: Likewise.
33039         * modules/unistr/u16-strlen: Likewise.
33040         * modules/unistr/u16-strmblen: Likewise.
33041         * modules/unistr/u16-strmbtouc: Likewise.
33042         * modules/unistr/u16-strncat: Likewise.
33043         * modules/unistr/u16-strncmp: Likewise.
33044         * modules/unistr/u16-strncpy: Likewise.
33045         * modules/unistr/u16-strnlen: Likewise.
33046         * modules/unistr/u16-strpbrk: Likewise.
33047         * modules/unistr/u16-strrchr: Likewise.
33048         * modules/unistr/u16-strspn: Likewise.
33049         * modules/unistr/u16-strstr: Likewise.
33050         * modules/unistr/u16-strtok: Likewise.
33051         * modules/unistr/u16-to-u32: Likewise.
33052         * modules/unistr/u16-to-u8: Likewise.
33053         * modules/unistr/u16-uctomb: Likewise.
33054         * modules/unistr/u32-check: Likewise.
33055         * modules/unistr/u32-chr: Likewise.
33056         * modules/unistr/u32-cmp: Likewise.
33057         * modules/unistr/u32-cmp2: Likewise.
33058         * modules/unistr/u32-cpy: Likewise.
33059         * modules/unistr/u32-cpy-alloc: Likewise.
33060         * modules/unistr/u32-endswith: Likewise.
33061         * modules/unistr/u32-mblen: Likewise.
33062         * modules/unistr/u32-mbsnlen: Likewise.
33063         * modules/unistr/u32-mbtouc: Likewise.
33064         * modules/unistr/u32-mbtouc-unsafe: Likewise.
33065         * modules/unistr/u32-mbtoucr: Likewise.
33066         * modules/unistr/u32-move: Likewise.
33067         * modules/unistr/u32-next: Likewise.
33068         * modules/unistr/u32-prev: Likewise.
33069         * modules/unistr/u32-set: Likewise.
33070         * modules/unistr/u32-startswith: Likewise.
33071         * modules/unistr/u32-stpcpy: Likewise.
33072         * modules/unistr/u32-stpncpy: Likewise.
33073         * modules/unistr/u32-strcat: Likewise.
33074         * modules/unistr/u32-strchr: Likewise.
33075         * modules/unistr/u32-strcmp: Likewise.
33076         * modules/unistr/u32-strcoll: Likewise.
33077         * modules/unistr/u32-strcpy: Likewise.
33078         * modules/unistr/u32-strcspn: Likewise.
33079         * modules/unistr/u32-strdup: Likewise.
33080         * modules/unistr/u32-strlen: Likewise.
33081         * modules/unistr/u32-strmblen: Likewise.
33082         * modules/unistr/u32-strmbtouc: Likewise.
33083         * modules/unistr/u32-strncat: Likewise.
33084         * modules/unistr/u32-strncmp: Likewise.
33085         * modules/unistr/u32-strncpy: Likewise.
33086         * modules/unistr/u32-strnlen: Likewise.
33087         * modules/unistr/u32-strpbrk: Likewise.
33088         * modules/unistr/u32-strrchr: Likewise.
33089         * modules/unistr/u32-strspn: Likewise.
33090         * modules/unistr/u32-strstr: Likewise.
33091         * modules/unistr/u32-strtok: Likewise.
33092         * modules/unistr/u32-to-u16: Likewise.
33093         * modules/unistr/u32-to-u8: Likewise.
33094         * modules/unistr/u32-uctomb: Likewise.
33095         * modules/uniwbrk/u8-wordbreaks: Likewise.
33096         * modules/uniwbrk/u16-wordbreaks: Likewise.
33097         * modules/uniwbrk/u32-wordbreaks: Likewise.
33098         * modules/uniwbrk/ulc-wordbreaks: Likewise.
33099         * modules/uniwbrk/wordbreak-property: Likewise.
33100         * modules/uniwidth/u8-strwidth: Likewise.
33101         * modules/uniwidth/u8-width: Likewise.
33102         * modules/uniwidth/u16-strwidth: Likewise.
33103         * modules/uniwidth/u16-width: Likewise.
33104         * modules/uniwidth/u32-strwidth: Likewise.
33105         * modules/uniwidth/u32-width: Likewise.
33106         * modules/uniwidth/width: Likewise.
33107         * modules/unicase/cased-tests (Makefile.am): Link all test programs
33108         with $(LIBUNISTRING).
33109         * modules/unicase/ignorable-tests: Likewise.
33110         * modules/unicase/locale-language-tests: Likewise.
33111         * modules/unicase/tolower-tests: Likewise.
33112         * modules/unicase/totitle-tests: Likewise.
33113         * modules/unicase/toupper-tests: Likewise.
33114         * modules/unicase/u8-casecmp-tests: Likewise.
33115         * modules/unicase/u8-casecoll-tests: Likewise.
33116         * modules/unicase/u8-casefold-tests: Likewise.
33117         * modules/unicase/u8-is-cased-tests: Likewise.
33118         * modules/unicase/u8-is-casefolded-tests: Likewise.
33119         * modules/unicase/u8-is-lowercase-tests: Likewise.
33120         * modules/unicase/u8-is-titlecase-tests: Likewise.
33121         * modules/unicase/u8-is-uppercase-tests: Likewise.
33122         * modules/unicase/u8-tolower-tests: Likewise.
33123         * modules/unicase/u8-totitle-tests: Likewise.
33124         * modules/unicase/u8-toupper-tests: Likewise.
33125         * modules/unicase/u16-casecmp-tests: Likewise.
33126         * modules/unicase/u16-casecoll-tests: Likewise.
33127         * modules/unicase/u16-casefold-tests: Likewise.
33128         * modules/unicase/u16-is-cased-tests: Likewise.
33129         * modules/unicase/u16-is-casefolded-tests: Likewise.
33130         * modules/unicase/u16-is-lowercase-tests: Likewise.
33131         * modules/unicase/u16-is-titlecase-tests: Likewise.
33132         * modules/unicase/u16-is-uppercase-tests: Likewise.
33133         * modules/unicase/u16-tolower-tests: Likewise.
33134         * modules/unicase/u16-totitle-tests: Likewise.
33135         * modules/unicase/u16-toupper-tests: Likewise.
33136         * modules/unicase/u32-casecmp-tests: Likewise.
33137         * modules/unicase/u32-casecoll-tests: Likewise.
33138         * modules/unicase/u32-casefold-tests: Likewise.
33139         * modules/unicase/u32-is-cased-tests: Likewise.
33140         * modules/unicase/u32-is-casefolded-tests: Likewise.
33141         * modules/unicase/u32-is-lowercase-tests: Likewise.
33142         * modules/unicase/u32-is-titlecase-tests: Likewise.
33143         * modules/unicase/u32-is-uppercase-tests: Likewise.
33144         * modules/unicase/u32-tolower-tests: Likewise.
33145         * modules/unicase/u32-totitle-tests: Likewise.
33146         * modules/unicase/u32-toupper-tests: Likewise.
33147         * modules/unicase/ulc-casecmp-tests: Likewise.
33148         * modules/unicase/ulc-casecoll-tests: Likewise.
33149         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
33150         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
33151         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
33152         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
33153         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
33154         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
33155         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
33156         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
33157         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
33158         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
33159         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
33160         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
33161         * modules/unictype/bidicategory-byname-tests: Likewise.
33162         * modules/unictype/bidicategory-name-tests: Likewise.
33163         * modules/unictype/bidicategory-of-tests: Likewise.
33164         * modules/unictype/bidicategory-test-tests: Likewise.
33165         * modules/unictype/block-list-tests: Likewise.
33166         * modules/unictype/block-of-tests: Likewise.
33167         * modules/unictype/block-test-tests: Likewise.
33168         * modules/unictype/category-C-tests: Likewise.
33169         * modules/unictype/category-Cc-tests: Likewise.
33170         * modules/unictype/category-Cf-tests: Likewise.
33171         * modules/unictype/category-Cn-tests: Likewise.
33172         * modules/unictype/category-Co-tests: Likewise.
33173         * modules/unictype/category-Cs-tests: Likewise.
33174         * modules/unictype/category-L-tests: Likewise.
33175         * modules/unictype/category-Ll-tests: Likewise.
33176         * modules/unictype/category-Lm-tests: Likewise.
33177         * modules/unictype/category-Lo-tests: Likewise.
33178         * modules/unictype/category-Lt-tests: Likewise.
33179         * modules/unictype/category-Lu-tests: Likewise.
33180         * modules/unictype/category-M-tests: Likewise.
33181         * modules/unictype/category-Mc-tests: Likewise.
33182         * modules/unictype/category-Me-tests: Likewise.
33183         * modules/unictype/category-Mn-tests: Likewise.
33184         * modules/unictype/category-N-tests: Likewise.
33185         * modules/unictype/category-Nd-tests: Likewise.
33186         * modules/unictype/category-Nl-tests: Likewise.
33187         * modules/unictype/category-No-tests: Likewise.
33188         * modules/unictype/category-P-tests: Likewise.
33189         * modules/unictype/category-Pc-tests: Likewise.
33190         * modules/unictype/category-Pd-tests: Likewise.
33191         * modules/unictype/category-Pe-tests: Likewise.
33192         * modules/unictype/category-Pf-tests: Likewise.
33193         * modules/unictype/category-Pi-tests: Likewise.
33194         * modules/unictype/category-Po-tests: Likewise.
33195         * modules/unictype/category-Ps-tests: Likewise.
33196         * modules/unictype/category-S-tests: Likewise.
33197         * modules/unictype/category-Sc-tests: Likewise.
33198         * modules/unictype/category-Sk-tests: Likewise.
33199         * modules/unictype/category-Sm-tests: Likewise.
33200         * modules/unictype/category-So-tests: Likewise.
33201         * modules/unictype/category-Z-tests: Likewise.
33202         * modules/unictype/category-Zl-tests: Likewise.
33203         * modules/unictype/category-Zp-tests: Likewise.
33204         * modules/unictype/category-Zs-tests: Likewise.
33205         * modules/unictype/category-and-not-tests: Likewise.
33206         * modules/unictype/category-and-tests: Likewise.
33207         * modules/unictype/category-byname-tests: Likewise.
33208         * modules/unictype/category-name-tests: Likewise.
33209         * modules/unictype/category-none-tests: Likewise.
33210         * modules/unictype/category-of-tests: Likewise.
33211         * modules/unictype/category-or-tests: Likewise.
33212         * modules/unictype/category-test-withtable-tests: Likewise.
33213         * modules/unictype/combining-class-tests: Likewise.
33214         * modules/unictype/ctype-alnum-tests: Likewise.
33215         * modules/unictype/ctype-alpha-tests: Likewise.
33216         * modules/unictype/ctype-blank-tests: Likewise.
33217         * modules/unictype/ctype-cntrl-tests: Likewise.
33218         * modules/unictype/ctype-digit-tests: Likewise.
33219         * modules/unictype/ctype-graph-tests: Likewise.
33220         * modules/unictype/ctype-lower-tests: Likewise.
33221         * modules/unictype/ctype-print-tests: Likewise.
33222         * modules/unictype/ctype-punct-tests: Likewise.
33223         * modules/unictype/ctype-space-tests: Likewise.
33224         * modules/unictype/ctype-upper-tests: Likewise.
33225         * modules/unictype/ctype-xdigit-tests: Likewise.
33226         * modules/unictype/decimal-digit-tests: Likewise.
33227         * modules/unictype/digit-tests: Likewise.
33228         * modules/unictype/mirror-tests: Likewise.
33229         * modules/unictype/numeric-tests: Likewise.
33230         * modules/unictype/property-alphabetic-tests: Likewise.
33231         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
33232         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
33233         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
33234         * modules/unictype/property-bidi-block-separator-tests: Likewise.
33235         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
33236         * modules/unictype/property-bidi-common-separator-tests: Likewise.
33237         * modules/unictype/property-bidi-control-tests: Likewise.
33238         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
33239         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
33240         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
33241         * modules/unictype/property-bidi-european-digit-tests: Likewise.
33242         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
33243         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
33244         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
33245         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
33246         * modules/unictype/property-bidi-pdf-tests: Likewise.
33247         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
33248         * modules/unictype/property-bidi-whitespace-tests: Likewise.
33249         * modules/unictype/property-byname-tests: Likewise.
33250         * modules/unictype/property-combining-tests: Likewise.
33251         * modules/unictype/property-composite-tests: Likewise.
33252         * modules/unictype/property-currency-symbol-tests: Likewise.
33253         * modules/unictype/property-dash-tests: Likewise.
33254         * modules/unictype/property-decimal-digit-tests: Likewise.
33255         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
33256         * modules/unictype/property-deprecated-tests: Likewise.
33257         * modules/unictype/property-diacritic-tests: Likewise.
33258         * modules/unictype/property-extender-tests: Likewise.
33259         * modules/unictype/property-format-control-tests: Likewise.
33260         * modules/unictype/property-grapheme-base-tests: Likewise.
33261         * modules/unictype/property-grapheme-extend-tests: Likewise.
33262         * modules/unictype/property-grapheme-link-tests: Likewise.
33263         * modules/unictype/property-hex-digit-tests: Likewise.
33264         * modules/unictype/property-hyphen-tests: Likewise.
33265         * modules/unictype/property-id-continue-tests: Likewise.
33266         * modules/unictype/property-id-start-tests: Likewise.
33267         * modules/unictype/property-ideographic-tests: Likewise.
33268         * modules/unictype/property-ids-binary-operator-tests: Likewise.
33269         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
33270         * modules/unictype/property-ignorable-control-tests: Likewise.
33271         * modules/unictype/property-iso-control-tests: Likewise.
33272         * modules/unictype/property-join-control-tests: Likewise.
33273         * modules/unictype/property-left-of-pair-tests: Likewise.
33274         * modules/unictype/property-line-separator-tests: Likewise.
33275         * modules/unictype/property-logical-order-exception-tests: Likewise.
33276         * modules/unictype/property-lowercase-tests: Likewise.
33277         * modules/unictype/property-math-tests: Likewise.
33278         * modules/unictype/property-non-break-tests: Likewise.
33279         * modules/unictype/property-not-a-character-tests: Likewise.
33280         * modules/unictype/property-numeric-tests: Likewise.
33281         * modules/unictype/property-other-alphabetic-tests: Likewise.
33282         * modules/unictype/property-other-default-ignorable-code-point-tests:
33283         Likewise.
33284         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
33285         * modules/unictype/property-other-id-continue-tests: Likewise.
33286         * modules/unictype/property-other-id-start-tests: Likewise.
33287         * modules/unictype/property-other-lowercase-tests: Likewise.
33288         * modules/unictype/property-other-math-tests: Likewise.
33289         * modules/unictype/property-other-uppercase-tests: Likewise.
33290         * modules/unictype/property-paired-punctuation-tests: Likewise.
33291         * modules/unictype/property-paragraph-separator-tests: Likewise.
33292         * modules/unictype/property-pattern-syntax-tests: Likewise.
33293         * modules/unictype/property-pattern-white-space-tests: Likewise.
33294         * modules/unictype/property-private-use-tests: Likewise.
33295         * modules/unictype/property-punctuation-tests: Likewise.
33296         * modules/unictype/property-quotation-mark-tests: Likewise.
33297         * modules/unictype/property-radical-tests: Likewise.
33298         * modules/unictype/property-sentence-terminal-tests: Likewise.
33299         * modules/unictype/property-soft-dotted-tests: Likewise.
33300         * modules/unictype/property-space-tests: Likewise.
33301         * modules/unictype/property-terminal-punctuation-tests: Likewise.
33302         * modules/unictype/property-test-tests: Likewise.
33303         * modules/unictype/property-titlecase-tests: Likewise.
33304         * modules/unictype/property-unassigned-code-value-tests: Likewise.
33305         * modules/unictype/property-unified-ideograph-tests: Likewise.
33306         * modules/unictype/property-uppercase-tests: Likewise.
33307         * modules/unictype/property-variation-selector-tests: Likewise.
33308         * modules/unictype/property-white-space-tests: Likewise.
33309         * modules/unictype/property-xid-continue-tests: Likewise.
33310         * modules/unictype/property-xid-start-tests: Likewise.
33311         * modules/unictype/property-zero-width-tests: Likewise.
33312         * modules/unictype/scripts-tests: Likewise.
33313         * modules/unictype/syntax-c-ident-tests: Likewise.
33314         * modules/unictype/syntax-c-whitespace-tests: Likewise.
33315         * modules/unictype/syntax-java-ident-tests: Likewise.
33316         * modules/unictype/syntax-java-whitespace-tests: Likewise.
33317         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
33318         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
33319         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
33320         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
33321         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
33322         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
33323         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
33324         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
33325         * modules/uniname/uniname-tests: Likewise.
33326         * modules/uninorm/canonical-decomposition-tests: Likewise.
33327         * modules/uninorm/compat-decomposition-tests: Likewise.
33328         * modules/uninorm/composition-tests: Likewise.
33329         * modules/uninorm/decomposing-form-tests: Likewise.
33330         * modules/uninorm/decomposition-tests: Likewise.
33331         * modules/uninorm/filter-tests: Likewise.
33332         * modules/uninorm/nfc-tests: Likewise.
33333         * modules/uninorm/nfd-tests: Likewise.
33334         * modules/uninorm/nfkc-tests: Likewise.
33335         * modules/uninorm/nfkd-tests: Likewise.
33336         * modules/uninorm/u8-normcmp-tests: Likewise.
33337         * modules/uninorm/u8-normcoll-tests: Likewise.
33338         * modules/uninorm/u16-normcmp-tests: Likewise.
33339         * modules/uninorm/u16-normcoll-tests: Likewise.
33340         * modules/uninorm/u32-normcmp-tests: Likewise.
33341         * modules/uninorm/u32-normcoll-tests: Likewise.
33342         * modules/unistdio/u8-asnprintf-tests: Likewise.
33343         * modules/unistdio/u8-vasnprintf-tests: Likewise.
33344         * modules/unistdio/u8-vasprintf-tests: Likewise.
33345         * modules/unistdio/u8-vsnprintf-tests: Likewise.
33346         * modules/unistdio/u8-vsprintf-tests: Likewise.
33347         * modules/unistdio/u16-asnprintf-tests: Likewise.
33348         * modules/unistdio/u16-vasnprintf-tests: Likewise.
33349         * modules/unistdio/u16-vasprintf-tests: Likewise.
33350         * modules/unistdio/u16-vsnprintf-tests: Likewise.
33351         * modules/unistdio/u16-vsprintf-tests: Likewise.
33352         * modules/unistdio/u32-asnprintf-tests: Likewise.
33353         * modules/unistdio/u32-vasnprintf-tests: Likewise.
33354         * modules/unistdio/u32-vasprintf-tests: Likewise.
33355         * modules/unistdio/u32-vsnprintf-tests: Likewise.
33356         * modules/unistdio/u32-vsprintf-tests: Likewise.
33357         * modules/unistdio/ulc-asnprintf-tests: Likewise.
33358         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
33359         * modules/unistdio/ulc-vasprintf-tests: Likewise.
33360         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
33361         * modules/unistdio/ulc-vsprintf-tests: Likewise.
33362         * modules/unistr/u8-check-tests: Likewise.
33363         * modules/unistr/u8-chr-tests: Likewise.
33364         * modules/unistr/u8-cmp-tests: Likewise.
33365         * modules/unistr/u8-cmp2-tests: Likewise.
33366         * modules/unistr/u8-cpy-alloc-tests: Likewise.
33367         * modules/unistr/u8-cpy-tests: Likewise.
33368         * modules/unistr/u8-mblen-tests: Likewise.
33369         * modules/unistr/u8-mbsnlen-tests: Likewise.
33370         * modules/unistr/u8-mbtouc-tests: Likewise.
33371         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
33372         * modules/unistr/u8-mbtoucr-tests: Likewise.
33373         * modules/unistr/u8-move-tests: Likewise.
33374         * modules/unistr/u8-next-tests: Likewise.
33375         * modules/unistr/u8-prev-tests: Likewise.
33376         * modules/unistr/u8-set-tests: Likewise.
33377         * modules/unistr/u8-stpcpy-tests: Likewise.
33378         * modules/unistr/u8-stpncpy-tests: Likewise.
33379         * modules/unistr/u8-strcat-tests: Likewise.
33380         * modules/unistr/u8-strcmp-tests: Likewise.
33381         * modules/unistr/u8-strcoll-tests: Likewise.
33382         * modules/unistr/u8-strcpy-tests: Likewise.
33383         * modules/unistr/u8-strdup-tests: Likewise.
33384         * modules/unistr/u8-strlen-tests: Likewise.
33385         * modules/unistr/u8-strmblen-tests: Likewise.
33386         * modules/unistr/u8-strmbtouc-tests: Likewise.
33387         * modules/unistr/u8-strncat-tests: Likewise.
33388         * modules/unistr/u8-strncmp-tests: Likewise.
33389         * modules/unistr/u8-strncpy-tests: Likewise.
33390         * modules/unistr/u8-strnlen-tests: Likewise.
33391         * modules/unistr/u8-to-u16-tests: Likewise.
33392         * modules/unistr/u8-to-u32-tests: Likewise.
33393         * modules/unistr/u8-uctomb-tests: Likewise.
33394         * modules/unistr/u16-check-tests: Likewise.
33395         * modules/unistr/u16-chr-tests: Likewise.
33396         * modules/unistr/u16-cmp-tests: Likewise.
33397         * modules/unistr/u16-cmp2-tests: Likewise.
33398         * modules/unistr/u16-cpy-alloc-tests: Likewise.
33399         * modules/unistr/u16-cpy-tests: Likewise.
33400         * modules/unistr/u16-mblen-tests: Likewise.
33401         * modules/unistr/u16-mbsnlen-tests: Likewise.
33402         * modules/unistr/u16-mbtouc-tests: Likewise.
33403         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
33404         * modules/unistr/u16-mbtoucr-tests: Likewise.
33405         * modules/unistr/u16-move-tests: Likewise.
33406         * modules/unistr/u16-next-tests: Likewise.
33407         * modules/unistr/u16-prev-tests: Likewise.
33408         * modules/unistr/u16-set-tests: Likewise.
33409         * modules/unistr/u16-stpcpy-tests: Likewise.
33410         * modules/unistr/u16-stpncpy-tests: Likewise.
33411         * modules/unistr/u16-strcat-tests: Likewise.
33412         * modules/unistr/u16-strcmp-tests: Likewise.
33413         * modules/unistr/u16-strcoll-tests: Likewise.
33414         * modules/unistr/u16-strcpy-tests: Likewise.
33415         * modules/unistr/u16-strdup-tests: Likewise.
33416         * modules/unistr/u16-strlen-tests: Likewise.
33417         * modules/unistr/u16-strmblen-tests: Likewise.
33418         * modules/unistr/u16-strmbtouc-tests: Likewise.
33419         * modules/unistr/u16-strncat-tests: Likewise.
33420         * modules/unistr/u16-strncmp-tests: Likewise.
33421         * modules/unistr/u16-strncpy-tests: Likewise.
33422         * modules/unistr/u16-strnlen-tests: Likewise.
33423         * modules/unistr/u16-to-u32-tests: Likewise.
33424         * modules/unistr/u16-to-u8-tests: Likewise.
33425         * modules/unistr/u16-uctomb-tests: Likewise.
33426         * modules/unistr/u32-check-tests: Likewise.
33427         * modules/unistr/u32-chr-tests: Likewise.
33428         * modules/unistr/u32-cmp-tests: Likewise.
33429         * modules/unistr/u32-cmp2-tests: Likewise.
33430         * modules/unistr/u32-cpy-alloc-tests: Likewise.
33431         * modules/unistr/u32-cpy-tests: Likewise.
33432         * modules/unistr/u32-mblen-tests: Likewise.
33433         * modules/unistr/u32-mbsnlen-tests: Likewise.
33434         * modules/unistr/u32-mbtouc-tests: Likewise.
33435         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
33436         * modules/unistr/u32-mbtoucr-tests: Likewise.
33437         * modules/unistr/u32-move-tests: Likewise.
33438         * modules/unistr/u32-next-tests: Likewise.
33439         * modules/unistr/u32-prev-tests: Likewise.
33440         * modules/unistr/u32-set-tests: Likewise.
33441         * modules/unistr/u32-stpcpy-tests: Likewise.
33442         * modules/unistr/u32-stpncpy-tests: Likewise.
33443         * modules/unistr/u32-strcat-tests: Likewise.
33444         * modules/unistr/u32-strcmp-tests: Likewise.
33445         * modules/unistr/u32-strcoll-tests: Likewise.
33446         * modules/unistr/u32-strcpy-tests: Likewise.
33447         * modules/unistr/u32-strdup-tests: Likewise.
33448         * modules/unistr/u32-strlen-tests: Likewise.
33449         * modules/unistr/u32-strmblen-tests: Likewise.
33450         * modules/unistr/u32-strmbtouc-tests: Likewise.
33451         * modules/unistr/u32-strncat-tests: Likewise.
33452         * modules/unistr/u32-strncmp-tests: Likewise.
33453         * modules/unistr/u32-strncpy-tests: Likewise.
33454         * modules/unistr/u32-strnlen-tests: Likewise.
33455         * modules/unistr/u32-to-u16-tests: Likewise.
33456         * modules/unistr/u32-to-u8-tests: Likewise.
33457         * modules/unistr/u32-uctomb-tests: Likewise.
33458         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
33459         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
33460         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
33461         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
33462         * modules/uniwidth/u8-strwidth-tests: Likewise.
33463         * modules/uniwidth/u8-width-tests: Likewise.
33464         * modules/uniwidth/u16-strwidth-tests: Likewise.
33465         * modules/uniwidth/u16-width-tests: Likewise.
33466         * modules/uniwidth/u32-strwidth-tests: Likewise.
33467         * modules/uniwidth/u32-width-tests: Likewise.
33468         * modules/uniwidth/width-tests: Likewise.
33469
33470 2010-05-18  Richard Jones  <rjones@redhat.com>
33471
33472         doc: users.txt: list hivex
33473         * users.txt: Add hivex.
33474
33475 2010-05-18  Richard Jones  <rjones@redhat.com>
33476
33477         doc: users.txt: list febootstrap
33478         * users.txt: Add febootstrap.
33479
33480 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
33481
33482         bootstrap: fix an error when gnulib is not used as a git submodule
33483         * build-aux/bootstrap (gnulib_path): If its length is zero then
33484         assign "gnulib" to it.
33485         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
33486
33487 2010-05-16  Bruno Haible  <bruno@clisp.org>
33488
33489         Avoid autoconf warnings about AM_ICONV.
33490         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
33491         2.64.
33492
33493 2010-05-16  Bruno Haible  <bruno@clisp.org>
33494
33495         absolute-header: Make the macro usable in more situations.
33496         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
33497         from gl_ABSOLUTE_HEADER.
33498         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
33499
33500 2010-05-16  James Youngman  <jay@gnu.org>
33501
33502         doc: update users.txt
33503         * users.txt: Add CSSC.
33504
33505 2010-05-16  Jim Meyering  <meyering@redhat.com>
33506
33507         init.sh: fix an error in the previous change; add more comments
33508         * tests/init.sh: Compare exit code in loop against 9, not 2.
33509         Patch by Bruno Haible.
33510         Make the two tests more similar by adding an empty "then" clause.
33511         Add comments.
33512
33513         init.sh: avoid unnecessary shell re-exec
33514         * tests/init.sh: Improve the re-exec-required check to first test the
33515         current shell.  If it passes the test, do not search for a shell that
33516         does pass, and do not re-exec.  This test is particularly contorted to
33517         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
33518         of $(...) evokes a syntax error and causes immediate shell exit with
33519         status 2.  Bruno Haible reported that the re-exec made it impossible
33520         to single-step through any init.sh-using script.
33521
33522 2010-05-16  Bruno Haible  <bruno@clisp.org>
33523
33524         Fix collision between gnulib's and libintl's printf replacements.
33525         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
33526         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
33527         (printf): When using GNU C, map the __printf__ function to rpl_printf
33528         via __asm__. When not using GNU C, define rpl_printf instead of
33529         __printf__.
33530         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
33531         commit.
33532         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
33533         commit.
33534         * m4/asm-underscore.m4: New file.
33535         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
33536         * modules/stdio (Files): Add m4/asm-underscore.m4.
33537         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
33538         Reported by Ben Pfaff.
33539
33540 2010-05-16  Bruno Haible  <bruno@clisp.org>
33541
33542         verify: Avoid skipping the test on openSUSE 11.0.
33543         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
33544
33545 2010-05-13  Bruno Haible  <bruno@clisp.org>
33546
33547         Avoid useless warnings from G++.
33548         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
33549         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
33550         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33551
33552 2010-05-11  Jim Meyering  <meyering@redhat.com>
33553
33554         maint.mk: tweak preceding change
33555         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
33556         regexps tighter by anchoring at EOL, and make the new group "shy"
33557         for slightly decreased overhead.
33558
33559 2010-05-11  Eric Blake  <eblake@redhat.com>
33560
33561         maint.mk: gnulib doesn't guarantee NSIG
33562         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
33563
33564 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33565
33566         test-pwrite.c: Remove unused variable declaration.
33567         * tests/test-pwrite.c (main): Remove read_buf declaration.
33568
33569         Remove useless test-pwrite.sh file.
33570         * tests/test-pwrite.sh: Delete file.
33571         * modules/pwrite-tests: Remove references.
33572         Reported by Bruno Haible.
33573
33574 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33575
33576         init.sh: fix a typo
33577         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
33578
33579 2010-05-10  Jim Meyering  <meyering@redhat.com>
33580
33581         maint.mk: avoid using a temporary file in the always-defined-macros check
33582         * top/maint.mk (.re-defmac): Remove rule.
33583         (gl_trap_): Remove definition.
33584         (sc_prohibit_always-defined_macros): Rewrite not to create and
33585         depend on a temporary file.  Instead, depend on GNU grep's ability
33586         to read a list of regular expressions from stdin when given "-f -".
33587
33588 2010-05-09  Bruno Haible  <bruno@clisp.org>
33589
33590         Update to GNU gettext 0.18, part 1.
33591         * m4/gettext.m4: Update to GNU gettext 0.18.
33592         * m4/intl.m4: Likewise.
33593         * m4/po.m4: Likewise.
33594         * modules/gettext (Files): Add m4/fcntl-o.m4.
33595         (configure.ac): Require gettext infrastructure from version 0.18.
33596
33597 2010-05-09  Jim Meyering  <meyering@redhat.com>
33598
33599         init.sh: enable MALLOC_PERTURB_
33600         * tests/init.sh: Enable glibc's malloc-perturbing option.
33601
33602         maint.mk: improve sc_cross_check_PATH_usage_in_tests
33603         With my recent change in init.sh from the two-line form:
33604             -#   : ${srcdir=.}
33605             -#   . "$srcdir/init.sh"; path_prepend_ .
33606             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
33607         I noticed that using the one-line form would cause this test
33608         to fail with a false-positive, or to stop working altogether,
33609         depending on whether help-version changed or all the tests did.
33610         * top/maint.mk (_hv_regex): Remove this definition.
33611         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
33612         (_hv_regex_strong): Use a stronger regex to check for conformance.
33613         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
33614         Give a separate diagnostic for lack of conforming use.
33615
33616         maint.mk: prohibit definition of symbols defined by gnulib
33617         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
33618         definition of symbols defined by gnulib.
33619
33620 2010-05-09  Bruno Haible  <bruno@clisp.org>
33621
33622         acl: Avoid test failure on Cygwin-hosted mingw.
33623         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
33624
33625 2010-05-09  Bruno Haible  <bruno@clisp.org>
33626
33627         error: Use system's fcntl function.
33628         * lib/error.c (fcntl): Undefine.
33629
33630 2010-05-09  Jim Meyering  <meyering@redhat.com>
33631
33632         verify: adjust formatting to be more consistent
33633         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
33634         argument-list '('s, and after one comma.
33635
33636 2010-05-09  Bruno Haible  <bruno@clisp.org>
33637
33638         error: More reliable output on mingw.
33639         * lib/error.c: Include <windows.h>.
33640         (is_open): New function.
33641         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
33642         defined.
33643
33644 2010-05-09  Bruno Haible  <bruno@clisp.org>
33645
33646         vasnprintf: Fix syntax errors in libintl build on mingw.
33647         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
33648         pad_ourselves and prec_ourselves after use.
33649
33650 2010-05-08  Bruno Haible  <bruno@clisp.org>
33651
33652         * lib/config.charset: Update comments for Cygwin 1.7.
33653         * lib/localcharset.c: Likewise.
33654
33655 2010-05-07  Jim Meyering  <meyering@redhat.com>
33656
33657         init.sh: improve comments
33658         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
33659         . "${srcdir=.}/init.sh"; path_prepend_ .
33660         Add a note about path_prepend_ and the alternative of using
33661         TESTS_ENVIRONMENT.
33662
33663 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
33664
33665         exclude: Unescape hashed patterns in wildcard mode.
33666         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
33667         to the hash list.
33668         * tests/test-exclude8.sh: New test case.
33669         * modules/exclude-tests: Add new test.
33670
33671 2010-05-05  Eric Blake  <eblake@redhat.com>
33672
33673         verify: automate tests
33674         * modules/verify-tests: New module.
33675         * tests/test-verify.sh: New file.
33676         * tests/test-verify.c: Guard each negative test with a unique id.
33677         Also avoid warning about unused left hand of comma expressions.
33678
33679 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
33680
33681         Further improvements to verify.h, suggested by Eric Blake.
33682         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
33683         the GL_* versions, to avoid collision with OpenGL.
33684         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
33685         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
33686         than testing merely whether it's defined.
33687
33688         Modify verify.h to pacify gcc -Wredundant_decls.
33689         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
33690         These use the prefix "GL_" since they're likely to be useful elsewhere.
33691         We may need to break them out into a different .h file.
33692         (__COUNTER__): Define to 0 if the compiler doesn't support it.
33693         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
33694         of verify_function__.
33695
33696 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33697
33698         Tests for module pwrite.
33699         * modules/pwrite-tests: New file.
33700         * tests/test-pwrite.sh: New file.
33701         * tests/test-pwrite.c: New file.
33702
33703         New module pwrite.
33704         * lib/unistd.in.h (pwrite): New declaration.
33705         * lib/pwrite.c: New file, from glibc with modifications.
33706         * m4/pwrite.m4: New file.
33707         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
33708         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
33709         REPLACE_PWRITE.
33710         * modules/pwrite: New file.
33711         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
33712         REPLACE_PWRITE.
33713         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
33714         * doc/posix-functions/pwrite.texi: Mention the new module.
33715
33716 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33717
33718         pread: Update documentation.
33719         * doc/posix-functions/pread.texi: Mention the 'pread' module.
33720
33721 2010-05-04  Eric Blake  <eblake@redhat.com>
33722
33723         docs: update cygwin progress
33724         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
33725         this bug.
33726         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
33727         Added in cygwin 1.7.2.
33728         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
33729         Likewise.
33730         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
33731         Likewise.
33732         * doc/glibc-functions/dup3.texi (dup3): Likewise.
33733         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
33734         * doc/glibc-functions/accept4.texi (accept4): Likewise.
33735         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
33736         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
33737         Mention nproc module.
33738         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
33739         bug in cygwin 1.7.5 addition.
33740         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
33741         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
33742         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
33743         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
33744         1.7.5.
33745         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
33746         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
33747         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
33748         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
33749         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
33750         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
33751         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
33752         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
33753         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
33754         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
33755         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
33756         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
33757         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
33758         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
33759         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
33760         Likewise.
33761         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
33762         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
33763         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
33764         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
33765         Likewise.
33766         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
33767         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
33768         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
33769         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
33770         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
33771         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
33772         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
33773         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
33774         Likewise.
33775         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
33776         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
33777         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
33778         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
33779         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
33780         Likewise.
33781         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
33782         Likewise.
33783         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
33784         Likewise.
33785         * doc/glibc-functions/xdrrec_endofrecord.texi
33786         (xdrrec_endofrecord): Likewise.
33787         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
33788         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
33789         Likewise.
33790         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
33791         Likewise.
33792
33793 2010-05-04  Jim Meyering  <meyering@redhat.com>
33794
33795         gendocs.sh: make its "-s FILE" option more useful
33796         * build-aux/gendocs.sh: When honoring the -s FILE option, update
33797         $PACKAGE to reflect the probably-different basename of "FILE".
33798
33799 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
33800
33801         bootstrap: don't ignore download_po_files failure
33802         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
33803         failure.
33804
33805 2010-05-03  Jim Meyering  <meyering@redhat.com>
33806
33807         maint.mk: allow to pass options to gendocs.sh
33808         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
33809         (gendocs_options_): New overridable variable.
33810
33811         gnu-web-doc-update: don't ignore configure or build failure
33812         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
33813
33814         announce-gen: backslash-escape '@'s in --help output
33815         * build-aux/announce-gen: Fix syntax errors.
33816
33817         maint.mk, announce-gen: allow project-specific announcement mail headers
33818         * top/maint.mk (translation_project_): Define default.
33819         (announcement_Cc_, announcement_mail_headers_): Likewise.
33820         (announcement): Invoke announce-gen with new --mail-headers option.
33821         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
33822
33823         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
33824         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
33825         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
33826         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
33827         line in the "err2" output file when running "make check" in verbose
33828         mode (i.e., with set -x enabled).
33829
33830 2010-05-03  Bruno Haible  <bruno@clisp.org>
33831
33832         wctob: Fix for weird platforms.
33833         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
33834         argument value.
33835
33836 2010-05-03  Jim Meyering  <meyering@redhat.com>
33837
33838         maint.mk: prohibit unwarranted use of <strings.h>
33839         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
33840         strings.h in a file that does not also use strcasecmp, strncasecmp,
33841         ffs or ffsll.
33842
33843         maint.mk: remove obsolete comments
33844         * top/maint.mk: Remove stale, commented-out rules.
33845
33846 2010-05-02  Bruno Haible  <bruno@clisp.org>
33847
33848         wcwidth: Declare also when it's aliased.
33849         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
33850         macro.
33851
33852 2010-05-02  Bruno Haible  <bruno@clisp.org>
33853
33854         Fix regression from 2010-04-25.
33855         * gnulib-tool (func_modules_transitive_closure): Check the status of
33856         all modules, not only of the tests that are of the form foo-tests where
33857         foo is a module.
33858
33859 2010-05-02  Bruno Haible  <bruno@clisp.org>
33860
33861         wctob: Work around nasty Cygwin 1.7.2 bug.
33862         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
33863         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
33864
33865 2010-05-01  Bruno Haible  <bruno@clisp.org>
33866
33867         fpurge: Sharper test.
33868         * tests/test-fpurge.c (main): Add one more ftell check.
33869         * modules/fpurge-tests (Depends-on): Add ftell.
33870         Suggested by Eric Blake.
33871
33872 2010-05-01  Bruno Haible  <bruno@clisp.org>
33873
33874         ftello: Another test.
33875         * tests/test-ftello3.c: New file.
33876         * modules/ftello-tests (Files): Add it.
33877         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33878         MOSTLYCLEANFILES.
33879
33880         ftell: Another test.
33881         * tests/test-ftell3.c: New file.
33882         * modules/ftell-tests (Files): Add it.
33883         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33884         MOSTLYCLEANFILES.
33885
33886 2010-05-01  Bruno Haible  <bruno@clisp.org>
33887
33888         ftell, ftello: Work around Solaris bug.
33889         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
33890         * lib/ftello.c: Include stdio-impl.h.
33891         (ftello): On Solaris, when _IOWRT is set, compute the result without
33892         looking at _IOREAD.
33893         * modules/ftello (Files): Add lib/stdio-impl.h.
33894         * doc/posix-functions/ftell.texi: Mention Solaris bug.
33895         * doc/posix-functions/ftello.texi: Likewise.
33896         Reported by Eric Blake.
33897
33898 2010-05-01  Bruno Haible  <bruno@clisp.org>
33899
33900         freading: Adapt to special meaning of _IOREAD flag on Solaris.
33901         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
33902         the _IOWRT flag is also set.
33903
33904 2010-05-01  Bruno Haible  <bruno@clisp.org>
33905
33906         Fix doc about a HP-UX stdio bug.
33907         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
33908         * doc/posix-functions/ftello.texi: Likewise.
33909
33910 2010-05-01  Bruno Haible  <bruno@clisp.org>
33911
33912         lseek test: Fix failure on Solaris.
33913         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
33914         output.
33915
33916 2010-04-30  Jim Meyering  <meyering@redhat.com>
33917
33918         bootstrap: don't ignore failure to generate po*/Makevars
33919         * build-aux/bootstrap (with_gettext): Don't ignore failure
33920         to create po/Makevars or runtime-po/Makevars.
33921
33922 2010-04-29  Eric Blake  <eblake@redhat.com>
33923
33924         headers: relax license to LGPLv2+
33925         * modules/fcntl-h (License): Relax license.
33926         * modules/getopt-posix (License): Likewise.
33927         * modules/locale (License): Likewise.
33928         * modules/math (License): Likewise.
33929         * modules/pty (License): Likewise.
33930         * modules/sched (License): Likewise.
33931         * modules/search (License): Likewise.
33932         * modules/spawn (License): Likewise.
33933         * modules/stdarg (License): Likewise.
33934         * modules/sysexits (License): Likewise.
33935
33936 2010-04-29  Jim Meyering  <meyering@redhat.com>
33937
33938         inttypes: relax license to LGPLv2+
33939         * modules/inttypes (License): Relax license.
33940
33941 2010-04-29  Simon Josefsson  <simon@josefsson.org>
33942
33943         * top/maint.mk (indent): Run twice to produce idempotent results.
33944
33945 2010-04-28  Bruno Haible  <bruno@clisp.org>
33946
33947         getdate: Generate getdate.c in the source directory.
33948         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
33949         MOSTLYCLEANFILES.
33950         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
33951
33952 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
33953
33954         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
33955         is not declared as a const *; avoid warnings in that case.
33956
33957 2010-04-28  Eric Blake  <eblake@redhat.com>
33958
33959         canonicalize-lgpl: avoid compiler warning
33960         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
33961         declaration' / 'extraneous semicolon' warning with some compilers.
33962         Reported by Andreas Gruenbacher.
33963
33964 2010-04-28  Jim Meyering  <meyering@redhat.com>
33965
33966         init.sh: ensure a more reliable exit status when exiting via trap
33967         * tests/init.sh (setup_): Don't rely on $? in signal handler.
33968         Inspired by patches from Dmitry V. Levin.
33969         Also trap on signal 3 (SIGQUIT).
33970
33971 2010-04-27  Bruno Haible  <bruno@clisp.org>
33972
33973         Update doc about utimes().
33974         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
33975         'utimens' module.
33976         Reported by Andreas Gruenbacher <agruen@suse.de>.
33977
33978 2010-04-27  Eric Blake  <eblake@redhat.com>
33979
33980         full-read, full-write: relax license
33981         * modules/full-read (License): Drop to LGPLv2+.
33982         * modules/full-write (License): Likewise.
33983         * modules/safe-read (License): Likewise.
33984         * modules/safe-write (License): Likewise.
33985
33986         pthread: mention library for linking
33987         * modules/pthread (Link): Mention $(LIB_PTHREAD).
33988
33989 2010-04-27  Jim Meyering  <meyering@redhat.com>
33990
33991         maint.mk: fix a bug introduced in last change
33992         * top/maint.mk (gl_assured_headers_): Now that all names are on
33993         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
33994         is not anchored to end of word, it should be adequate.
33995
33996         maint.mk: avoid side-effect in latest syntax-check
33997         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
33998         to run commands via $(shell...), and hence to incur cost only when
33999         the new rule is actually run.
34000
34001         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
34002         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
34003         and use that to create a regexp used to detect all #if HAVE_..._H uses.
34004         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
34005         (gl_assured_headers_, az_, AZ_): Define.
34006         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
34007
34008 2010-04-26  Jim Meyering  <jim@meyering.net>
34009             Bruno Haible  <bruno@clisp.org>
34010
34011         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
34012         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
34013         Prompted by an exchange with Gilles Espinasse.
34014
34015 2010-04-26  Jim Meyering  <meyering@redhat.com>
34016
34017         git-version-gen: aesthetic tweak
34018         * build-aux/git-version-gen: Use "$nl" rather than a literal,
34019         so that the command remains on a single line.
34020
34021 2010-04-26  Eric Blake  <eblake@redhat.com>
34022
34023         git-version-gen: allow use on EBCDIC hosts
34024         * build-aux/git-version-gen (dirty): Use literal rather than tying
34025         ourselves to ascii.
34026         Reported by Steve Goetze.
34027
34028 2010-04-25  Bruno Haible  <bruno@clisp.org>
34029
34030         netdb: Add support for GNULIB_POSIXCHECK.
34031         * lib/netdb.in.h: Include warn-on-use.h.
34032         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
34033         functions are used when GNULIB_POSIXCHECK is defined and the
34034         getaddrinfo module is not in use.
34035         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
34036         freeaddrinfo, gai_strerror, getnameinfo are declared.
34037         * modules/netdb (Depends-on): Add warn-on-use.
34038         (Makefile.am): Include warn-on-use.h in netdb.h.
34039
34040 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
34041
34042         build: avoid "make check" failure without .git/ directory
34043         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
34044         there is no .git/ directory.
34045
34046 2010-04-25  Bruno Haible  <bruno@clisp.org>
34047
34048         ptsname: Fix misuse of ttyname_r.
34049         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
34050         of errno.
34051
34052 2010-04-25  Bruno Haible  <bruno@clisp.org>
34053
34054         ttyname_r: Make it work on Solaris 10.
34055         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
34056         if the system function has the POSIX declaration. Test whether the
34057         function fails if the buffer is less than 128 bytes large.
34058         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
34059         system's ttyname_r function. Provide a reasonably large buffer.
34060         * modules/ttyname_r (Depends-on): Add extensions.
34061         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
34062
34063 2010-04-25  Bruno Haible  <bruno@clisp.org>
34064
34065         Use the 'extensions' module for some more functions on Solaris.
34066         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
34067         module.
34068         * doc/posix-functions/ctime_r.texi: Likewise.
34069         * doc/posix-functions/getgrgid_r.texi: Likewise.
34070         * doc/posix-functions/getgrnam_r.texi: Likewise.
34071         * doc/posix-functions/getpwnam_r.texi: Likewise.
34072         * doc/posix-functions/getpwuid_r.texi: Likewise.
34073         * doc/posix-functions/readdir_r.texi: Likewise.
34074         * doc/posix-functions/sigwait.texi: Likewise.
34075         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
34076         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
34077
34078 2010-04-25  Bruno Haible  <bruno@clisp.org>
34079
34080         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
34081         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
34082         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
34083         * lib/ttyname_r.c: Include <limits.h>.
34084         (ttyname_r): Define using the system's ttyname_r function, if it exists
34085         and not on Solaris.
34086         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
34087         set.
34088         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
34089         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
34090         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
34091         Reported by Simon Josefsson.
34092
34093 2010-04-25  Bruno Haible  <bruno@clisp.org>
34094
34095         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
34096         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
34097         * doc/posix-functions/ctime_r.texi: Likewise.
34098         * doc/posix-functions/getgrgid_r.texi: Likewise.
34099         * doc/posix-functions/getgrnam_r.texi: Likewise.
34100         * doc/posix-functions/getlogin_r.texi: Likewise.
34101         * doc/posix-functions/getpwnam_r.texi: Likewise.
34102         * doc/posix-functions/getpwuid_r.texi: Likewise.
34103         * doc/posix-functions/readdir_r.texi: Likewise.
34104         * doc/posix-functions/sigwait.texi: Likewise.
34105         * doc/posix-functions/ttyname_r.texi: Likewise.
34106         Reported by Simon Josefsson.
34107
34108 2010-04-25  Bruno Haible  <bruno@clisp.org>
34109
34110         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
34111         * gnulib-tool (func_usage): Document that --with-*-tests options apply
34112         also to --create-testdir.
34113         (func_acceptable): Don't consider the status of *-tests modules here.
34114         (func_modules_transitive_closure): Consider it here, before including a
34115         test module.
34116         (func_import, func_create_testdir): Set inc_all_direct_tests,
34117         inc_all_indirect_tests.
34118         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
34119         --create-testdir and --create-megatestdir.
34120
34121 2010-04-25  Bruno Haible  <bruno@clisp.org>
34122
34123         gnulib-tool: Add --without-*-tests options.
34124         * gnulib-tool (func_usage): Document the --without-*-tests options.
34125         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
34126         excl_unportable_tests): New variables.
34127         Fail if they are specified with --import or --update.
34128         (func_acceptable): Respect the excl_*_tests variables.
34129         (func_import): Set the excl_*_tests variables to empty.
34130
34131 2010-04-25  Simon Josefsson  <simon@josefsson.org>
34132             Bruno Haible  <bruno@clisp.org>
34133
34134         Work around a MacOS X 10.4 bug with openpty.
34135         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
34136         * tests/test-openpty.c (main): Close the master side explicitly.
34137
34138 2010-04-25  Bruno Haible  <bruno@clisp.org>
34139
34140         strnlen: Fix a C++ test error on MacOS X and Solaris.
34141         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
34142         the function is not declared.
34143         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
34144         Simon Josefsson.
34145
34146 2010-04-24  Bruno Haible  <bruno@clisp.org>
34147
34148         Avoid a gcc warning.
34149         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
34150         of correct type for %08lx directive.
34151         Reported by Eric Blake.
34152
34153 2010-04-24  Bruno Haible  <bruno@clisp.org>
34154
34155         vasnprintf: Correct errno value in case of out-of-memory.
34156         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
34157         or sprintf. Use the errno value from SNPRINTF or sprintf.
34158         Reported by Ian Beckwith <ianb@erislabs.net>.
34159
34160 2010-04-24  Bruno Haible  <bruno@clisp.org>
34161
34162         ansi-c++-opt: Find correct compiler when cross-compiling.
34163         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
34164         AC_CHECK_PROGS.
34165         Reported by Simon Josefsson.
34166
34167 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
34168
34169         vc-list-files: Add support for subversion
34170         * build-aux/vc-list-files: Use "svn list" to generate the list of
34171         files controlled by subversion.
34172
34173 2010-04-23  Jim Meyering  <meyering@redhat.com>
34174
34175         vc-list-files tests: convert to use init.sh
34176         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
34177         path_prepend_.
34178         Use Exit, not exit.
34179         Use skip_ rather than open coding it.
34180         Remove trap set-up and compare definitions.
34181         * tests/test-vc-list-files-git.sh: Likewise.
34182         * modules/vc-list-files-tests (Files): Add tests/init.sh.
34183
34184 2010-04-22  Simon Josefsson  <simon@josefsson.org>
34185
34186         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
34187         backup files.
34188
34189 2010-04-21  Simon Josefsson  <simon@josefsson.org>
34190
34191         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
34192
34193 2010-04-20  Eric Blake  <eblake@redhat.com>
34194
34195         tests: be robust to ignored SIGPIPE
34196         * tests/test-select-in.sh: Consume all output.
34197         * tests/test-lseek.sh: Check correct exit status, while avoiding
34198         EPIPE.
34199
34200 2010-04-20  Simon Josefsson  <simon@josefsson.org>
34201             Bruno Haible  <bruno@clisp.org>
34202
34203         visibility: Don't use -fvisibility if it leads to a warning.
34204         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
34205         yes, don't pretend that visibility works if it leads to a warning.
34206         Reported by Mike Gran <spk121@yahoo.com>.
34207
34208 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
34209
34210         * build-aux/bootstrap: Use "git -h" for testing for supported options
34211         instead of "git --help".  The short-form option only shows a summary,
34212         and doesn't layout the full man page.  Grep for the full option name
34213         in the summary, too.
34214
34215 2010-04-19  Bruno Haible  <bruno@clisp.org>
34216
34217         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
34218         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
34219         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
34220         mention of RELOCATABLE_STRIP.
34221         Reported by Sylvain Beucler <beuc@beuc.net>.
34222
34223 2010-04-19  Bruno Haible  <bruno@clisp.org>
34224
34225         * lib/diffseq.h: Fix typo in comment.
34226         Reported by Eric Blake.
34227
34228 2010-04-19  Bruno Haible  <bruno@clisp.org>
34229
34230         ioctl: Move autoconf macro to a .m4 file.
34231         * m4/ioctl.m4: New file, extracted from modules/ioctl.
34232         * modules/ioctl (Files): Add it.
34233         (configure.ac): Simply invoke gl_FUNC_IOCTL.
34234         Reported by Ian Beckwith <ianb@erislabs.net>.
34235
34236 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
34237             Bruno Haible  <bruno@clisp.org>
34238
34239         diffseq: Accommodate use-case with abstract arrays.
34240         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
34241         is not defined.
34242         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
34243         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
34244
34245 2010-04-18  Bruno Haible  <bruno@clisp.org>
34246
34247         * doc/posix-headers/stdbool.texi: More precise wording.
34248
34249 2010-04-17  Jim Meyering  <meyering@redhat.com>
34250
34251         maint.mk: use gnu-style indentation in an embedded perl script
34252         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
34253         Rename variable: s/two/last_two_bytes/
34254
34255 2010-04-16  Eric Blake  <eblake@redhat.com>
34256
34257         test-stdbool: skip test that fails with Solaris CC
34258         * tests/test-stdbool.c (f): Skip test that causes compilation
34259         error under buggy C++ compiler.
34260         * lib/stdbool.in.h: Document the limitation.
34261         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
34262
34263         setenv: allow compilation with C++
34264         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
34265         register keyword.
34266
34267         stdint: allow test to pass with C++
34268         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
34269
34270         getopt: allow compilation with C++
34271         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
34272         struct.
34273         * lib/getopt.c (_getopt_internal_r): Use correct type.
34274         Reported by Dagobert Michelson, via Joel E. Denny.
34275
34276 2010-04-16  Bruno Haible  <bruno@clisp.org>
34277
34278         Override netdb.h always.
34279         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
34280         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
34281         Reported by Ludovic Courtès <ludo@gnu.org>.
34282
34283 2010-04-15  Bruno Haible  <bruno@clisp.org>
34284
34285         openpty: Fix mistake from 2010-03-21.
34286         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
34287         Reported by Simon Josefsson.
34288
34289 2010-04-15  Eric Blake  <eblake@redhat.com>
34290
34291         test-forkpty: fix expected signature
34292         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
34293         Reported by Simon Josefsson.
34294
34295 2010-04-15  Jim Meyering  <meyering@redhat.com>
34296
34297         maint.mk: texinfo_suffix_re_: correct the default regexp
34298         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
34299
34300         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
34301         make it configurable via texinfo_suffix_re_.
34302
34303 2010-04-14  Eric Blake  <eblake@redhat.com>
34304
34305         strtok_r: relax license to LGPLv2+
34306         * modules/strtok_r (License): Relax license.
34307         Reported by Matthias Bolte.
34308
34309 2010-04-14  Simon Josefsson  <simon@josefsson.org>
34310
34311         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
34312         version 1.4.4 by default instead of requiring the libgcrypt
34313         version used during build.  This makes it possible to use the
34314         application with older but still binary compatible libgcrypt
34315         versions.
34316
34317 2010-04-13  Eric Blake  <eblake@redhat.com>
34318
34319         getopt-gnu: match recent glibc fixes and posix ruling
34320         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
34321         '+' handling, when requesting extensions.
34322         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
34323         'W;' handling.
34324         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
34325         * doc/posix-functions/getopt.texi (getopt): Document this.
34326         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34327         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34328         Likewise.
34329
34330         getopt: merge bug fixes from glibc
34331         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
34332         diagnostics.  Honor '+:' correctly.  Reject ';'.
34333
34334         getopt-posix: detect MacOS bug
34335         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
34336         optind when missing a required argument.
34337         * doc/posix-functions/getopt.texi (getopt): Document the bug.
34338         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34339         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34340         Likewise.
34341
34342         getopt-posix: avoid spurious failure on Solaris
34343         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
34344         an indicator that setting optind=1 is sufficient for reset.
34345
34346         getopt-posix: avoid spurious failure on FreeBSD
34347         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
34348         in POSIX mode, since the m4 test uses it.
34349
34350         gnulib-tool: silence warning on BSD sh
34351         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
34352
34353 2010-04-13  Jim Meyering  <meyering@redhat.com>
34354
34355         doc: users.txt: GNU patch now uses gnulib
34356         * users.txt: Add patch.
34357
34358 2010-04-12  Jim Meyering  <meyering@redhat.com>
34359
34360         maint.mk: generate more concise timing data for syntax-check rules
34361         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
34362         " done" from each line that reports a syntax-check test duration.
34363
34364 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
34365
34366         git-version-gen: use "git update-index..." rather than "git status"
34367         * build-aux/git-version-gen: Use git update-index --refresh, not
34368         "git status".  With some versions of git, "git status" would fail
34369         to update the index and result in an unwarranted "-dirty" suffix.
34370
34371 2010-04-11  Jim Meyering  <meyering@redhat.com>
34372
34373         openat: correct formatting (no semantic change)
34374         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
34375         Suggested by Bruno Haible.
34376
34377 2010-04-11  Bruno Haible  <bruno@clisp.org>
34378
34379         Stricter declaration checking in testdirs.
34380         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34381         If for_tests is true, augment AM_CPPFLAGS to define
34382         GNULIB_STRICT_CHECKING.
34383         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
34384         GNULIB_STRICT_CHECKING is defined, verify that the function is
34385         declared.
34386
34387 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
34388             Bruno Haible  <bruno@clisp.org>
34389
34390         libunistring: Improve configure output.
34391         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
34392         Don't say "consider installing GNU libunistring" when checking again
34393         with libiconv.
34394
34395 2010-04-11  Bruno Haible  <bruno@clisp.org>
34396
34397         libunistring: Correct value of $LTLIBUNISTRING.
34398         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
34399         correct the value of $LTLIBUNISTRING.
34400
34401 2010-04-11  Bruno Haible  <bruno@clisp.org>
34402
34403         havelib: Add static libraries to LIBS in the right order.
34404         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
34405         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
34406
34407 2010-04-11  Bruno Haible  <bruno@clisp.org>
34408
34409         libunistring: Detect libunistring also when it depends on libiconv.
34410         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
34411         the second AC_LIB_HAVE_LINKFLAGS invocation.
34412
34413 2010-04-11  James Youngman  <jay@gnu.org>
34414
34415         close-stream: declare local scalars to be "const"
34416         * lib/close-stream.c (close_stream): Make boolean variables const
34417         to document the fact that we set but do not change them.
34418
34419 2010-04-11  Bruno Haible  <bruno@clisp.org>
34420
34421         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
34422
34423 2010-04-11  Jim Meyering  <meyering@redhat.com>
34424
34425         maint.mk: don't include dist-check.mk
34426         * top/maint.mk: Remove bogus include directive.
34427
34428         maint.mk: improve empty-line-at-EOF check
34429         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
34430         solution, rather than tail+Perl-based one.  The latter would read
34431         a few kilobytes from the end of each file, and did not handle empty
34432         files properly.
34433
34434         maint.mk: print the elapsed time for each syntax-check rule
34435         * top/maint.mk (sc_m_rules_): Save start time in a file.
34436         (sc_z_rules_): New rules: remove temp file and print elapsed time.
34437         (local-check): Interpose the .z rules
34438
34439 2010-04-11  Jim Meyering  <meyering@redhat.com>
34440
34441         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
34442         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
34443         empty file with one that ends in an empty line.
34444
34445 2010-04-10  Bruno Haible  <bruno@clisp.org>
34446
34447         mkdir: Make it work on mingw64.
34448         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
34449         * lib/mkdir.c: Update comment.
34450         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
34451
34452 2010-04-10  Bruno Haible  <bruno@clisp.org>
34453
34454         Don't override improved macro from newer autoconf.
34455         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
34456         autoconf >= 2.62.
34457         Reported by Joel E. Denny <jdenny@clemson.edu>.
34458
34459 2010-04-10  Jim Meyering  <meyering@redhat.com>
34460
34461         maint.mk: new syntax-check rule: prohibit empty lines at end of file
34462         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
34463
34464         maint.mk: correct a diagnostic
34465         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
34466         in diagnostic; now use $prohibit.
34467
34468 2010-04-10  Bruno Haible  <address@hidden>
34469
34470         fchownat: Fix a C++ test error on Solaris 8.
34471         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
34472         the function does not exist.
34473
34474 2010-04-10  Bruno Haible  <bruno@clisp.org>
34475
34476         vasnprintf: Add more tests.
34477         * tests/test-vasnprintf-posix.c: Include <errno.h>.
34478         (test_function): Test converting an invalid wide string.
34479
34480         vasnprintf: Correct handling of unconvertible wide string arguments.
34481         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
34482         VASNPRINTF.
34483         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
34484         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
34485         smaller than the expected maximum need for the directive. Set errno to
34486         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
34487         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
34488         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
34489         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
34490         * modules/vasnprintf (Files): Add m4/printf.m4.
34491         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34492
34493 2010-04-10  Bruno Haible  <bruno@clisp.org>
34494
34495         vasnprintf: Fix crash in %ls directive.
34496         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
34497         string is passed as argument to %ls, with no precision and no width.
34498         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34499
34500 2010-04-10  Bruno Haible  <bruno@clisp.org>
34501
34502         vasnprintf: Fix multiple test failures on mingw.
34503         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
34504         _snprintf, or snwprintf, not _snwprintf.
34505
34506 2010-04-10  Bruno Haible  <bruno@clisp.org>
34507
34508         write: Fix a C++ test error on mingw.
34509         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
34510
34511 2010-04-10  Bruno Haible  <bruno@clisp.org>
34512
34513         vasnprintf test: Reduce code duplication.
34514         * tests/test-vasnprintf.c (test_function): New function, extracted from
34515         test_vasnprintf.
34516         (test_vasnprintf, test_asnprintf): Invoke it.
34517
34518 2010-04-10  Bruno Haible  <bruno@clisp.org>
34519
34520         strnlen: Fix warning in C++ mode on MacOS X.
34521         * lib/string.in.h (strnlen): Use the modern idiom.
34522         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
34523         defining strnlen as a macro already in <config.h>.
34524         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34525         REPLACE_STRNLEN.
34526         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
34527         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34528
34529 2010-04-08  James Youngman  <jay@gnu.org>
34530
34531         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
34532         the example.
34533
34534 2010-04-09  Jim Meyering  <meyering@redhat.com>
34535
34536         maint.mk: print better diagnostic when there is no $(_hv_file)
34537         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
34538         announce that when $(_hv_file) (aka help-version) does not exist.
34539
34540         init.sh: run tr in the "C" locale to avoid multibyte interpretation
34541         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
34542         not try to interpret its random input bytes.  Jarno Rajahalme reported
34543         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
34544         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
34545         (mktempd_): Likewise, just in case.
34546
34547         ftruncate: add two years to projected module removal date: 2012
34548         * m4/ftruncate.m4: Adjust comments.
34549
34550         ftruncate: mark module as obsolete; even MinGW provides it, now
34551         * modules/ftruncate (Status): Obsolete.
34552         (Notice): Say that.
34553         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
34554         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
34555
34556 2010-04-08  Bruno Haible  <bruno@clisp.org>
34557
34558         Fix side effects from tests-related modules.
34559         * modules/dprintf-posix (Comment): New section.
34560         * modules/fprintf-posix (Comment): Likewise.
34561         * modules/obstack-printf-posix (Comment): Likewise.
34562         * modules/printf-posix (Comment): Likewise.
34563         * modules/snprintf-posix (Comment): Likewise.
34564         * modules/sprintf-posix (Comment): Likewise.
34565         * modules/vasnprintf-posix (Comment): Likewise.
34566         * modules/vasprintf-posix (Comment): Likewise.
34567         * modules/vdprintf-posix (Comment): Likewise.
34568         * modules/vfprintf-posix (Comment): Likewise.
34569         * modules/vprintf-posix (Comment): Likewise.
34570         * modules/vsnprintf-posix (Comment): Likewise.
34571         * modules/vsprintf-posix (Comment): Likewise.
34572         * modules/xprintf-posix (Comment): Likewise.
34573         * modules/xvasprintf-posix (Comment): Likewise.
34574         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
34575         * modules/floorf-tests (Depends-on): Likewise.
34576         * modules/round-tests (Depends-on): Likewise.
34577         * modules/roundf-tests (Depends-on): Likewise.
34578         * modules/trunc-tests (Depends-on): Likewise.
34579         * modules/truncf-tests (Depends-on): Likewise.
34580         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
34581         'fprintf-posix' module is not present.
34582         * tests/test-floorf2.c (check): Likewise.
34583         * tests/test-trunc2.c (check): Likewise.
34584         * tests/test-truncf2.c (check): Likewise.
34585         * tests/test-round2.c (equal): Likewise.
34586         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34587
34588 2010-04-07  Karl Berry  <karl@gnu.org>
34589
34590         * config/srclist.txt,
34591         * config/srclistvars.sh,
34592         * config/srclist-update: doc fixes.
34593
34594 2010-04-07  Jim Meyering  <meyering@redhat.com>
34595
34596         maint.mk: add a PATH crosschecking syntax-check rule
34597         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
34598         Useful if you use a test like the one in help-version (coreutils,
34599         diffutils, grep, gzip) that ensures $(VERSION) matches what is
34600         printed by prog --version.
34601
34602 2010-04-06  Bruno Haible  <bruno@clisp.org>
34603
34604         Fix link error on mingw.
34605         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
34606         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
34607
34608 2010-04-06  Bruno Haible  <bruno@clisp.org>
34609
34610         Assume rmdir exists.
34611         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
34612
34613 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
34614
34615         doc: update users.txt
34616         * users.txt: Add gcal.
34617
34618 2010-04-06  Jim Meyering  <meyering@redhat.com>
34619
34620         init.sh: simply unset TMPDIR rather than risking env -i
34621         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
34622         although it probably works fine on all Unix-based systems, some
34623         systems (Cygwin?) cannot tolerate a totally cleared environment.
34624         Suggestion from Eric Blake.
34625
34626 2010-04-06  Jim Meyering  <meyering@redhat.com>
34627
34628         init.sh: portability fix: use env's POSIX-specified -i option not -u
34629         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
34630         than unportable env -u.  Solaris 5.11's env lacks support for -u.
34631
34632 2010-04-05  Bruno Haible  <bruno@clisp.org>
34633
34634         btowc: Work around Cygwin 1.7.2 bug.
34635         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
34636         does not map NUL to 0.
34637         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
34638
34639 2010-04-05  Bruno Haible  <bruno@clisp.org>
34640
34641         Make the multithread modules work on Cygwin 1.7.2.
34642         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
34643         imported symbols can be declared weak, so that it returns "no" on
34644         Cygwin 1.7.2.
34645
34646 2010-04-05  Bruno Haible  <bruno@clisp.org>
34647
34648         Use the module 'strncat'.
34649         * modules/unistr/u8-strncat (Depends-on): Add strncat.
34650
34651         Tests for module 'strncat'.
34652         * modules/strncat-tests: New file.
34653         * tests/test-strncat.c: New file.
34654
34655         New module 'strncat'.
34656         * lib/string.in.h (strncat): New declaration.
34657         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
34658         * m4/strncat.m4: New file, based on m4/memchr.m4.
34659         * modules/strncat: New file.
34660         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
34661         is declared.
34662         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
34663         REPLACE_STRNCAT.
34664         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
34665         REPLACE_STRNCAT.
34666         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
34667         module.
34668         * tests/test-string-c++.cc: Check signature of strncat.
34669
34670 2010-04-05  Jim Meyering  <meyering@redhat.com>
34671
34672         xstrtoumax-tests: convert to use init.sh
34673         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
34674         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34675         Use Exit, not exit.
34676         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34677
34678         xstrtoimax-tests: convert to use init.sh
34679         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
34680         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34681         Use Exit, not exit.
34682         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34683
34684 2010-04-05  Bruno Haible  <bruno@clisp.org>
34685
34686         sys_socket: Avoid #define replacements in C++ mode.
34687         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
34688         warning to the function if possible, rather than #defining the symbol
34689         to a dysfunctional alias.
34690
34691 2010-04-05  Bruno Haible  <bruno@clisp.org>
34692
34693         fseeko: Fix C++ test error on mingw.
34694         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
34695         gl_FUNC_FSEEKO.
34696         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
34697         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
34698         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
34699         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
34700
34701 2010-04-05  Bruno Haible  <bruno@clisp.org>
34702
34703         duplocale: Improve test output.
34704         * tests/test-duplocale.c (main): Print reason for skipped test.
34705
34706 2010-04-05  Bruno Haible  <bruno@clisp.org>
34707
34708         Assume rmdir exists.
34709         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
34710         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
34711
34712 2010-04-05  Bruno Haible  <bruno@clisp.org>
34713
34714         Fix link error on Solaris 8 with cc.
34715         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
34716
34717 2010-04-05  Bruno Haible  <bruno@clisp.org>
34718
34719         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34720         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
34721
34722 2010-04-05  Bruno Haible  <bruno@clisp.org>
34723
34724         vasprintf: Update documentation.
34725         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
34726
34727 2010-04-05  Bruno Haible  <bruno@clisp.org>
34728
34729         ptsname: Improve test.
34730         * tests/test-ptsname.c (main): Also try the various master names of BSD
34731         systems.
34732
34733 2010-04-05  Bruno Haible  <bruno@clisp.org>
34734
34735         memchr: Avoid a possible C++ test error.
34736         * lib/string.in.h (memchr): Provide declaration if function is missing.
34737         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
34738         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
34739         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
34740         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
34741
34742 2010-04-05  Bruno Haible  <bruno@clisp.org>
34743
34744         strtok_r: Improve idiom.
34745         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
34746         AC_LIBOBJ is used.
34747
34748 2010-04-05  Bruno Haible  <bruno@clisp.org>
34749
34750         strdup: Improve idiom.
34751         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
34752         AC_LIBOBJ is used.
34753         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
34754         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
34755         when AC_LIBOBJ is used.
34756
34757 2010-04-05  Bruno Haible  <bruno@clisp.org>
34758
34759         mbsinit, mbrtowc, wcrtomb: Improve idioms.
34760         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
34761         don't set REPLACE_MBSINIT to 1.
34762         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
34763         don't set REPLACE_MBRTOWC to 1.
34764         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
34765         exist, don't set REPLACE_MBSRTOWCS to 1.
34766         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
34767         exist, don't set REPLACE_MBSNRTOWCS to 1.
34768         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
34769         don't set REPLACE_WCRTOMB to 1.
34770         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
34771         exist, don't set REPLACE_WCSRTOMBS to 1.
34772         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
34773         exist, don't set REPLACE_WCSNRTOMBS to 1.
34774
34775 2010-04-05  Bruno Haible  <bruno@clisp.org>
34776
34777         ldexpl: Improve idiom.
34778         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
34779         make sure to set HAVE_DECL_LDEXPL to 0.
34780
34781 2010-04-05  Jim Meyering  <meyering@redhat.com>
34782
34783         xstrtol-tests: convert to use init.sh
34784         * modules/xstrtol-tests (Files): Add tests/init.sh.
34785         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34786         Use Exit, not exit.
34787         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34788
34789         atexit-tests: convert to use init.sh
34790         * modules/atexit-tests (Files): Add tests/init.sh.
34791         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34792         Use Exit, not exit.
34793         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34794
34795         init.sh: fix typo
34796         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
34797
34798         init.sh: make it easier for a test script to write to the tty, ...
34799         when using automake's parallel-tests mode.
34800         * tests/init.sh (stderr_fileno_): Define overridable variable.
34801         (warn_): New function, to use it.
34802         (fail_, skip_, framework_failure_): Use warn_.
34803
34804 2010-04-04  Bruno Haible  <bruno@clisp.org>
34805
34806         btowc: Avoid warning.
34807         * lib/btowc.c: Include <stdlib.h>.
34808         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
34809
34810 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34811             Bruno Haible  <bruno@clisp.org>
34812
34813         wchar: Port to NetBSD 1.5.
34814         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
34815         * lib/wctype.in.h (WEOF): Likewise.
34816
34817 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34818             Bruno Haible  <bruno@clisp.org>
34819
34820         Port extended stdio to NetBSD 1.5.
34821         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
34822         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
34823         older.
34824
34825 2010-04-04  Bruno Haible  <bruno@clisp.org>
34826
34827         string: Remove unused substitution.
34828         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
34829         HAVE_DECL_STRERROR.
34830         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
34831
34832 2010-04-04  Bruno Haible  <bruno@clisp.org>
34833
34834         strtod: Avoid a possible C++ test error.
34835         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
34836         set REPLACE_STRTOD.
34837
34838 2010-04-04  Bruno Haible  <bruno@clisp.org>
34839
34840         strerror: Update documentation.
34841         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
34842
34843 2010-04-04  Bruno Haible  <bruno@clisp.org>
34844
34845         stdio: Fix some C++ test errors on Solaris 8 with GCC.
34846         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
34847         _GL_CXXALIAS_SYS_CAST.
34848
34849 2010-04-04  Bruno Haible  <bruno@clisp.org>
34850
34851         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34852         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
34853         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
34854         REPLACE_FREXPL to 1.
34855         * doc/posix-functions/frexpl.texi: Update documentation.
34856
34857 2010-04-04  Bruno Haible  <bruno@clisp.org>
34858
34859         math: Fix some C++ test errors on Solaris 8 and Cygwin.
34860         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
34861
34862 2010-04-04  Bruno Haible  <bruno@clisp.org>
34863
34864         Implement nanosleep for native Windows.
34865         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
34866
34867 2010-04-04  Bruno Haible  <bruno@clisp.org>
34868
34869         math: Fix some C++ test errors on Solaris 8.
34870         * lib/math.in.h (truncf, trunc): Use simpler idiom.
34871
34872 2010-04-04  Bruno Haible  <bruno@clisp.org>
34873
34874         math: Fix some C++ test errors on Cygwin.
34875         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
34876         truncl): Provide declaration if the system does not have it.
34877         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
34878         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
34879         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
34880         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
34881         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
34882         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
34883         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
34884         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
34885         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
34886         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
34887         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
34888         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
34889         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
34890         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
34891         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
34892         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
34893         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
34894         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34895         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34896         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
34897         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34898         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34899
34900 2010-04-04  Bruno Haible  <bruno@clisp.org>
34901
34902         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
34903         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34904         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
34905         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
34906         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
34907         * m4/isinf.m4 (gl_ISINF): Likewise.
34908         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34909
34910 2010-04-04  Bruno Haible  <bruno@clisp.org>
34911
34912         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
34913         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34914
34915 2010-04-04  Bruno Haible  <bruno@clisp.org>
34916
34917         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
34918         * modules/tmpfile (configure.ac): Update.
34919
34920         tmpfile: Fix C++ test error on mingw.
34921         * lib/stdio.in.h (tmpfile): New declaration.
34922         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
34923         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
34924         * modules/tmpfile (Depends-on): Add stdio.
34925         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
34926         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
34927         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
34928         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
34929         REPLACE_TMPFILE.
34930         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
34931
34932 2010-04-04  Bruno Haible  <bruno@clisp.org>
34933
34934         ioctl: Fix C++ test error on mingw.
34935         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
34936         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
34937         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
34938
34939 2010-04-03  Bruno Haible  <bruno@clisp.org>
34940
34941         wcwidth: Fix C++ test error on mingw.
34942         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
34943         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
34944         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
34945
34946 2010-04-03  Bruno Haible  <bruno@clisp.org>
34947
34948         nanosleep: Fix C++ test error on mingw.
34949         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
34950         * lib/time.in.h (nanosleep): Use modern idiom.
34951         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
34952         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
34953         REPLACE_NANOSLEEP to 1.
34954         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
34955         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
34956
34957 2010-04-03  Bruno Haible  <bruno@clisp.org>
34958
34959         strptime: Fix C++ test error on mingw.
34960         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
34961         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
34962         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
34963         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
34964         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
34965         not REPLACE_STRPTIME.
34966         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
34967         REPLACE_STRPTIME.
34968
34969 2010-04-03  Bruno Haible  <bruno@clisp.org>
34970
34971         timegm: Fix C++ test error on mingw.
34972         * lib/time.in.h (timegm): Use modern idiom.
34973         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
34974         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
34975         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
34976         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
34977
34978 2010-04-03  Bruno Haible  <bruno@clisp.org>
34979
34980         timegm: Assume declaration if function exists.
34981         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
34982         if it exists. Don't clobber ac_cv_func_timegm.
34983
34984 2010-04-03  Bruno Haible  <bruno@clisp.org>
34985
34986         time_r: Fix C++ test error on mingw.
34987         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
34988         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
34989         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
34990         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
34991         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
34992
34993 2010-04-03  Bruno Haible  <bruno@clisp.org>
34994
34995         time_r: Minor updates.
34996         * modules/time_r (Description): Mention the provided functions.
34997         * lib/time_r.c: Don't include <string.h>.
34998         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
34999         * doc/posix-functions/localtime_r.texi: Likewise.
35000
35001 2010-04-03  Bruno Haible  <bruno@clisp.org>
35002
35003         time: Fix regression introduced on 2010-03-08.
35004         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
35005         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
35006
35007 2010-04-03  Jim Meyering  <meyering@redhat.com>
35008
35009         maint.mk: don't silently disable project-specific syntax-check rules
35010         * top/maint.mk (_prohibit_regexp): Define, to help people realize
35011         that they need to convert their project-specific syntax-check rules
35012         to use the new _sc_search_regexp.
35013
35014 2010-04-03  Bruno Haible  <bruno@clisp.org>
35015
35016         fchdir: Fix regression introduced on 2010-03-08.
35017         * lib/unistd.in.h (fchdir): Fix declaration.
35018         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
35019         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
35020         REPLACE_FCHDIR.
35021         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
35022         REPLACE_FCHDIR.
35023
35024 2010-04-03  Bruno Haible  <bruno@clisp.org>
35025
35026         getpagesize: Fix C++ test error on mingw.
35027         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
35028         system does not declare the function.
35029         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
35030         declared.
35031         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35032         HAVE_DECL_GETPAGESIZE.
35033         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
35034
35035 2010-04-03  Bruno Haible  <bruno@clisp.org>
35036
35037         stdio: Make C++ tests work on mingw.
35038         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
35039         does not declare the function.
35040
35041 2010-04-03  Bruno Haible  <bruno@clisp.org>
35042
35043         ftello: Fix C++ test error on mingw.
35044         * lib/stdio.in.h (ftello): Use modern idiom.
35045         * lib/ftello.c (ftello): Renamed from rpl_ftello.
35046         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
35047         is missing and that it needs to be replaced.
35048         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
35049         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
35050         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
35051
35052 2010-04-03  Bruno Haible  <bruno@clisp.org>
35053
35054         fseeko: Fix C++ test error on mingw.
35055         * lib/stdio.in.h (fseeko): Use modern idiom.
35056         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
35057         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
35058         is missing and that it needs to be replaced.
35059         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
35060         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
35061         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
35062
35063 2010-04-03  Bruno Haible  <bruno@clisp.org>
35064
35065         mkstemp: Fix C++ test error on mingw.
35066         * lib/stdlib.in.h (mkstemp): Use modern idiom.
35067         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
35068         function is missing and that it needs to be replaced.
35069         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
35070         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
35071
35072 2010-04-03  Bruno Haible  <bruno@clisp.org>
35073
35074         stpncpy: Fix C++ test error on mingw.
35075         * lib/string.in.h (stpncpy): Use modern idiom.
35076         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
35077         function is missing and that it needs to be replaced.
35078         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35079         REPLACE_STPNCPY.
35080         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
35081
35082 2010-04-03  Bruno Haible  <bruno@clisp.org>
35083
35084         sys_stat: Fix C++ test error on mingw.
35085         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
35086         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
35087
35088 2010-04-03  Bruno Haible  <bruno@clisp.org>
35089
35090         pty: Update doc.
35091         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
35092
35093 2010-04-03  Bruno Haible  <bruno@clisp.org>
35094
35095         unistd: Fix C++ test error on mingw.
35096         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
35097
35098 2010-04-03  Bruno Haible  <bruno@clisp.org>
35099
35100         Update doc regarding mingw.
35101         * doc/glibc-functions/openpty.texi: Update regarding mingw.
35102         * doc/glibc-functions/login_tty.texi: Likewise.
35103         * doc/glibc-functions/forkpty.texi: Likewise.
35104
35105 2010-04-03  Bruno Haible  <bruno@clisp.org>
35106
35107         stdlib: Avoid compilation failure of c-strtold on mingw.
35108         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
35109
35110 2010-04-03  Bruno Haible  <bruno@clisp.org>
35111
35112         locale: Make C++ tests work on Cygwin and mingw.
35113         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
35114         cannot provide the function.
35115         Reported by Simon Josefsson.
35116
35117 2010-04-03  Bruno Haible  <bruno@clisp.org>
35118
35119         localename: Port to MacOS X 10.6.
35120         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
35121         memory layout of the locales in MacOS X 10.6 as well.
35122         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
35123
35124 2010-04-02  Bruno Haible  <bruno@clisp.org>
35125
35126         gnulib-tool: Ensure that long-running tests are executed last.
35127         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
35128         running tests after the one for the other tests.
35129
35130 2010-04-02  Bruno Haible  <bruno@clisp.org>
35131
35132         gnulib-tool: Ensure the tests in the main directory are executed first.
35133         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
35134         start with the current directory.
35135
35136 2010-04-02  Bruno Haible  <bruno@clisp.org>
35137
35138         Tests for module 'havelib', moved here from GNU gettext.
35139         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
35140         modifications.
35141         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
35142         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
35143         with modifications.
35144         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
35145         modifications.
35146         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
35147         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
35148         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
35149         with modifications.
35150         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
35151         with modifications.
35152         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
35153         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
35154         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
35155         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
35156         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
35157         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
35158         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
35159         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
35160         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
35161         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
35162         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
35163         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
35164         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
35165         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
35166         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
35167         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
35168         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
35169         with modifications.
35170         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
35171         with modifications.
35172         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
35173         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
35174         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
35175         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
35176         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
35177         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
35178         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
35179         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
35180         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
35181         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
35182         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
35183         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
35184         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
35185         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
35186         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
35187         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
35188         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
35189         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
35190         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
35191         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
35192         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
35193         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
35194         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
35195         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
35196         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
35197         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
35198         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
35199         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
35200         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
35201         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
35202         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
35203         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
35204         * tests/havelib/rpathx/rpathx.c: New file, from
35205         gettext/autoconf-lib-link.
35206         * tests/havelib/rpathx/Makefile.am: New file, from
35207         gettext/autoconf-lib-link.
35208         * tests/havelib/rpathx/configure.ac: New file, from
35209         gettext/autoconf-lib-link with modifications.
35210         * tests/havelib/rpathy/rpathy.c: New file, from
35211         gettext/autoconf-lib-link.
35212         * tests/havelib/rpathy/Makefile.am: New file, from
35213         gettext/autoconf-lib-link.
35214         * tests/havelib/rpathy/configure.ac: New file, from
35215         gettext/autoconf-lib-link with modifications.
35216         * tests/havelib/rpathz/rpathz.c: New file, from
35217         gettext/autoconf-lib-link.
35218         * tests/havelib/rpathz/Makefile.am: New file, from
35219         gettext/autoconf-lib-link.
35220         * tests/havelib/rpathz/configure.ac: New file, from
35221         gettext/autoconf-lib-link with modifications.
35222         * tests/havelib/rpathlx/usex.c: New file, from
35223         gettext/autoconf-lib-link.
35224         * tests/havelib/rpathlx/Makefile.am: New file, from
35225         gettext/autoconf-lib-link.
35226         * tests/havelib/rpathlx/configure.ac: New file, from
35227         gettext/autoconf-lib-link with modifications.
35228         * tests/havelib/rpathly/usey.c: New file, from
35229         gettext/autoconf-lib-link.
35230         * tests/havelib/rpathly/Makefile.am: New file, from
35231         gettext/autoconf-lib-link.
35232         * tests/havelib/rpathly/configure.ac: New file, from
35233         gettext/autoconf-lib-link with modifications.
35234         * tests/havelib/rpathlz/usez.c: New file, from
35235         gettext/autoconf-lib-link.
35236         * tests/havelib/rpathlz/Makefile.am: New file, from
35237         gettext/autoconf-lib-link.
35238         * tests/havelib/rpathlz/configure.ac: New file, from
35239         gettext/autoconf-lib-link with modifications.
35240         * tests/havelib/rpathlyx/usey.c: New file, from
35241         gettext/autoconf-lib-link.
35242         * tests/havelib/rpathlyx/Makefile.am: New file, from
35243         gettext/autoconf-lib-link.
35244         * tests/havelib/rpathlyx/configure.ac: New file, from
35245         gettext/autoconf-lib-link with modifications.
35246         * tests/havelib/rpathlzyx/usez.c: New file, from
35247         gettext/autoconf-lib-link.
35248         * tests/havelib/rpathlzyx/Makefile.am: New file, from
35249         gettext/autoconf-lib-link.
35250         * tests/havelib/rpathlzyx/configure.ac: New file, from
35251         gettext/autoconf-lib-link with modifications.
35252         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
35253         with modifications.
35254
35255 2010-04-02  Bruno Haible  <bruno@clisp.org>
35256
35257         gnulib-tool: Create distributed built sources also for the tests.
35258         * gnulib-tool (func_create_testdir): Also generate distributed built
35259         sources in the tests directory.
35260
35261 2010-04-02  Bruno Haible  <bruno@clisp.org>
35262
35263         gnulib-tool: Obey user's environment variables.
35264         * gnulib-tool (func_create_testdir): When creating built sources,
35265         respect the environment variables for autoconf, automake, etc. given by
35266         the user.
35267
35268 2010-04-02  Bruno Haible  <bruno@clisp.org>
35269
35270         gnulib-tool: Provide the value of --m4-base to modules.
35271         * gnulib-tool (func_import, func_create_testdir): Emit a definition
35272         of gl_m4_base.
35273
35274 2010-04-02  Eric Blake  <eblake@redhat.com>
35275
35276         maint.mk: fix some fallout
35277         * NEWS: Document the incompatible change, and its effect on cfg.mk.
35278         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
35279
35280 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
35281
35282         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
35283         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
35284         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
35285         (sc_cast_of_x_alloc_return_value): Likewise.
35286         (sc_cast_of_alloca_return_value): Likewise.
35287         (sc_space_tab): Likewise.
35288         (sc_prohibit_atoi_atof): Likewise.
35289         (sc_prohibit_magic_number_exit): Likewise.
35290         (sc_error_exit_success): Likewise.
35291         (sc_file_system): Likewise.
35292         (sc_prohibit_have_config_h): Likewise.
35293         (sc_require_config_h): Likewise.
35294         (sc_prohibit_HAVE_MBRTOWC): Likewise.
35295         (sc_obsolete_symbols): Likewise.
35296         (sc_changelog): Likewise.
35297         (sc_program_name): Likewise.
35298         (sc_the_the): Likewise.
35299         (sc_trailing_blank): Likewise.
35300         (sc_two_space_separator_in_usage): Likewise.
35301         (sc_useless_cpp_parens): Likewise.
35302         (sc_GPL_version): Likewise.
35303         (sc_GFDL_version): Likewise.
35304         (sc_texinfo_acronym): Likewise.
35305         (sc_prohibit_cvs_keyword): Likewise.
35306         (sc_prohibit_stat_st_blocks): Likewise.
35307         (sc_prohibit_S_IS_definition): Likewise.
35308         (sc_redundant_const): Likewise.
35309         (sc_makefile_TAB_only_indentation): Likewise.
35310         (sc_m4_quote_check): Likewise.
35311         (sc_makefile_path_separator_check): Likewise.
35312         (sc_copyright_check): Likewise.
35313         (sc_Wundef_boolean): Likewise.
35314         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
35315
35316         maint.mk: match 0 or more whitespace-before-function-call '('
35317         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
35318         that have zero or two-and-more spaces between the function name
35319         and the open parenthesis.
35320         (sc_error_message_warn_fatal): Likewise.
35321         (sc_error_message_uppercase): Likewise.
35322         (sc_error_message_period): Likewise.
35323
35324 2010-03-31  Eric Blake  <eblake@redhat.com>
35325
35326         maint.mk: check for [ as well as test
35327         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
35328         Based on a libvirt report by Matthias Bolte.
35329
35330         gnumakefile: don't squelch _version output
35331         * top/GNUmakefile (_version): Create one-shot dependency rather
35332         than using $(shell) when version must be regenerated.
35333         (_autoreconf): Run verbosely, by default.
35334
35335         sys_time: avoid compiler warnings
35336         * lib/sys_time.in.h (includes): Ensure gcc pragma is
35337         unconditional, fixing regression from 2010-03-29.
35338         Reported by Simon Josefsson.
35339
35340 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
35341
35342         maint.mk: s/_header_without_use/_sc_header_without_use/
35343         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
35344         (sc_prohibit_assert_without_use): Use the new name.
35345         (sc_prohibit_close_stream_without_use): Likewise.
35346         (sc_prohibit_getopt_without_use): Likewise.
35347         (sc_prohibit_quotearg_without_use): Likewise.
35348         (sc_prohibit_quote_without_use): Likewise.
35349         (sc_prohibit_long_options_without_use): Likewise.
35350         (sc_prohibit_inttostr_without_use): Likewise.
35351         (sc_prohibit_ignore_value_without_use): Likewise.
35352         (sc_prohibit_error_without_use): Likewise.
35353         (sc_prohibit_xalloc_without_use): Likewise.
35354         (sc_prohibit_hash_without_use): Likewise.
35355         (sc_prohibit_hash_pjw_without_use): Likewise.
35356         (sc_prohibit_safe_read_without_use): Likewise.
35357         (sc_prohibit_argmatch_without_use): Likewise.
35358         (sc_prohibit_canonicalize_without_use): Likewise.
35359         (sc_prohibit_root_dev_ino_without_use): Likewise.
35360         (sc_prohibit_openat_without_use): Likewise.
35361         (sc_prohibit_c_ctype_without_use): Likewise.
35362         (sc_prohibit_signal_without_use): Likewise.
35363         (sc_prohibit_intprops_without_use): Likewise.
35364
35365 2010-03-30  Eric Blake  <eblake@redhat.com>
35366
35367         maint: improve module indicators
35368         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
35369         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
35370         columns, and avoid extra macro expansion.
35371
35372         fdopendir: work around FreeBSD bug
35373         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
35374         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
35375         * modules/dirent (Makefile.am): Substitute it.
35376         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
35377         declaration.
35378         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
35379         fix.
35380         Reported by Christian Weisgerber <naddy@mips.inka.de>.
35381
35382 2010-03-29  Bruno Haible  <bruno@clisp.org>
35383
35384         Emit #pragma system_header after the inclusion guard, not before.
35385         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
35386         guard that spans the entire file, not before. This enables an
35387         optimization in GCC's preprocessor.
35388         * lib/ctype.in.h: Likewise.
35389         * lib/dirent.in.h: Likewise.
35390         * lib/errno.in.h: Likewise.
35391         * lib/float.in.h: Likewise.
35392         * lib/getopt.in.h: Likewise.
35393         * lib/iconv.in.h: Likewise.
35394         * lib/langinfo.in.h: Likewise.
35395         * lib/locale.in.h: Likewise.
35396         * lib/math.in.h: Likewise.
35397         * lib/netdb.in.h: Likewise.
35398         * lib/netinet_in.in.h: Likewise.
35399         * lib/pty.in.h: Likewise.
35400         * lib/sched.in.h: Likewise.
35401         * lib/se-selinux.in.h: Likewise.
35402         * lib/search.in.h: Likewise.
35403         * lib/spawn.in.h: Likewise.
35404         * lib/stdarg.in.h: Likewise.
35405         * lib/stdint.in.h: Likewise.
35406         * lib/string.in.h: Likewise.
35407         * lib/strings.in.h: Likewise.
35408         * lib/sys_file.in.h: Likewise.
35409         * lib/sys_ioctl.in.h: Likewise.
35410         * lib/sys_time.in.h: Likewise.
35411         * lib/sys_times.in.h: Likewise.
35412         * lib/sys_utsname.in.h: Likewise.
35413         * lib/sys_wait.in.h: Likewise.
35414         * lib/sysexits.in.h: Likewise.
35415         * lib/wctype.in.h: Likewise.
35416
35417 2010-03-28  James Youngman  <jay@gnu.org>
35418
35419         save-cwd: don't leak a file descriptor when the caller execs.
35420         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
35421         saved file descriptor.
35422         * modules/save-cwd (Depends-on): Depend on cloexec.
35423
35424 2010-03-29  Bruno Haible  <bruno@clisp.org>
35425
35426         Remove vestiges of fts-lgpl module.
35427         * lib/fts_.h: Assume GNULIB_FTS is 1.
35428         * lib/fts.c: Likewise.
35429         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35430
35431 2010-03-28  Bruno Haible  <bruno@clisp.org>
35432
35433         Fix definition of tests witness macro.
35434         * gnulib-tool (func_import): Fix definition of witness macro.
35435
35436 2010-03-28  Bruno Haible  <bruno@clisp.org>
35437
35438         Fix ioctl's protoype on glibc systems.
35439         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
35440         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
35441         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
35442         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
35443         signature. If not, arrange to replace the ioctl function.
35444         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
35445         REPLACE_IOCTL.
35446         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
35447         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
35448         Reported by Ludovic Courtès <ludo@gnu.org>.
35449
35450 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
35451
35452         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
35453         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
35454         made it so grep -r --include=GLOB* ... did not work.
35455
35456 2010-03-26  Jim Meyering  <meyering@redhat.com>
35457             Eric Blake  <eblake@redhat.com>
35458
35459         maint.mk: prohibit use of test's -o and -a operators
35460         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
35461
35462 2010-03-28  Bruno Haible  <bruno@clisp.org>
35463
35464         Remove unused GNULIB_XYZ macro definitions.
35465         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
35466         invocation.
35467
35468 2010-03-28  Bruno Haible  <bruno@clisp.org>
35469
35470         Mark privileged tests modules.
35471         * modules/idpriv-drop-tests (Status): New section.
35472         * modules/idpriv-droptemp-tests (Status): New section.
35473
35474 2010-03-28  Bruno Haible  <bruno@clisp.org>
35475
35476         Split C++ tests into separate tests modules.
35477         * modules/dirent-c++-tests: New file, extracted from
35478         modules/dirent-tests.
35479         * modules/dirent-tests: Depend on it.
35480         * modules/fcntl-h-c++-tests: New file, extracted from
35481         modules/fcntl-h-tests.
35482         * modules/fcntl-h-tests: Depend on it.
35483         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
35484         * modules/glob-tests: Depend on it.
35485         * modules/iconv-h-c++-tests: New file, extracted from
35486         modules/iconv-h-tests.
35487         * modules/iconv-h-tests: Depend on it.
35488         * modules/langinfo-c++-tests: New file, extracted from
35489         modules/langinfo-tests.
35490         * modules/langinfo-tests: Depend on it.
35491         * modules/locale-c++-tests: New file, extracted from
35492         modules/locale-tests.
35493         * modules/locale-tests: Depend on it.
35494         * modules/math-c++-tests: New file, extracted from modules/math-tests.
35495         * modules/math-tests: Depend on it.
35496         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
35497         * modules/pty-tests: Depend on it.
35498         * modules/search-c++-tests: New file, extracted from
35499         modules/search-tests.
35500         * modules/search-tests: Depend on it.
35501         * modules/signal-c++-tests: New file, extracted from
35502         modules/signal-tests.
35503         * modules/signal-tests: Depend on it.
35504         * modules/spawn-c++-tests: New file, extracted from
35505         modules/spawn-tests.
35506         * modules/spawn-tests: Depend on it.
35507         * modules/stdio-c++-tests: New file, extracted from
35508         modules/stdio-tests.
35509         * modules/stdio-tests: Depend on it.
35510         * modules/stdlib-c++-tests: New file, extracted from
35511         modules/stdlib-tests.
35512         * modules/stdlib-tests: Depend on it.
35513         * modules/string-c++-tests: New file, extracted from
35514         modules/string-tests.
35515         * modules/string-tests: Depend on it.
35516         * modules/sys_ioctl-c++-tests: New file, extracted from
35517         modules/sys_ioctl-tests.
35518         * modules/sys_ioctl-tests: Depend on it.
35519         * modules/sys_select-c++-tests: New file, extracted from
35520         modules/sys_select-tests.
35521         * modules/sys_select-tests: Depend on it.
35522         * modules/sys_socket-c++-tests: New file, extracted from
35523         modules/sys_socket-tests.
35524         * modules/sys_socket-tests: Depend on it.
35525         * modules/sys_stat-c++-tests: New file, extracted from
35526         modules/sys_stat-tests.
35527         * modules/sys_stat-tests: Depend on it.
35528         * modules/sys_time-c++-tests: New file, extracted from
35529         modules/sys_time-tests.
35530         * modules/sys_time-tests: Depend on it.
35531         * modules/time-c++-tests: New file, extracted from modules/time-tests.
35532         * modules/time-tests: Depend on it.
35533         * modules/unistd-c++-tests: New file, extracted from
35534         modules/unistd-tests.
35535         * modules/unistd-tests: Depend on it.
35536         * modules/wchar-c++-tests: New file, extracted from
35537         modules/wchar-tests.
35538         * modules/wchar-tests: Depend on it.
35539         * modules/wctype-c++-tests: New file, extracted from
35540         modules/wctype-tests.
35541         * modules/wctype-tests: Depend on it.
35542         Reported by Simon Josefsson.
35543
35544 2010-03-28  Bruno Haible  <bruno@clisp.org>
35545
35546         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
35547         * gnulib-tool (func_exists_module): New function, extracted from
35548         func_verify_module.
35549         (func_verify_module): Use it.
35550         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
35551         'foo' only if 'foo' exists.
35552         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
35553         module.
35554
35555 2010-03-28  Bruno Haible  <bruno@clisp.org>
35556
35557         gnulib-tool: Add support for special categories of tests.
35558         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
35559         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
35560         (func_usage): Document them.
35561         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
35562         inc_unportable_tests, inc_all_tests): New variables.
35563         (func_acceptable): Consider these variables.
35564         (func_modules_transitive_closure): Make it work when the 'Status' field
35565         consists of multiple words.
35566         (func_import): Store and restore the values of inc_cxx_tests,
35567         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
35568         inc_all_tests in gnulib-comp.m4.
35569         (func_create_testdir): Set inc_all_tests to true.
35570         * doc/gnulib.texi (Extra tests modules): New section.
35571         Suggested by Jim Meyering.
35572
35573 2010-03-28  Bruno Haible  <bruno@clisp.org>
35574
35575         ansi-c++-opt: Allow turning off the C++ build by default.
35576         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
35577         gl_CXX_CHOICE_DEFAULT_NO is defined.
35578         Requested by Eric Blake.
35579
35580 2010-03-28  Bruno Haible  <bruno@clisp.org>
35581
35582         unistd: Avoid #define replacements in C++ mode.
35583         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
35584         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
35585         setsockopt, shutdown, select): In C++, attach a warning to the function
35586         if possible, rather than #defining the symbol to a dysfunctional alias.
35587         Reported by John W. Eaton <jwe@gnu.org>.
35588
35589 2010-03-28  Bruno Haible  <bruno@clisp.org>
35590
35591         Fix link errors on mingw.
35592         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
35593         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
35594         $(LIBSOCKET).
35595         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
35596         $(LIBSOCKET).
35597
35598 2010-03-28  Bruno Haible  <bruno@clisp.org>
35599             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35600
35601         lib-ignore: Determine different options for different compilers.
35602         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
35603         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
35604         Add comments.
35605         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
35606         * NEWS: Mention the change.
35607
35608 2010-03-27  Bruno Haible  <bruno@clisp.org>
35609
35610         Remove unused GNULIB_XYZ macro definitions.
35611         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35612         * modules/fseek (configure.ac): Likewise.
35613         * modules/ioctl (configure.ac): Likewise.
35614         * modules/open (configure.ac): Likewise.
35615         * modules/stdlib-safer (configure.ac): Likewise.
35616
35617 2010-03-27  Bruno Haible  <bruno@clisp.org>
35618
35619         Add a remark about certain modules.
35620         * modules/malloc (Comment): New section.
35621         * modules/realloc (Comment): Likewise.
35622         * modules/sigpipe (Comment): Likewise.
35623
35624 2010-03-27  Bruno Haible  <bruno@clisp.org>
35625
35626         Resolve conflict between the two kinds of module indicators.
35627         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
35628         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
35629         * modules/canonicalize (configure.ac): Invoke
35630         gl_MODULE_INDICATOR_FOR_TESTS.
35631         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
35632         GNULIB_XYZ.
35633         * tests/test-dirent-c++.cc: Likewise.
35634         * tests/test-dirent-safer.c: Likewise.
35635         * tests/test-dup2.c: Likewise.
35636         * tests/test-fchdir.c: Likewise.
35637         * tests/test-fcntl-h-c++.cc: Likewise.
35638         * tests/test-getopt.c: Likewise.
35639         * tests/test-getopt.h: Likewise.
35640         * tests/test-langinfo-c++.cc: Likewise.
35641         * tests/test-locale-c++.cc: Likewise.
35642         * tests/test-math-c++.cc: Likewise.
35643         * tests/test-pty-c++.cc: Likewise.
35644         * tests/test-search-c++.cc: Likewise.
35645         * tests/test-signal-c++.cc: Likewise.
35646         * tests/test-spawn-c++.cc: Likewise.
35647         * tests/test-stdio-c++.cc: Likewise.
35648         * tests/test-stdlib-c++.cc: Likewise.
35649         * tests/test-string-c++.cc: Likewise.
35650         * tests/test-sys_ioctl-c++.cc: Likewise.
35651         * tests/test-sys_select-c++.cc: Likewise.
35652         * tests/test-sys_socket-c++.cc: Likewise.
35653         * tests/test-sys_stat-c++.cc: Likewise.
35654         * tests/test-sys_time-c++.cc: Likewise.
35655         * tests/test-time-c++.cc: Likewise.
35656         * tests/test-unistd-c++.cc: Likewise.
35657         * tests/test-wchar-c++.cc: Likewise.
35658         * tests/uninorm/test-u8-nfc.c: Likewise.
35659         * tests/uninorm/test-u8-nfd.c: Likewise.
35660         * tests/uninorm/test-u8-nfkc.c: Likewise.
35661         * tests/uninorm/test-u8-nfkd.c: Likewise.
35662         * tests/uninorm/test-u16-nfc.c: Likewise.
35663         * tests/uninorm/test-u16-nfd.c: Likewise.
35664         * tests/uninorm/test-u16-nfkc.c: Likewise.
35665         * tests/uninorm/test-u16-nfkd.c: Likewise.
35666         * tests/uninorm/test-u32-nfc.c: Likewise.
35667         * tests/uninorm/test-u32-nfc-big.c: Likewise.
35668         * tests/uninorm/test-u32-nfd.c: Likewise.
35669         * tests/uninorm/test-u32-nfd-big.c: Likewise.
35670         * tests/uninorm/test-u32-nfkc.c: Likewise.
35671         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
35672         * tests/uninorm/test-u32-nfkd.c: Likewise.
35673         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
35674         * tests/uninorm/test-u32-normalize-big.c: Likewise.
35675
35676 2010-03-27  Bruno Haible  <bruno@clisp.org>
35677
35678         Distinguish two kinds of module indicators.
35679         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
35680         gl_MODULE_INDICATOR.
35681         (gl_MODULE_INDICATOR): New macro.
35682         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
35683         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
35684         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35685         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35686         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35687         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35688         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35689         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35690         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35691         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35692         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35693         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35694         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35695         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35696         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35697         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35698         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35699         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35700         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35701         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35702         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35703         * modules/cloexec (configure.ac): Likewise.
35704         * modules/getopt-gnu (configure.ac): Likewise.
35705         * modules/uninorm/u8-normalize (configure.ac): Likewise.
35706         * modules/uninorm/u16-normalize (configure.ac): Likewise.
35707         * modules/uninorm/u32-normalize (configure.ac): Likewise.
35708         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
35709
35710 2010-03-27  Bruno Haible  <bruno@clisp.org>
35711
35712         New module description field 'Comment'.
35713         * gnulib-tool: New option --extract-comment.
35714         (func_usage): Document it.
35715         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
35716         (func_get_comment): New function.
35717         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
35718
35719 2010-03-27  Bruno Haible  <bruno@clisp.org>
35720
35721         Addendum to 2010-02-07 commit.
35722         * gnulib-tool (func_usage): Document --extract-applicability option.
35723
35724 2010-03-27  Bruno Haible  <bruno@clisp.org>
35725
35726         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
35727         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
35728         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
35729         rather than link errors.
35730
35731 2010-03-27  Bruno Haible  <bruno@clisp.org>
35732
35733         Avoid side effects from tests-related modules on the compilation of lib.
35734         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
35735         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
35736         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
35737         parameter. Emit into AM_CPPFLAGS a definition of the designated C
35738         macro.
35739         (func_import): Define a witness macro. Assign it a value that depends
35740         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
35741         tests-related modules.
35742         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
35743         Reported by Jim Meyering.
35744
35745 2010-03-27  Bruno Haible  <bruno@clisp.org>
35746
35747         Factorize common .m4 code.
35748         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
35749         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
35750         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
35751         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
35752         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35753         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
35754         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
35755         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35756         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35757         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35758         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
35759         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35760         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35761         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35762         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35763         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
35764         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35765         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35766         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35767         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
35768         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
35769         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35770         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35771         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35772         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35773         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35774         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
35775         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
35776         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
35777         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35778         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35779         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35780
35781 2010-03-27  Bruno Haible  <bruno@clisp.org>
35782
35783         Fix a compilation error on Cygwin with g++ >= 4.3.
35784         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
35785         if it is undefined or if we alias it to chmod.
35786         (lstat): Don't warn about the use of this function if it is undefined
35787         or if we alias it to stat.
35788         Reported by Simon Josefsson.
35789
35790 2010-03-27  Bruno Haible  <bruno@clisp.org>
35791
35792         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
35793         * modules/getlogin (configure.ac): Update.
35794
35795         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
35796         * modules/getlogin_r (configure.ac): Update.
35797
35798         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
35799         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
35800         * modules/inet_ntop (configure.ac): Update.
35801
35802         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
35803         * modules/inet_pton (configure.ac): Update.
35804
35805         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
35806         * modules/mbslen (configure.ac): Update.
35807
35808         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
35809         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
35810         * modules/forkpty (configure.ac): Update.
35811         * modules/openpty (configure.ac): Update.
35812
35813 2010-03-26  Simon Josefsson  <simon@josefsson.org>
35814
35815         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
35816         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
35817
35818 2010-03-25  Eric Blake  <eblake@redhat.com>
35819
35820         maint: use pragma consistently across replacement headers
35821         * lib/ctype.in.h (system_header): Hoist for consistent placement.
35822         * lib/dirent.in.h (system_header): Likewise.
35823         * lib/errno.in.h (system_header): Likewise.
35824         * lib/float.in.h (system_header): Likewise.
35825         * lib/getopt.in.h (system_header): Likewise.
35826         * lib/iconv.in.h (system_header): Likewise.
35827         * lib/inttypes.in.h (system_header): Likewise.
35828         * lib/langinfo.in.h (system_header): Likewise.
35829         * lib/locale.in.h (system_header): Likewise.
35830         * lib/math.in.h (system_header): Likewise.
35831         * lib/netdb.in.h (system_header): Likewise.
35832         * lib/netinet_in.in.h (system_header): Likewise.
35833         * lib/pty.in.h (system_header): Likewise.
35834         * lib/sched.in.h (system_header): Likewise.
35835         * lib/se-selinux.in.h (system_header): Likewise.
35836         * lib/search.in.h (system_header): Likewise.
35837         * lib/spawn.in.h (system_header): Likewise.
35838         * lib/stdarg.in.h (system_header): Likewise.
35839         * lib/stdint.in.h (system_header): Likewise.
35840         * lib/string.in.h (system_header): Likewise.
35841         * lib/strings.in.h (system_header): Likewise.
35842         * lib/sys_file.in.h (system_header): Likewise.
35843         * lib/sys_ioctl.in.h (system_header): Likewise.
35844         * lib/sys_socket.in.h (system_header): Likewise.
35845         * lib/sys_times.in.h (system_header): Likewise.
35846         * lib/sys_utsname.in.h (system_header): Likewise.
35847         * lib/sys_wait.in.h (system_header): Likewise.
35848         * lib/sysexits.in.h (system_header): Likewise.
35849         * lib/unistd.in.h (system_header): Likewise.
35850         * lib/wctype.in.h (system_header): Likewise.
35851
35852         arpa/inet: fix mingw compilation warning
35853         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
35854         Reported by Matthew Bolte.
35855
35856 2010-03-25  Bruno Haible  <bruno@clisp.org>
35857
35858         Avoid collision between gnulib wrapper and libintl wrapper.
35859         * lib/printf.c (printf): Don't define if a printf wrapper is already
35860         defined in intl/printf.c.
35861         Reported by Michel Boaventura <michel@michelboaventura.com>.
35862
35863 2010-03-25  Bruno Haible  <bruno@clisp.org>
35864
35865         Use ANSI C.
35866         * lib/readutmp.h (getutent): Provide ANSI C prototype.
35867
35868 2010-03-25  Bruno Haible  <bruno@clisp.org>
35869
35870         Minor formatting changes.
35871         * lib/acosl.c: Insert space before function argument list.
35872         * lib/argz.c: Likewise.
35873         * lib/asinl.c: Likewise.
35874         * lib/expl.c: Likewise.
35875         * lib/gen-uni-tables.c: Likewise.
35876         * lib/gettext.h: Likewise.
35877         * lib/glthread/lock.h: Likewise.
35878         * lib/tanl.c: Likewise.
35879         * lib/uniname/uniname.c: Likewise.
35880         * tests/test-idpriv-drop.c: Likewise.
35881         * tests/test-idpriv-droptemp.c: Likewise.
35882         * tests/test-lock.c: Likewise.
35883         * tests/test-tls.c: Likewise.
35884         * lib/argp-help.c: Insert space before function-like macro argument
35885         list.
35886         * lib/memcmp.c: Likewise.
35887         * tests/test-base64.c: Likewise.
35888         * lib/localename.c: Insert space before sizeof's argument list.
35889         * lib/safe-alloc.h: Likewise.
35890         * lib/file-set.h: Insert space before macro argument list.
35891         * tests/test-argp.c: Likewise.
35892         * lib/argp-namefrob.h: Insert space before function parameter list.
35893         * lib/getaddrinfo.c: Likewise.
35894         * lib/netdb.in.h: Likewise.
35895         * lib/parse-duration.h: Likewise.
35896         * lib/parse-duration.c: Likewise.
35897         * lib/poll.c: Likewise.
35898         * lib/select.c: Likewise.
35899         * lib/trim.h: Likewise.
35900         * tests/test-usleep.c: Likewise.
35901         * lib/ldexpl.c: Insert space before function parameter list and before
35902         function argument list.
35903         * lib/logl.c: Likewise.
35904         * lib/sqrtl.c: Likewise.
35905         * lib/trim.c: Likewise.
35906         * lib/cosl.c: Use GNU style indentation. Insert space before function
35907         argument list.
35908         * lib/sinl.c: Likewise.
35909         * lib/tsearch.c: Insert space after 'for'.
35910         Reported by Jim Meyering.
35911
35912 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
35913
35914         * maint.mk (sc_Wundef_boolean): Check for the presence of the
35915         config header before grepping, as it's not present before
35916         autoreconf/configure are run.  Reported by Simon Josefsson.
35917
35918 2010-03-23  Bruno Haible  <bruno@clisp.org>
35919
35920         pt_chown: Make it work with automake < 1.11.
35921         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
35922         Reported by Simon Josefsson.
35923
35924 2010-03-23  Bruno Haible  <bruno@clisp.org>
35925
35926         pt_chown: Don't depend on GPLed modules.
35927         * lib/pt_chown.c: Don't include idpriv.h.
35928         (main): Don't drop privileges.
35929         * modules/pt_chown (Depends-on): Remove idpriv-drop.
35930         Reported by Simon Josefsson.
35931
35932 2010-03-24  Simon Josefsson  <simon@josefsson.org>
35933
35934         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
35935         suggestions from karl@freefriends.org (Karl Berry).
35936
35937 2010-03-22  Eric Blake  <eblake@redhat.com>
35938
35939         gethostname: further tweaks
35940         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
35941         are overriding gethostname.
35942         Suggested by Bruno Haible.
35943
35944 2010-03-21  Bruno Haible  <bruno@clisp.org>
35945
35946         Fix comments.
35947         * lib/forkpty.c (rpl_forkpty): Fix comment.
35948         * lib/openpty.c (rpl_openpty): Likewise.
35949         Reported by Eric Blake.
35950
35951 2010-03-22  Eric Blake  <eblake@redhat.com>
35952
35953         gethostname: fix build on mingw
35954         * lib/unistd.in.h (includes): Work around fact that mingw
35955         <winsock2.h> re-includes <unistd.h>, by avoiding any
35956         redeclarations if we are being included by <winsock2.h>.
35957         Reported by Matthias Bolte.
35958
35959 2010-03-21  Bruno Haible  <bruno@clisp.org>
35960
35961         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35962         * lib/forkpty.c (forkpty): New replacement function, from glibc with
35963         modifications.
35964         * lib/pty.in.h (forkpty): Update declaration. Add comments.
35965         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
35966         provide the replacement.
35967         * modules/forkpty (Depends-on): Add openpty, login_tty.
35968         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
35969         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
35970         * doc/glibc-functions/forkpty.texi: More supported platforms.
35971         * config/srclist.txt: Add forkpty.c (commented).
35972
35973 2010-03-21  Bruno Haible  <bruno@clisp.org>
35974
35975         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
35976         (Makefile.am): Verify that PTY_LIB is defined.
35977
35978         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
35979
35980 2010-03-21  Bruno Haible  <bruno@clisp.org>
35981
35982         Tests for module 'login_tty'.
35983         * modules/login_tty-tests: New file.
35984         * tests/test-login_tty.c: New file.
35985
35986         New module 'login_tty'.
35987         * lib/login_tty.c: New file.
35988         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
35989         * modules/login_tty: New file.
35990         * doc/glibc-functions/login_tty.texi: Mention the new module.
35991
35992 2010-03-21  Bruno Haible  <bruno@clisp.org>
35993
35994         login_tty: Documentation.
35995         * doc/glibc-functions/login_tty.texi: New file.
35996         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
35997
35998 2010-03-21  Bruno Haible  <bruno@clisp.org>
35999
36000         pty: Consistent macro naming.
36001         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
36002         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
36003         * modules/pty (configure.ac): Update.
36004
36005 2010-03-21  Bruno Haible  <bruno@clisp.org>
36006
36007         Tests for openpty: Make stricter.
36008         * tests/test-openpty.c (main): Add test of canonical processing and
36009         erase.
36010         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
36011
36012         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
36013         * lib/openpty.c (openpty): New replacement function.
36014         * lib/pty.in.h: Include <termios.h>.
36015         (openpty): Update declaration. Add comments.
36016         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
36017         is not declared, arrange to provide the replacement. Check for _getpty
36018         and posix_openpt.
36019         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
36020         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
36021         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
36022         * modules/pty-tests (test_pty_c___LDADD): New variable.
36023         * doc/glibc-functions/openpty.texi: More supported platforms.
36024
36025 2010-03-21  Bruno Haible  <bruno@clisp.org>
36026
36027         setenv: Tweaks.
36028         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
36029         the test program.
36030         * doc/posix-functions/setenv.texi: Update platforms list.
36031
36032 2010-03-21  Bruno Haible  <bruno@clisp.org>
36033
36034         New module 'unlockpt'.
36035         * lib/unlockpt.c: New file, from glibc with modifications.
36036         * m4/unlockpt.m4: New file.
36037         * modules/unlockpt: New file.
36038         * lib/stdlib.in.h (unlockpt): New declaration.
36039         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
36040         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
36041         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
36042         HAVE_UNLOCKPT.
36043         * doc/posix-functions/unlockpt.texi: Mention the new module.
36044         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
36045         * config/srclist.txt: Add unlockpt.c (commented).
36046
36047 2010-03-21  Jim Meyering  <meyering@redhat.com>
36048
36049         maint.mk: prohibit inclusion of "intprops.h" without use
36050         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
36051
36052 2010-03-21  Bruno Haible  <bruno@clisp.org>
36053
36054         New module 'grantpt'.
36055         * lib/grantpt.c: New file, from glibc with modifications.
36056         * m4/grantpt.m4: New file.
36057         * modules/grantpt: New file.
36058         * lib/stdlib.in.h (grantpt): New declaration.
36059         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
36060         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
36061         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
36062         HAVE_GRANTPT.
36063         * doc/posix-functions/grantpt.texi: Mention the new module.
36064         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
36065         * config/srclist.txt: Add grantpt.c (commented).
36066
36067 2010-03-21  Bruno Haible  <bruno@clisp.org>
36068
36069         New module 'pt_chown'.
36070         * lib/pt_chown.c: New file, from glibc with modifications.
36071         * lib/pty-private.h: New file, from glibc with modifications.
36072         * modules/pt_chown: New file.
36073         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
36074
36075 2010-03-21  Bruno Haible  <bruno@clisp.org>
36076
36077         Tests for module 'ptsname'.
36078         * modules/ptsname-tests: New file.
36079         * tests/test-ptsname.c: New file.
36080
36081         New module 'ptsname'.
36082         * lib/ptsname.c: New file, from glibc with modifications.
36083         * m4/ptsname.m4: New file.
36084         * modules/ptsname: New file.
36085         * lib/stdlib.in.h (ptsname): New declaration.
36086         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
36087         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
36088         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
36089         HAVE_PTSNAME.
36090         * doc/posix-functions/ptsname.texi: Mention the new module.
36091         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
36092         * config/srclist.txt: Add ptsname.c (commented).
36093
36094 2010-03-21  Bruno Haible  <bruno@clisp.org>
36095
36096         Tests for module 'ttyname_r'.
36097         * modules/ttyname_r-tests: New file.
36098         * tests/test-ttyname_r.c: New file.
36099
36100         New module 'ttyname_r'.
36101         * lib/ttyname_r.c: New file.
36102         * m4/ttyname_r.m4: New file.
36103         * modules/ttyname_r: New file.
36104         * lib/unistd.in.h (ttyname_r): New declaration.
36105         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
36106         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
36107         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
36108         HAVE_TTYNAME_R.
36109         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
36110         * doc/posix-functions/ttyname_r.texi: Mention the new module.
36111
36112 2010-03-20  Bruno Haible  <bruno@clisp.org>
36113
36114         signal: Undefine macro definitions in C++ mode.
36115         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
36116         sigfillset): Undefine macro definitions from the system header in C++
36117         mode.
36118         Reported by John W. Eaton <jwe@gnu.org>.
36119
36120 2010-03-20  Bruno Haible  <bruno@clisp.org>
36121
36122         Ensure no #include statements inside extern "C" { ... }.
36123         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
36124         contain #include statements.
36125         * lib/time.in.h: Likewise.
36126
36127 2010-03-20  Bruno Haible  <bruno@clisp.org>
36128
36129         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
36130         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
36131         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
36132         Reported by John W. Eaton <jwe@gnu.org>.
36133
36134 2010-03-20  Bruno Haible  <bruno@clisp.org>
36135
36136         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
36137         Reported by Jim Meyering.
36138
36139 2010-03-20  Bruno Haible  <bruno@clisp.org>
36140
36141         pipe: Set errno upon failure.
36142         * lib/pipe.h: Specify that when -1 is returned, errno is set.
36143         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
36144         errno value in error message.
36145
36146 2010-03-20  Bruno Haible  <bruno@clisp.org>
36147             Jim Meyering  <meyering@redhat.com>
36148
36149         lchown: Avoid "unused variable" warning.
36150         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
36151
36152 2010-03-20  Bruno Haible  <bruno@clisp.org>
36153
36154         Work around unlink() bug on MacOS X 10.5.6.
36155         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
36156         attempting to unlink a parent directory.
36157         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
36158         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
36159         activate for the replacement function.
36160         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
36161
36162 2010-03-20  Bruno Haible  <bruno@clisp.org>
36163
36164         Fix link errors on Solaris 8.
36165         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
36166         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
36167
36168 2010-03-19  Jim Meyering  <meyering@redhat.com>
36169
36170         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
36171         The _LIBC implementation of build_range_exp correctly honors the
36172         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
36173         However, the non-_LIBC implementation would ignore that syntax-bit
36174         flag and return REG_ERANGE unconditionally.
36175         This change makes it honor that flag.
36176         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
36177         Make two pointer parameters "const".
36178         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
36179         (parse_bracket_exp): Update caller.
36180
36181         regex.m4: correct the reversed range endpoint ([b-a]) test
36182         * m4/regex.m4: When requiring that [b-a] evoke failure,
36183         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
36184         test pass once again for x86-based systems.
36185
36186 2010-03-19  Bruno Haible  <bruno@clisp.org>
36187
36188         scandir: Fix link error on Solaris 8.
36189         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
36190         macros.
36191
36192 2010-03-19  Bruno Haible  <bruno@clisp.org>
36193
36194         getusershell: Fix documentation.
36195         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
36196         module.
36197         * doc/glibc-functions/setusershell.texi: Likewise.
36198
36199         getusershell: Provide declaration, missing on Solaris 9.
36200         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
36201         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
36202         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
36203         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
36204         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36205         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
36206         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
36207         HAVE_GETUSERSHELL.
36208         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
36209
36210 2010-03-19  Bruno Haible  <bruno@clisp.org>
36211
36212         wctype: Provide iswblank function.
36213         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
36214         exists and is fine.
36215         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
36216         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
36217         * tests/test-wctype.c (main): Re-enable the iswblank tests.
36218         * doc/posix-functions/iswblank.texi: Update.
36219
36220 2010-03-19  Bruno Haible  <bruno@clisp.org>
36221
36222         Tests of module 'pty' in C++ mode.
36223         * modules/pty-tests: New file.
36224         * tests/test-pty-c++.cc: New file.
36225         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36226
36227 2010-03-19  Eric Blake  <eblake@redhat.com>
36228
36229         logb: fix documentation
36230         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
36231         1.5 declaration bug.
36232
36233         forkpty, openpty: prefer glibc's const-safe prototype
36234         * lib/forkpty.c (rpl_forkpty): New file.
36235         * lib/openpty.c (rpl_openpty): Likewise.
36236         * modules/forkpty (Files): Distribute it.
36237         * modules/openpty (Files): Likewise.
36238         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
36239         check...
36240         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
36241         replacement for for non-const BSD signature.
36242         * modules/pty (Makefile.am): Substitute witnesses.
36243         * lib/pty.in.h (forkpty, openpty): Declare replacements.
36244         * tests/test-forkpty.c: Update signature check.
36245         * tests/test-openpty.c: Likewise.
36246         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
36247         * doc/glibc-functions/openpty.texi (openpty): Likewise.
36248
36249         forkpty, openpty: split functions into new modules
36250         * modules/pty (Makefile.am): Substitute new witnesses.
36251         (Libraries): Move library detection...
36252         * modules/forkpty: ...into new module.
36253         * modules/openpty: Another new module.
36254         * modules/pty-tests: Rename and split...
36255         * modules/forkpty-tests: ...to this...
36256         * modules/openpty-tests: ...and this.
36257         * tests/test-pty.c: Rename and split...
36258         * tests/test-forkpty.c: ...to this...
36259         * tests/test-openpty.c: ...and this.
36260         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
36261         (gl_PTY): Split library searching...
36262         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
36263         (gl_FORKPTY, gl_OPENPTY): New macros.
36264         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
36265         * NEWS: Mention the split.
36266         * MODULES.html.sh (Misc): Document the modules.
36267         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
36268         * doc/glibc-functions/openpty.texi (openpty): Likewise.
36269
36270         pty: improve replacement header
36271         * lib/pty.in.h: New file.
36272         * modules/pty (Files): Ship it.
36273         (Makefile.am): Always build replacement.
36274         * m4/pty.m4: Rename...
36275         * m4/pty_h.m4: ...to this.
36276         (gl_PTY): Modernize setting of witness macros; update check of
36277         forkpty to take proper advantage of cache.
36278         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
36279
36280         getopt: avoid compiler warning
36281         * lib/getopt.c (attribute_hidden): Remove unused macro.
36282
36283 2010-03-18  Bruno Haible  <bruno@clisp.org>
36284
36285         Fix link errors on Solaris 8.
36286         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
36287         * modules/search-tests (test_search_c___LDADD): Likewise.
36288         * modules/signal-tests (test_signal_c___LDADD): Likewise.
36289         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
36290         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
36291         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
36292         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
36293         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
36294         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
36295
36296 2010-03-18  Bruno Haible  <bruno@clisp.org>
36297
36298         Fix bug introduced on 2010-03-14.
36299         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
36300         (gl_SPAWN_H): Require it.
36301         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
36302         Reported by Simon Josefsson.
36303
36304 2010-03-18  Bruno Haible  <bruno@clisp.org>
36305
36306         Fix typo introduced on 2009-12-31.
36307         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
36308         posix_spawn_file_actions_adddup2.
36309
36310 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
36311         and Eric Blake  <eblake@redhat.com>
36312
36313         test-vc-list-files-git: make more robust
36314         * tests/test-vc-list-files-git.sh: Unset problematic environment
36315         variables.  Chain commands together.
36316
36317 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
36318
36319         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
36320         `AC_CHECK_DECL' invocation.
36321
36322 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
36323
36324         * lib/inttostr.c (inttostr): Make sure the invocation of verify
36325         appears before executable statements. Suggested by Petr Sumbera
36326         <Petr.Sumbera@Sun.COM>.
36327
36328 2010-03-14  Bruno Haible  <bruno@clisp.org>
36329
36330         * tests/test-flock.c (test_exclusive): Comment out a test that causes
36331         portability problems. Instead use a simpler test.
36332         (main): Check that invalid arguments are rejected only on Linux.
36333
36334 2010-03-14  Bruno Haible  <bruno@clisp.org>
36335
36336         Fix bug introduced on 2009-12-31.
36337         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
36338         gl_PREREQ_SYS_H_WINSOCK2 always.
36339         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
36340         SYS_SOCKET_H variable.
36341         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
36342         Update comments.
36343         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
36344         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
36345         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36346         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
36347         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
36348
36349 2010-03-14  Bruno Haible  <bruno@clisp.org>
36350
36351         Fix values returned by sinl, cosl.
36352         * lib/trigl.h: Add specification comments.
36353         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
36354         that combines the values from the precomputed table with the values of
36355         the Chebyshev polynomials.
36356
36357 2010-03-14  Bruno Haible  <bruno@clisp.org>
36358
36359         Fix compilation error when modules 'posix_spawn[p]' are not used.
36360         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
36361         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
36362
36363 2010-03-14  Bruno Haible  <bruno@clisp.org>
36364
36365         Fix compilation error on mingw when module 'time_r' is not used.
36366         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
36367         is 1.
36368         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
36369         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36370         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
36371         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
36372
36373 2010-03-14  Bruno Haible  <bruno@clisp.org>
36374
36375         Fix compilation error with Sun C.
36376         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
36377         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
36378         instead of GCC specific ULONG_LONG_MAX.
36379         * lib/xstrtoll.c: Likewise.
36380         * lib/xstrtoull.c: Likewise.
36381
36382 2010-03-13  Bruno Haible  <bruno@clisp.org>
36383
36384         Allow the user to disable C++ code and tests.
36385         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
36386         (gl_PROG_ANSI_CXX): Require it.
36387
36388 2010-03-13  Bruno Haible  <bruno@clisp.org>
36389
36390         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
36391         cases.
36392
36393 2010-03-13  Bruno Haible  <bruno@clisp.org>
36394
36395         Test that gnulib does not break the standard C++ headers.
36396         * tests/test-locale-c++2.cc: New file.
36397         * modules/locale-tests (Files): Add it.
36398         (Makefile.am): Compile it for test-locale-c++.
36399         * tests/test-math-c++2.cc: New file.
36400         * modules/math-tests (Files): Add it.
36401         (Makefile.am): Compile it for test-math-c++.
36402         * tests/test-signal-c++2.cc: New file.
36403         * modules/signal-tests (Files): Add it.
36404         (Makefile.am): Compile it for test-signal-c++.
36405         * tests/test-stdio-c++2.cc: New file.
36406         * modules/stdio-tests (Files): Add it.
36407         (Makefile.am): Compile it for test-stdio-c++.
36408         * tests/test-stdlib-c++2.cc: New file.
36409         * modules/stdlib-tests (Files): Add it.
36410         (Makefile.am): Compile it for test-stdlib-c++.
36411         * tests/test-string-c++2.cc: New file.
36412         * modules/string-tests (Files): Add it.
36413         (Makefile.am): Compile it for test-string-c++.
36414         * tests/test-time-c++2.cc: New file.
36415         * modules/time-tests (Files): Add it.
36416         (Makefile.am): Compile it for test-time-c++.
36417         Reported by John W. Eaton <jwe@gnu.org>.
36418
36419 2010-03-13  Bruno Haible  <bruno@clisp.org>
36420
36421         * gnulib-tool (func_usage): Clarify which options are available for
36422         --create-testdir and --create-megatestdir.
36423
36424 2010-03-13  Bruno Haible  <bruno@clisp.org>
36425
36426         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
36427         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
36428         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
36429         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
36430         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
36431         when appropriate.
36432         Reported by Jim Meyering.
36433
36434 2010-03-12  Simon Josefsson  <simon@josefsson.org>
36435
36436         * gnulib-tool (func_import): Explain origin of code.
36437
36438 2010-03-12  Bruno Haible  <bruno@clisp.org>
36439
36440         Fix problem with automake's definition of CXXLINK.
36441         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
36442         Reported by Simon Josefsson and Ludovic Courtès.
36443
36444 2010-03-12  Bruno Haible  <bruno@clisp.org>
36445
36446         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
36447         stable releases.
36448
36449 2010-03-11  Bruno Haible  <bruno@clisp.org>
36450
36451         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
36452         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
36453         whether the system provides one variant or multiple variants of the
36454         function.
36455         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
36456         C++ compilers.
36457         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
36458         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
36459         Reported by Jim Meyering.
36460
36461 2010-03-09  Simon Josefsson  <simon@josefsson.org>
36462
36463         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
36464
36465 2010-03-08  Bruno Haible  <bruno@clisp.org>
36466
36467         gnulib-tool: Add support for --libtool in --create-testdir.
36468         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
36469         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
36470
36471 2010-03-08  Eric Blake  <eblake@redhat.com>
36472
36473         gnulib-tool.texi: mention possibility of git submodule
36474         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
36475         submodules.
36476         * doc/.gitignore: Ignore another generated file.
36477
36478 2010-03-08  Karl Berry  <karl@gnu.org>
36479
36480         * doc/gnulib-tool.texi (VCS Issues): Mention third option
36481         of committing gnulib files while skipping others.
36482
36483 2010-03-07  Bruno Haible  <bruno@clisp.org>
36484
36485         Tests of module 'wctype' in C++ mode.
36486         * tests/test-wctype-c++.cc: New file.
36487         * modules/wctype-tests (Files): Add it and tests/signature.h.
36488         (Depends-on): Add ansi-c++-opt.
36489         (Makefile.am): Arrange to compile and run test-wctype-c++.
36490
36491         Tests of module 'wchar' in C++ mode.
36492         * tests/test-wchar-c++.cc: New file.
36493         * modules/wchar-tests (Files): Add it and tests/signature.h.
36494         (Depends-on): Add ansi-c++-opt.
36495         (Makefile.am): Arrange to compile and run test-wchar-c++.
36496         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
36497         gl_MODULE_INDICATOR.
36498
36499         Tests of module 'unistd' in C++ mode.
36500         * tests/test-unistd-c++.cc: New file.
36501         * modules/unistd-tests (Files): Add it and tests/signature.h.
36502         (Depends-on): Add ansi-c++-opt.
36503         (Makefile.am): Arrange to compile and run test-unistd-c++.
36504         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
36505         gl_MODULE_INDICATOR.
36506
36507         Tests of module 'time' in C++ mode.
36508         * tests/test-time-c++.cc: New file.
36509         * modules/time-tests (Files): Add it and tests/signature.h.
36510         (Depends-on): Add ansi-c++-opt.
36511         (Makefile.am): Arrange to compile and run test-time-c++.
36512         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36513
36514         Tests of module 'sys_time' in C++ mode.
36515         * tests/test-sys_time-c++.cc: New file.
36516         * modules/sys_time-tests (Files): Add it and tests/signature.h.
36517         (Depends-on): Add ansi-c++-opt.
36518         (Makefile.am): Arrange to compile and run test-sys_time-c++.
36519         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
36520         gl_MODULE_INDICATOR.
36521
36522         Tests of module 'sys_stat' in C++ mode.
36523         * tests/test-sys_stat-c++.cc: New file.
36524         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
36525         (Depends-on): Add ansi-c++-opt.
36526         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
36527         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
36528         gl_MODULE_INDICATOR.
36529
36530         Tests of module 'sys_socket' in C++ mode.
36531         * tests/test-sys_socket-c++.cc: New file.
36532         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
36533         (Depends-on): Add ansi-c++-opt.
36534         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
36535         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
36536         gl_MODULE_INDICATOR.
36537
36538         Tests of module 'sys_select' in C++ mode.
36539         * tests/test-sys_select-c++.cc: New file.
36540         * modules/sys_select-tests (Files): Add it and tests/signature.h.
36541         (Depends-on): Add ansi-c++-opt.
36542         (Makefile.am): Arrange to compile and run test-sys_select-c++.
36543         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
36544         gl_MODULE_INDICATOR.
36545
36546         Tests of module 'sys_ioctl' in C++ mode.
36547         * tests/test-sys_ioctl-c++.cc: New file.
36548         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
36549         (Depends-on): Add ansi-c++-opt.
36550         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
36551         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
36552         gl_MODULE_INDICATOR.
36553
36554         Tests of module 'string' in C++ mode.
36555         * tests/test-string-c++.cc: New file.
36556         * modules/string-tests (Files): Add it and tests/signature.h.
36557         (Depends-on): Add ansi-c++-opt.
36558         (Makefile.am): Arrange to compile and run test-string-c++.
36559         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
36560         gl_MODULE_INDICATOR.
36561
36562         Tests of module 'stdlib' in C++ mode.
36563         * tests/test-stdlib-c++.cc: New file.
36564         * modules/stdlib-tests (Files): Add it and tests/signature.h.
36565         (Depends-on): Add ansi-c++-opt.
36566         (Makefile.am): Arrange to compile and run test-stdlib-c++.
36567         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
36568         gl_MODULE_INDICATOR.
36569
36570         Tests of module 'stdio' in C++ mode.
36571         * tests/test-stdio-c++.cc: New file.
36572         * modules/stdio-tests (Files): Add it and tests/signature.h.
36573         (Depends-on): Add ansi-c++-opt.
36574         (Makefile.am): Arrange to compile and run test-stdio-c++.
36575         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
36576         gl_MODULE_INDICATOR.
36577
36578         Tests of module 'spawn' in C++ mode.
36579         * tests/test-spawn-c++.cc: New file.
36580         * modules/spawn-tests (Files): Add it and tests/signature.h.
36581         (Depends-on): Add ansi-c++-opt.
36582         (Makefile.am): Arrange to compile and run test-spawn-c++.
36583         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
36584         gl_MODULE_INDICATOR.
36585
36586         Tests of module 'signal' in C++ mode.
36587         * tests/test-signal-c++.cc: New file.
36588         * modules/signal-tests (Files): Add it and tests/signature.h.
36589         (Depends-on): Add ansi-c++-opt.
36590         (Makefile.am): Arrange to compile and run test-signal-c++.
36591         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
36592         gl_MODULE_INDICATOR.
36593
36594         Tests of module 'search' in C++ mode.
36595         * tests/test-search-c++.cc: New file.
36596         * modules/search-tests (Files): Add it and tests/signature.h.
36597         (Depends-on): Add ansi-c++-opt.
36598         (Makefile.am): Arrange to compile and run test-search-c++.
36599         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
36600         gl_MODULE_INDICATOR.
36601
36602         Tests of module 'math' in C++ mode.
36603         * tests/test-math-c++.cc: New file.
36604         * modules/math-tests (Files): Add it and tests/signature.h.
36605         (Depends-on): Add ansi-c++-opt.
36606         (Makefile.am): Arrange to compile and run test-math-c++.
36607         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36608
36609         Tests of module 'locale' in C++ mode.
36610         * tests/test-locale-c++.cc: New file.
36611         * modules/locale-tests (Files): Add it and tests/signature.h.
36612         (Depends-on): Add ansi-c++-opt.
36613         (Makefile.am): Arrange to compile and run test-locale-c++.
36614         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
36615         gl_MODULE_INDICATOR.
36616
36617         Tests of module 'langinfo' in C++ mode.
36618         * tests/test-langinfo-c++.cc: New file.
36619         * modules/langinfo-tests (Files): Add it and tests/signature.h.
36620         (Depends-on): Add ansi-c++-opt.
36621         (Makefile.am): Arrange to compile and run test-langinfo-c++.
36622         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
36623         gl_MODULE_INDICATOR.
36624
36625         Tests of module 'iconv-h' in C++ mode.
36626         * tests/test-iconv-h-c++.cc: New file.
36627         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
36628         (Depends-on): Add ansi-c++-opt.
36629         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
36630
36631         Tests of module 'glob' in C++ mode.
36632         * tests/test-glob-c++.cc: New file.
36633         * modules/glob-tests (Files): Add it.
36634         (Depends-on): Add ansi-c++-opt.
36635         (Makefile.am): Arrange to compile and run test-glob-c++.
36636
36637         Tests of module 'fcntl-h' in C++ mode.
36638         * tests/test-fcntl-h-c++.cc: New file.
36639         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
36640         (Depends-on): Add ansi-c++-opt.
36641         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
36642         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
36643         gl_MODULE_INDICATOR.
36644
36645         Tests of module 'dirent' in C++ mode.
36646         * tests/test-dirent-c++.cc: New file.
36647         * modules/dirent-tests (Files): Add it and tests/signature.h.
36648         (Depends-on): Add ansi-c++-opt.
36649         (Makefile.am): Arrange to compile and run test-dirent-c++.
36650         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
36651         gl_MODULE_INDICATOR.
36652
36653         New module 'ansi-c++-opt'.
36654         * modules/ansi-c++-opt: New file.
36655         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
36656
36657         Document C++ namespace mode.
36658         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
36659
36660         wctype: Avoid #define replacements in C++ mode.
36661         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
36662         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
36663         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
36664         In C++, define a namespaced alias symbol.
36665         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
36666         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
36667         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
36668         rule.
36669
36670         wchar: Avoid #define replacements in C++ mode.
36671         * lib/wchar.in.h: Include c++defs.h.
36672         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
36673         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
36674         symbol.
36675         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
36676         * modules/wchar (Depends-on): Add c++defs.
36677         (Makefile.am): Update wchar.h rule.
36678
36679         unistd: Avoid #define replacements in C++ mode.
36680         * lib/unistd.in.h: Include c++defs.h.
36681         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
36682         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
36683         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
36684         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
36685         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
36686         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
36687         symbol.
36688         (environ): Update.
36689         * modules/unistd (Depends-on): Add c++defs.
36690         (Makefile.am): Update unistd.h rule.
36691
36692         time: Avoid #define replacements in C++ mode.
36693         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
36694         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
36695         define a namespaced alias symbol.
36696         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
36697         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
36698         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
36699         * modules/time (Depends-on): Add c++defs, warn-on-use.
36700         (Makefile.am): Update time.h rule.
36701         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36702         * modules/nanosleep (configure.ac): Likewise.
36703         * modules/strptime (configure.ac): Likewise.
36704         * modules/timegm (configure.ac): Likewise.
36705
36706         sys_time: Avoid #define replacements in C++ mode.
36707         * lib/sys_time.in.h: Include c++defs.h.
36708         (gettimeofday): In C++, define a namespaced alias symbol.
36709         * modules/sys_time (Depends-on): Add c++defs.
36710         (Makefile.am): Update sys/time.h rule.
36711
36712         sys_stat: Avoid #define replacements in C++ mode.
36713         * lib/sys_stat.in.h: Include c++defs.h.
36714         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
36715         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
36716         namespaced alias symbol.
36717         In C++, define a namespaced alias symbol.
36718         * modules/sys_stat (Depends-on): Add c++defs.
36719         (Makefile.am): Update sys/stat.h rule.
36720
36721         sys_socket: Avoid #define replacements in C++ mode.
36722         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
36723         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
36724         definitions also when the system has a <sys/socket.h>.
36725         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36726         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
36727         In C++, define a namespaced alias symbol.
36728         * modules/sys_socket (Depends-on): Add c++defs.
36729         (Makefile.am): Update sys/socket.h rule.
36730
36731         sys_select: Avoid #define replacements in C++ mode.
36732         * lib/sys_select.in.h: Include c++defs.h. Enable the function
36733         definitions also when the system has a <sys/select.h>.
36734         (select): In C++, define a namespaced alias symbol.
36735         * modules/sys_select (Depends-on): Add c++defs.
36736         (Makefile.am): Update sys/select.h rule.
36737
36738         sys_ioctl: Avoid #define replacements in C++ mode.
36739         * lib/sys_ioctl.in.h: Include c++defs.h.
36740         (ioctl): In C++, define a namespaced alias symbol.
36741         * modules/sys_ioctl (Depends-on): Add c++defs.
36742         (Makefile.am): Update sys/ioctl.h rule.
36743
36744         string: Avoid #define replacements in C++ mode.
36745         * lib/string.in.h: Include c++defs.h.
36746         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
36747         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36748         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36749         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
36750         strsignal, strverscmp): In C++, define a namespaced alias symbol.
36751         * modules/string (Depends-on): Add c++defs.
36752         (Makefile.am): Update string.h rule.
36753
36754         stdlib: Avoid #define replacements in C++ mode.
36755         * lib/stdlib.in.h: Include c++defs.h.
36756         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
36757         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
36758         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
36759         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
36760         symbol.
36761         * modules/stdlib (Depends-on): Add c++defs.
36762         (Makefile.am): Update stdlib.h rule.
36763
36764         stdio: Avoid #define replacements in C++ mode.
36765         * lib/stdio.in.h: Include c++defs.h.
36766         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
36767         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
36768         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
36769         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
36770         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
36771         namespaced alias symbol.
36772         * modules/stdio (Depends-on): Add c++defs.
36773         (Makefile.am): Update stdio.h rule.
36774
36775         spawn: Avoid #define replacements in C++ mode.
36776         * lib/spawn.in.h: Include c++defs.h.
36777         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36778         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36779         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36780         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36781         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36782         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36783         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36784         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36785         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36786         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36787         In C++, define a namespaced alias symbol.
36788         * modules/spawn (Depends-on): Add c++defs.
36789         (Makefile.am): Update spawn.h rule.
36790
36791         signal: Avoid #define replacements in C++ mode.
36792         * lib/signal.in.h: Include c++defs.h.
36793         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36794         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
36795         namespaced alias symbol.
36796         * modules/signal (Depends-on): Add c++defs.
36797         (Makefile.am): Update signal.h rule.
36798
36799         search: Avoid #define replacements in C++ mode.
36800         * lib/search.in.h: Include c++defs.h.
36801         (_gl_search_compar_fn, _gl_search_action_fn): New types.
36802         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
36803         symbol.
36804         * modules/search (Depends-on): Add c++defs.
36805         (Makefile.am): Update search.h rule.
36806
36807         math: Avoid #define replacements in C++ mode.
36808         * lib/math.in.h: Include c++defs.h.
36809         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
36810         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
36811         trunc, truncl): In C++, define a namespaced alias symbol.
36812         * modules/math (Depends-on): Add c++defs.
36813         (Makefile.am): Update math.h rule.
36814
36815         locale: Avoid #define replacements in C++ mode.
36816         * lib/locale.in.h: Include c++defs.h.
36817         (duplocale): In C++, define a namespaced alias symbol.
36818         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
36819         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
36820         * modules/locale (Depends-on): Add c++defs.
36821         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
36822
36823         langinfo: Avoid #define replacements in C++ mode.
36824         * lib/langinfo.in.h: Include c++defs.h.
36825         (nl_langinfo): In C++, define a namespaced alias symbol.
36826         * modules/langinfo (Depends-on): Add c++defs.
36827         (Makefile.am): Update langinfo.h rule.
36828
36829         iconv-h: Avoid #define replacements in C++ mode.
36830         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
36831         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
36832         symbol.
36833         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
36834         whenever iconv is present.
36835         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
36836         (Makefile.am): Update iconv.h rule.
36837
36838         glob: Avoid #define replacements in C++ mode.
36839         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
36840         (_gl_glob_errfunc_fn): New type.
36841         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
36842         symbol.
36843         * modules/glob (Depends-on): Add c++defs, warn-on-use.
36844         (Makefile.am): Update glob.h rule.
36845
36846         fcntl-h: Avoid #define replacements in C++ mode.
36847         * lib/fcntl.in.h: Include c++defs.h.
36848         (fcntl, open, openat): In C++, define a namespaced alias symbol.
36849         * modules/fcntl-h (Depends-on): Add c++defs.
36850         (Makefile.am): Update fcntl.h rule.
36851
36852         dirent: Avoid #define replacements in C++ mode.
36853         * lib/dirent.in.h: Include c++defs.h.
36854         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
36855         namespaced alias symbol.
36856         (dirfd): Update declaration.
36857         * modules/dirent (Depends-on): Add c++defs.
36858         (Makefile.am): Update dirent.h rule.
36859
36860         ctype: Make it usable in C++ code.
36861         * lib/ctype.in.h: Include c++defs.h.
36862         (isblank): Declare as extern "C".
36863         * modules/ctype (Depends-on): Add c++defs.
36864         (Makefile.am): Update ctype.h rule.
36865
36866         New module 'c++defs'.
36867         * modules/c++defs: New file.
36868         * build-aux/c++defs.h: New file.
36869         Reported by John W. Eaton <jwe@gnu.org>.
36870
36871 2010-03-07  Bruno Haible  <bruno@clisp.org>
36872
36873         logb: Provide missing declaration for Cygwin.
36874         * lib/math.in.h (logb): New declaration.
36875         * m4/logb.m4: New file.
36876         * modules/logb (Files): Add m4/logb.m4.
36877         (Depends-on): Add math.
36878         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
36879         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
36880         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
36881         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
36882         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
36883
36884 2010-03-07  Bruno Haible  <bruno@clisp.org>
36885
36886         Fix test-cond link error.
36887         * tests/test-cond.c: Include <stdio.h>.
36888
36889 2010-03-07  Bruno Haible  <bruno@clisp.org>
36890
36891         Fix test-dirent-safer link error.
36892         * modules/dirent-safer-tests (Makefile.am): Define
36893         test_dirent_safer_LDADD.
36894
36895 2010-03-07  Bruno Haible  <bruno@clisp.org>
36896
36897         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
36898         among default module list.
36899
36900 2010-03-07  Bruno Haible  <bruno@clisp.org>
36901
36902         Fix link error on platforms with GNU libiconv.
36903         * modules/unistr/u8-strcoll-tests (Makefile): Define
36904         test_u8_strcoll_LDADD.
36905         * modules/unistr/u16-strcoll-tests (Makefile): Define
36906         test_u16_strcoll_LDADD.
36907         * modules/unistr/u32-strcoll-tests (Makefile): Define
36908         test_u32_strcoll_LDADD.
36909
36910 2010-03-07  Bruno Haible  <bruno@clisp.org>
36911
36912         Use POSIX declarations for socket functions.
36913         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
36914         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
36915         rpl_sendto): Change declaration to match POSIX.
36916         * lib/connect.c (rpl_connect): Likewise.
36917         * lib/accept.c (rpl_accept): Likewise.
36918         * lib/bind.c (rpl_bind): Likewise.
36919         * lib/getpeername.c (rpl_getpeername): Likewise.
36920         * lib/getsockname.c (rpl_getsockname): Likewise.
36921         * lib/recv.c (rpl_recv): Likewise.
36922         * lib/send.c (rpl_send): Likewise.
36923         * lib/recvfrom.c (rpl_recvfrom): Likewise.
36924         * lib/sendto.c (rpl_sendto): Likewise.
36925
36926 2010-03-06  Bruno Haible  <bruno@clisp.org>
36927
36928         Clarify access, euidaccess, faccessat.
36929         * doc/posix-functions/faccessat.texi: Mention security problem under
36930         "Other problems", not "Portability problems".
36931         * doc/posix-functions/access.texi: Likewise. Mention a related security
36932         problem.
36933         * doc/glibc-functions/euidaccess.texi: Mention security problems.
36934         * lib/euidaccess.c: Add comments about platforms.
36935         * lib/unistd.in.h (access, euidaccess): Add warnings.
36936
36937 2010-03-07  Bruno Haible  <bruno@clisp.org>
36938
36939         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
36940         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
36941         (POSIX_SPAWN_SETSCHEDULER): Likewise.
36942         (POSIX_SPAWN_USEVFORK): Define in a way that works when
36943         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36944         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
36945         declare when POSIX_SPAWN_SETSCHEDULER is zero.
36946         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
36947         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
36948         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
36949         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
36950         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
36951         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
36952         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
36953         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
36954         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
36955         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
36956         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
36957         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
36958         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
36959         Likewise.
36960         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
36961         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
36962         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
36963         Likewise.
36964         * tests/test-spawn.c (main): Make it work when
36965         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36966
36967 2010-03-07  Bruno Haible  <bruno@clisp.org>
36968
36969         Fix incorrect Makefile.am generation in German locale.
36970         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36971         Execute sed command with character range in C locale.
36972
36973 2010-03-06  Bruno Haible  <bruno@clisp.org>
36974
36975         Tests for module 'iconv-h'.
36976         * modules/iconv-h-tests: New file.
36977         * tests/test-iconv-h.c: New file.
36978
36979         New module 'iconv-h'.
36980         * modules/iconv-h: New file.
36981         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
36982         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
36983         (configure.ac): Remove gl_ICONV_H.
36984         (Makefile.am): Remove rule for iconv.h.
36985
36986 2010-03-06  Bruno Haible  <bruno@clisp.org>
36987
36988         More consistent naming of *.m4 files.
36989         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
36990         * modules/wctype (Files): Update.
36991
36992         More consistent naming of *.m4 files.
36993         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
36994         * modules/wchar (Files): Update.
36995
36996 2010-03-06  Jim Meyering  <meyering@redhat.com>
36997
36998         euidaccess: relax license to LGPLv2+
36999         * modules/euidaccess (License): Relax to LGPLv2+.
37000
37001 2010-03-06  Bruno Haible  <bruno@clisp.org>
37002
37003         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
37004         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
37005         (Makefile.am): Augment lib_SOURCES instead.
37006
37007 2010-03-04  Jim Meyering  <meyering@redhat.com>
37008
37009         utime: remove obsolete module
37010         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
37011         unnecessary for years, and has been marked as obsolete for 10 months.
37012         * modules/utime: Remove file.
37013         * lib/utime.c: Remove file.
37014         * m4/utime.m4: Remove file.
37015         * m4/utimes-null.m4: Remove file.
37016         * doc/posix-functions/utime.texi (utime): Remove reference to
37017         the module.  Move the sole "fixed by gnulib" item into the
37018         "problems not fixed by Gnulib" list.
37019         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
37020
37021 2010-03-05  Simon Josefsson  <simon@josefsson.org>
37022
37023         * modules/exit (License): Relax license to LGPLv2+.
37024         (Status): Mark as obsolete.
37025         * NEWS: Mention deprecated 'exit' module.
37026         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
37027         of now obsolete 'exit'.
37028
37029 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37030
37031         fts-lgpl: remove unused module
37032         * modules/fts-lgpl: Remove.
37033         * MODULES.html.sh (func_all_modules): Adjust.
37034         * check-module (find_included_lib_files): Adjust.
37035         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
37036
37037 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
37038
37039         copy-acl: enhance Solaris ACL error handling
37040         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
37041         * lib/set-mode-acl.c (qset_acl): Likewise.
37042
37043 2010-03-02  Bruno Haible  <bruno@clisp.org>
37044
37045         spawn: Don't override the system defined values on FreeBSD 8.
37046         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
37047         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
37048         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
37049         if HAVE_POSIX_SPAWN is 1.
37050         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
37051
37052 2010-03-01  Bruno Haible  <bruno@clisp.org>
37053
37054         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
37055         regarding Automake.
37056
37057 2010-02-25  Bruno Haible  <bruno@clisp.org>
37058
37059         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
37060         * gnulib-tool: Define 'echo' as a function only before the ksh alias
37061         setting, not afterwards.
37062         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
37063
37064 2010-02-24  Eric Blake  <eblake@redhat.com>
37065
37066         bootstrap, git-version-gen: use timestamp
37067         * build-aux/git-version-gen (scriptversion): Force UTC.
37068         * build-aux/bootstrap (scriptversion): New variable.
37069
37070         bootstrap: allow older git
37071         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
37072         older than 1.6.4.  Requested by the libvirt project.
37073
37074 2010-02-23  Eric Blake  <eblake@redhat.com>
37075
37076         warn-on-use: work with old autoconf
37077         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
37078         AS_VAR semantics of autoconf 2.60.
37079         Reported by Bruno Haible.
37080
37081         bootstrap: improve some comments
37082         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
37083         clarification comments.
37084
37085         gettimeofday: provide correct function
37086         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
37087         when replacement is declared, otherwise provide gettimeofday.
37088         Reported by Michael Goffioul.
37089
37090 2010-02-23  Jim Meyering  <meyering@redhat.com>
37091
37092         lib-ignore: relax license to "unlimited", not LGPLv2+
37093         * modules/lib-ignore (License): Relax to "unlimited".
37094
37095 2010-02-23  Jim Meyering  <meyering@redhat.com>
37096
37097         lib-ignore: relax license to LGPLv2+
37098         * modules/lib-ignore (License): Relax to LGPLv2+.
37099
37100 2010-02-22  Eric Blake  <eblake@redhat.com>
37101
37102         lseek: avoid bash 3.2 broken pipe bug
37103         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
37104         warning from bash 3.2.
37105         Reported by Ben Pfaff, with analysis from Bruno Haible.
37106
37107         bootstrap: support non-FSF copyright holder
37108         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
37109         bootstrap.conf override of COPYRIGHT_HOLDER.
37110         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
37111
37112         bootstrap: interoperate with gettext 0.14.1
37113         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
37114
37115         bootstrap: allow for alternate submodule location
37116         * build-aux/bootstrap (gnulib_path): New variable; use instead of
37117         hardcoding submodule location.
37118         (gnulib_mk): Allow direct use of Makefile.am.
37119
37120         bootstrap: use GNULIB_SRCDIR to reduce disk usage
37121         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
37122         rather than reconfiguring where the submodule points.
37123
37124         gettimeofday: restore support for platforms that lack function
37125         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
37126         replacement if function is missing.
37127         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
37128         * modules/sys_time (Makefile.am): Substitute it.
37129         * lib/sys_time.in.h (gettimeofday): Check it.
37130         Reported by Michael Goffioul.
37131
37132 2010-02-21  Bruno Haible  <bruno@clisp.org>
37133
37134         * lib/stdio.in.h (obstack_printf): Fix typo.
37135
37136 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
37137
37138         vc-list-files: use bzr ls's -R option
37139         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
37140         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
37141
37142 2010-02-21  Jim Meyering  <meyering@redhat.com>
37143
37144         init.sh: fix EXEEXT shims to work also for names like test-prog
37145         * tests/init.sh: Re-exec a better shell, when needed.
37146         If the current shell lacks support for posix $(...), an init.sh-using
37147         test will now try to find a shell that supports that.  If EXEEXT is
37148         nonempty, we also require support for hyphen-in-alias-name and shell
37149         substitutions like ${var#glob}.  Failure to find such a shell results
37150         in a skipped test.
37151
37152 2010-02-21  Bruno Haible  <bruno@clisp.org>
37153
37154         Really work around around "broken pipe" error message from bash 3.2.
37155         * gnulib-tool (func_reset_sigpipe): Remove function.
37156         (echo): In bash 3.2, define to a function that uses printf.
37157         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
37158
37159 2010-02-20  Bruno Haible  <bruno@clisp.org>
37160
37161         Restore support for automake 1.9.6 with autoconf 2.61.
37162         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
37163         Reported by James Youngman <jay@gnu.org>.
37164
37165 2010-02-20  Bruno Haible  <bruno@clisp.org>
37166
37167         Improve *printf warning condition.
37168         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
37169         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
37170         and the function is overridden due to SIGPIPE emulation.
37171
37172 2010-02-20  Bruno Haible  <bruno@clisp.org>
37173
37174         * lib/stdio.in.h: Tweak comments.
37175
37176 2010-02-19  Bruno Haible  <bruno@clisp.org>
37177
37178         Make it easier to find modules. New gnulib-tool option '--find'.
37179         * gnulib-tool: New option --find.
37180         (func_usage): Document it.
37181         (func_sanitize_modulelist): New function, extracted from
37182         func_all_modules.
37183         (func_all_modules): Invoke it.
37184         * doc/gnulib-tool.texi (Which modules?): New node.
37185
37186 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
37187
37188         * lib/sys_select.in.h: Provide select replacement even if
37189         sys/select.h exists on a system, for Interix.
37190
37191 2010-02-18  Jim Meyering  <meyering@redhat.com>
37192
37193         init.sh: don't use $(...) just yet
37194         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
37195         to accommodate e.g., Solaris' /bin/sh.
37196
37197 2010-02-17  Bruno Haible  <bruno@clisp.org>
37198
37199         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
37200         Reported by Ludovic Courtès <ludo@gnu.org>.
37201
37202 2010-02-16  Simon Josefsson  <simon@josefsson.org>
37203
37204         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
37205         linking with -lintl.
37206
37207 2010-02-17  Simon Josefsson  <simon@josefsson.org>
37208
37209         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
37210         if not provided by the system's netdb.h.  Reported by
37211         ludo@gnu.org (Ludovic Courtès).
37212
37213 2010-02-15  Jim Meyering  <meyering@redhat.com>
37214
37215         init.sh: improve portability and efficiency
37216         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
37217         "dummy" in a for loop.
37218         Use '!', not '^' to select the complement of a character set used
37219         in a "case" statement.
37220         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
37221         Suggestions from Eric Blake.
37222
37223         init.sh: automatically accommodate programs with the .exe suffix
37224         Automatically arrange for an invocation of "prog" to execute the
37225         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
37226         may use the simpler "prog", yet still work when built on a system
37227         that requires specifying the added suffix.
37228         Do this by constructing a function named "prog" that invokes
37229         "prog.exe" for each .exe file in selected directories.
37230         * tests/init.sh (find_exe_basenames_): New function.
37231         (create_exe_shim_functions_): New function.
37232         (path_prepend_): Use it.
37233
37234         maint.mk: mark syntax-check sc_*.m rules as .PHONY
37235         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
37236         "make -t syntax-check" doesn't create a ton of sc_*.m files.
37237
37238 2010-02-14  Jim Meyering  <meyering@redhat.com>
37239
37240         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
37241         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
37242         (sc_prohibit_hash_pjw_without_use): New rule.
37243
37244         maint.mk: allow the default upload destination dir to be overridden
37245         * top/maint.mk (upload_dest_dir_): Define with a default that
37246         preserves the status quo.
37247         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
37248         Reported by Peter Simons.
37249
37250         maint.mk: prohibit inclusion of "hash.h" without_use
37251         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
37252
37253 2010-02-10  Jim Meyering  <meyering@redhat.com>
37254
37255         maint.mk: prohibit inclusion of "ignore-value.h" without_use
37256         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
37257
37258 2010-02-09  Eric Blake  <ebb9@byu.net>
37259         and Bruno Haible  <bruno@clisp.org>
37260
37261         obstack-printf-posix: ensure declaration
37262         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
37263         extracted from gl_FUNC_OBSTACK_PRINTF.
37264         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
37265         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
37266         Likewise.
37267         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
37268         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
37269         0.
37270
37271 2010-02-08  Bruno Haible  <bruno@clisp.org>
37272
37273         gnulib-tool: Fix typo in 2010-02-07 commit.
37274         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
37275         Reported by Eric Blake.
37276
37277 2010-02-07  Bruno Haible  <bruno@clisp.org>
37278
37279         gnulib-tool: Fix up caching patches.
37280         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
37281         option --no-cache. Use associative arrays when supported by the shell.
37282         (sed_comments): New variable.
37283         (modcache): Renamed from do_cache.
37284         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
37285         abbreviate unnecessarily.
37286         (have_associative): New variable.
37287         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
37288         way also for ksh and zsh.
37289         (func_init_sed_convert_to_cache_statements): New function, extracted
37290         from func_cache_lookup_module. Add support for associative arrays.
37291         Don't set the c_MODULE_cached variable here. Ignore all lines before
37292         the first field header. Remove only the final newline, not all trailing
37293         newlines. Support empty fields correctly. Limit the use of 'eval' to
37294         assignments.
37295         (func_get_description, func_get_status, func_get_notice,
37296         func_get_applicability, func_get_filelist, func_get_dependencies,
37297         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
37298         func_get_automake_snippet, func_get_include_directive,
37299         func_get_link_directive, func_get_license, func_get_maintainer):
37300         Update documentation. List the unoptimized code first. Add support for
37301         associative arrays. Limit the use of 'eval' to assignments.
37302         (func_get_applicability): Undo stylistic pessimisations.
37303         (func_get_automake_snippet, func_get_include_directive): Reduce code
37304         duplication.
37305         (func_modules_transitive_closure, func_modules_add_dummy,
37306         func_modules_notice, func_modules_to_filelist, func_add_file,
37307         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
37308         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
37309         func_create_testdir, func_create_megatestdir): Update documentation.
37310
37311 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37312
37313         * gnulib-tool (func_cache_lookup_module): Store the module name
37314         belonging to the cache variable; error out if two different
37315         module names map to the same cache variable name.
37316
37317 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37318
37319         gnulib-tool: Make caching optional.
37320         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
37321         Update matching short versions of --no-changelog.
37322         (func_usage): Update.
37323         (sed_extract_cache_prog): Renamed from ...
37324         (sed_extract_prog): ... this; revert to old extraction script.
37325         (func_get_description, func_get_status)
37326         (func_get_notice, func_get_applicability, func_get_filelist)
37327         (func_get_dependencies, func_get_autoconf_early_snippet)
37328         (func_get_autoconf_snippet, func_get_automake_snippet)
37329         (func_get_include_directive, func_get_link_directive)
37330         (func_get_license, func_get_maintainer): If $do_cache is false,
37331         use old, non-caching extraction scripts.
37332         Suggestion by Bruno Haible.
37333
37334 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37335
37336         gnulib-tool: cache module metainformation.
37337         * gnulib-tool (sed_extract_prog): Match newline before each
37338         header, and rewrite header to a shell variable suffix.
37339         (func_cache_var, func_cache_lookup_module): New functions,
37340         to turn a module name into a cache variable prefix, and to
37341         look up and cache module metainformation.
37342         (func_get_description, func_get_status)
37343         (func_get_notice, func_get_applicability, func_get_filelist)
37344         (func_get_dependencies, func_get_autoconf_early_snippet)
37345         (func_get_autoconf_snippet, func_get_automake_snippet)
37346         (func_get_include_directive, func_get_link_directive)
37347         (func_get_license, func_get_maintainer): Use
37348         func_cache_lookup_module.
37349
37350 2010-02-07  Bruno Haible  <bruno@clisp.org>
37351
37352         fnctl: Fix missing dependency.
37353         * modules/fcntl (Depends-on): Add getdtablesize.
37354         Reported by John W. Eaton <jwe@gnu.org>.
37355
37356 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37357
37358         Argp: fix recognition of short alias options.
37359
37360         * lib/argp-parse.c (convert_options): Fix improper use of
37361         `|' between character values.
37362         * tests/test-argp.c (group1_option): New alias option
37363         --read (-r).
37364         (group1_parser): Special handling for 'r'.
37365         (test15): New test case.
37366         (test_fun): Add test15.
37367         * tests/test-argp-2.sh: Update expected --help and --usage
37368         outputs.
37369
37370 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37371
37372         * tests/test-argp.c: Fix indentation.
37373
37374 2010-02-04  Eric Blake  <ebb9@byu.net>
37375
37376         gettimeofday: expose type of second argument
37377         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
37378         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
37379         * tests/test-gettimeofday.c: Use it to silence warning.
37380         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
37381         the issue.
37382
37383 2010-02-03  Jim Meyering  <meyering@redhat.com>
37384
37385         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
37386         * lib/regcomp.c (TYPE_SIGNED): Define.
37387         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
37388
37389         regcomp.c: avoid a new -Wshadow warning
37390         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
37391
37392 2010-02-01  Jim Meyering  <meyering@redhat.com>
37393
37394         removing useless parentheses in cpp #define directives
37395         For motivation, see commit c0221df4, "define STREQ(a,b)
37396         consistently, removing useless parentheses"
37397         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
37398         * lib/mountlist.c (MNT_IGNORE): Likewise.
37399         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
37400
37401 2010-02-01  Eric Blake  <ebb9@byu.net>
37402
37403         sys_time: use link-warning
37404         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
37405         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
37406         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
37407         * modules/sys_time (Depends-on): Add warn-on-use.
37408         (Makefile.am): Always build replacement.
37409         (configure.ac): Update substitutions.
37410         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
37411         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
37412         bother with SYS_TIME_H.
37413         * modules/gettimeofday (configure.ac): Declare indicator.
37414         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
37415         in use.
37416
37417         closein-tests: silence compiler warning
37418         * tests/test-closein.c (main): Ignore fread result.
37419         * modules/closein-tests (Depends-on): Add ignore-value.
37420
37421         tests: silence warning about system return
37422         * tests/test-areadlink-with-size.c (main): Ignore system result.
37423         * tests/test-areadlink.c (main): Likewise.
37424         * tests/test-areadlinkat-with-size.c (main): Likewise.
37425         * tests/test-areadlinkat.c (main): Likewise.
37426         * tests/test-canonicalize-lgpl.c (main): Likewise.
37427         * tests/test-canonicalize.c (main): Likewise.
37428         * tests/test-chown.c (main): Likewise.
37429         * tests/test-fchownat.c (main): Likewise.
37430         * tests/test-fdutimensat.c (main): Likewise.
37431         * tests/test-fstatat.c (main): Likewise.
37432         * tests/test-futimens.c (main): Likewise.
37433         * tests/test-lchown.c (main): Likewise.
37434         * tests/test-link.c (main): Likewise.
37435         * tests/test-linkat.c (main): Likewise.
37436         * tests/test-lstat.c (main): Likewise.
37437         * tests/test-mkdir.c (main): Likewise.
37438         * tests/test-mkdirat.c (main): Likewise.
37439         * tests/test-mkfifo.c (main): Likewise.
37440         * tests/test-mkfifoat.c (main): Likewise.
37441         * tests/test-mknod.c (main): Likewise.
37442         * tests/test-readlink.c (main): Likewise.
37443         * tests/test-remove.c (main): Likewise.
37444         * tests/test-rename.c (main): Likewise.
37445         * tests/test-renameat.c (main): Likewise.
37446         * tests/test-rmdir.c (main): Likewise.
37447         * tests/test-symlink.c (main): Likewise.
37448         * tests/test-symlinkat.c (main): Likewise.
37449         * tests/test-unlink.c (main): Likewise.
37450         * tests/test-unlinkat.c (main): Likewise.
37451         * tests/test-utimens.c (main): Likewise.
37452         * tests/test-utimensat.c (main): Likewise.
37453         * modules/areadlink-tests (Depends-on): Add ignore-value.
37454         * modules/areadlink-with-size-tests (Depends-on): Likewise.
37455         * modules/areadlinkat-tests (Depends-on): Likewise.
37456         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
37457         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37458         * modules/canonicalize-tests (Depends-on): Likewise.
37459         * modules/chown-tests (Depends-on): Likewise.
37460         * modules/fdutimensat-tests (Depends-on): Likewise.
37461         * modules/futimens-tests (Depends-on): Likewise.
37462         * modules/lchown-tests (Depends-on): Likewise.
37463         * modules/link-tests (Depends-on): Likewise.
37464         * modules/linkat-tests (Depends-on): Likewise.
37465         * modules/lstat-tests (Depends-on): Likewise.
37466         * modules/mkdir-tests (Depends-on): Likewise.
37467         * modules/mkfifo-tests (Depends-on): Likewise.
37468         * modules/mkfifoat-tests (Depends-on): Likewise.
37469         * modules/mknod-tests (Depends-on): Likewise.
37470         * modules/openat-tests (Depends-on): Likewise.
37471         * modules/readlink-tests (Depends-on): Likewise.
37472         * modules/remove-tests (Depends-on): Likewise.
37473         * modules/rename-tests (Depends-on): Likewise.
37474         * modules/renameat-tests (Depends-on): Likewise.
37475         * modules/rmdir-tests (Depends-on): Likewise.
37476         * modules/symlink-tests (Depends-on): Likewise.
37477         * modules/symlinkat-tests (Depends-on): Likewise.
37478         * modules/unlink-tests (Depends-on): Likewise.
37479         * modules/utimens-tests (Depends-on): Likewise.
37480         * modules/utimensat-tests (Depends-on): Likewise.
37481
37482 2010-01-31  Bruno Haible  <bruno@clisp.org>
37483
37484         Perform the same test for many <math.h> functions.
37485         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
37486         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
37487         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
37488         of gl_MATHFUNC.
37489         * modules/acos (configure.ac): Likewise.
37490         * modules/asin (configure.ac): Likewise.
37491         * modules/atan (configure.ac): Likewise.
37492         * modules/atan2 (configure.ac): Likewise.
37493         * modules/cbrt (configure.ac): Likewise.
37494         * modules/copysign (configure.ac): Likewise.
37495         * modules/cos (configure.ac): Likewise.
37496         * modules/cosh (configure.ac): Likewise.
37497         * modules/erf (configure.ac): Likewise.
37498         * modules/erfc (configure.ac): Likewise.
37499         * modules/exp (configure.ac): Likewise.
37500         * modules/fmod (configure.ac): Likewise.
37501         * modules/hypot (configure.ac): Likewise.
37502         * modules/j0 (configure.ac): Likewise.
37503         * modules/j1 (configure.ac): Likewise.
37504         * modules/jn (configure.ac): Likewise.
37505         * modules/lgamma (configure.ac): Likewise.
37506         * modules/log (configure.ac): Likewise.
37507         * modules/log10 (configure.ac): Likewise.
37508         * modules/log1p (configure.ac): Likewise.
37509         * modules/pow (configure.ac): Likewise.
37510         * modules/remainder (configure.ac): Likewise.
37511         * modules/sin (configure.ac): Likewise.
37512         * modules/sinh (configure.ac): Likewise.
37513         * modules/tan (configure.ac): Likewise.
37514         * modules/tanh (configure.ac): Likewise.
37515         * modules/y0 (configure.ac): Likewise.
37516         * modules/y1 (configure.ac): Likewise.
37517         * modules/yn (configure.ac): Likewise.
37518         Suggested by Paolo Bonzini.
37519
37520 2010-01-31  Bruno Haible  <bruno@clisp.org>
37521
37522         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
37523
37524 2010-01-31  Bruno Haible  <bruno@clisp.org>
37525
37526         Work around getdelim() bug on FreeBSD 8.0.
37527         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
37528         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
37529         not work.
37530         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
37531         is 1.
37532         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
37533         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
37534         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
37535         a non-zero size.
37536         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
37537
37538 2010-01-31  Bruno Haible  <bruno@clisp.org>
37539
37540         Work around getline() bug on FreeBSD 8.0.
37541         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
37542         and a non-zero size.
37543         * tests/test-getline.c (main): Likewise.
37544         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
37545         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
37546
37547 2010-01-28  Eric Blake  <ebb9@byu.net>
37548
37549         regex: fix build failure
37550         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
37551         platforms.
37552
37553 2010-01-28  Jim Meyering  <meyering@redhat.com>
37554
37555         regex: do not ignore memory allocation failure
37556         * lib/regex_internal.c (create_cd_newstate): Detect
37557         re_node_set_init_copy failure.   Extracted from glibc commit
37558         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37559
37560         regex: sync more white-space changes from libc
37561         * lib/regex_internal.c: White-space only changes.
37562         * lib/regexec.c: Likewise.
37563
37564         regex: add many uses of __attribute_warn_unused_result__
37565         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
37566         * lib/regexec.c: Likewise.
37567         Extracted from a messy glibc commit.
37568
37569         regcomp.c: spelling and merge-artifact from glibc
37570         * lib/regcomp.c: Merge remainder of glibc's
37571         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37572
37573         regcomp.c: sync white-space changes from glibc
37574         * lib/regcomp.c: Merge to accommodate white space
37575         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37576
37577         regcomp.c: do not ignore internal return values
37578         * lib/regcomp.c: Do not ignore internal return values.
37579         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
37580         but without its white-space changes and spelling fixes.
37581
37582         regex_internal.h: define __attribute_warn_unused_result__
37583         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
37584
37585         maint: add a syntax-check rule to check for vulnerable Makefile.in
37586         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
37587
37588 2010-01-27  Jim Meyering  <meyering@redhat.com>
37589
37590         ncftpput-ftp: clean up spaces
37591         * build-aux/ncftpput-ftp: Make Copyright line consistent.
37592         Remove trailing blanks.
37593
37594 2010-01-27  Simon Josefsson  <simon@josefsson.org>
37595
37596         * build-aux/git-version-gen: Fix copyright statement.
37597         * build-aux/gnupload: Likewise.
37598         * tests/test-arcfour.c: Likewise.
37599         * tests/test-arctwo.c: Likewise.
37600         * tests/test-count-one-bits.c: Likewise.
37601         * tests/test-crc.c: Likewise.
37602         * tests/test-des.c: Likewise.
37603         * tests/test-gc-arcfour.c: Likewise.
37604         * tests/test-gc-arctwo.c: Likewise.
37605         * tests/test-gc-des.c: Likewise.
37606         * tests/test-gc-hmac-md5.c: Likewise.
37607         * tests/test-gc-hmac-sha1.c: Likewise.
37608         * tests/test-gc-md2.c: Likewise.
37609         * tests/test-gc-md4.c: Likewise.
37610         * tests/test-gc-md5.c: Likewise.
37611         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37612         * tests/test-gc-rijndael.c: Likewise.
37613         * tests/test-gc-sha1.c: Likewise.
37614         * tests/test-gc.c: Likewise.
37615         * tests/test-gethostname.c: Likewise.
37616         * tests/test-gettimeofday.c: Likewise.
37617         * tests/test-hash.c: Likewise.
37618         * tests/test-hmac-md5.c: Likewise.
37619         * tests/test-hmac-sha1.c: Likewise.
37620         * tests/test-md2.c: Likewise.
37621         * tests/test-md4.c: Likewise.
37622         * tests/test-md5.c: Likewise.
37623         * tests/test-memchr.c: Likewise.
37624         * tests/test-memchr2.c: Likewise.
37625         * tests/test-memcmp.c: Likewise.
37626         * tests/test-memmem.c: Likewise.
37627         * tests/test-memrchr.c: Likewise.
37628         * tests/test-rawmemchr.c: Likewise.
37629         * tests/test-read-file.c: Likewise.
37630         * tests/test-rijndael.c: Likewise.
37631         * tests/test-sockets.c: Likewise.
37632         * tests/test-strchrnul.c: Likewise.
37633         * tests/test-strstr.c: Likewise.
37634         * tests/test-strtod.c: Likewise.
37635         * build-aux/ncftpput-ftp: Likewise.
37636
37637 2010-01-26  Eric Blake  <ebb9@byu.net>
37638
37639         ignore-value: update recommended header name
37640         * modules/ignore-value (Include): Only use <> for headers that
37641         exist in glibc.
37642
37643 2010-01-26  Jim Meyering  <meyering@redhat.com>
37644
37645         test-userspec.c: avoid compiler warnings
37646         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
37647         and "initialization discards qualifiers..." warnings.
37648         Put the first "uid" in its own scope, and make char* members "const".
37649
37650 2010-01-25  Bruno Haible  <bruno@clisp.org>
37651
37652         gnulib-tool: Make warning diagnostics consistent.
37653         * gnulib-tool (func_warning): New function.
37654         Use it everywhere where gnulib-tool produces output to stderr and it is
37655         not a fatal error.
37656
37657 2010-01-25  Bruno Haible  <bruno@clisp.org>
37658
37659         Fix test dependencies.
37660         * modules/xstrtol-tests (Depends-on): Add inttypes.
37661         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
37662
37663 2010-01-25 Pádraig Brady <P@draigBrady.com>
37664
37665         syntax-check: detect incorrect boolean macro values in config.h
37666         * modules/maintainer-makefile (configure.ac): Parameterize the location
37667         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
37668         The logic is from Eric Blake and the location indicated by Jim Meyering.
37669         Note the more natural CONFIG_HEADER name is prohibited by automake
37670         for backwards compatibility reasons.
37671         * top/maint.mk (sc_Wundef_boolean): New rule.
37672
37673 2010-01-25  Jim Meyering  <meyering@redhat.com>
37674
37675         bootstrap: detect MacOS 10.6's shasum, too
37676         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
37677         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
37678
37679 2010-01-23  Jim Meyering  <meyering@redhat.com>
37680
37681         xstrtoll: new module
37682         * modules/xstrtoll: New file.
37683         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
37684         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
37685         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
37686         ./configure fails if you use this module and lack "long long".
37687         * modules/xstrtoll-tests: New module.
37688         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
37689         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
37690         new init.sh-based test framework.
37691
37692 2010-01-24  Bruno Haible  <bruno@clisp.org>
37693
37694         Tests for module 'yn'.
37695         * modules/yn-tests: New file.
37696         * tests/test-yn.c: New file.
37697
37698         Tests for module 'y1'.
37699         * modules/y1-tests: New file.
37700         * tests/test-y1.c: New file.
37701
37702         Tests for module 'y0'.
37703         * modules/y0-tests: New file.
37704         * tests/test-y0.c: New file.
37705
37706         Tests for module 'tanh'.
37707         * modules/tanh-tests: New file.
37708         * tests/test-tanh.c: New file.
37709
37710         Tests for module 'tan'.
37711         * modules/tan-tests: New file.
37712         * tests/test-tan.c: New file.
37713
37714         Tests for module 'sqrt'.
37715         * modules/sqrt-tests: New file.
37716         * tests/test-sqrt.c: New file.
37717
37718         Tests for module 'sinh'.
37719         * modules/sinh-tests: New file.
37720         * tests/test-sinh.c: New file.
37721
37722         Tests for module 'sin'.
37723         * modules/sin-tests: New file.
37724         * tests/test-sin.c: New file.
37725
37726         Tests for module 'rint'.
37727         * modules/rint-tests: New file.
37728         * tests/test-rint.c: New file.
37729
37730         Tests for module 'remainder'.
37731         * modules/remainder-tests: New file.
37732         * tests/test-remainder.c: New file.
37733
37734         Tests for module 'pow'.
37735         * modules/pow-tests: New file.
37736         * tests/test-pow.c: New file.
37737
37738         Tests for module 'nextafter'.
37739         * modules/nextafter-tests: New file.
37740         * tests/test-nextafter.c: New file.
37741
37742         Tests for module 'modf'.
37743         * modules/modf-tests: New file.
37744         * tests/test-modf.c: New file.
37745
37746         Tests for module 'logb'.
37747         * modules/logb-tests: New file.
37748         * tests/test-logb.c: New file.
37749
37750         Tests for module 'log1p'.
37751         * modules/log1p-tests: New file.
37752         * tests/test-log1p.c: New file.
37753
37754         Tests for module 'log10'.
37755         * modules/log10-tests: New file.
37756         * tests/test-log10.c: New file.
37757
37758         Tests for module 'log'.
37759         * modules/log-tests: New file.
37760         * tests/test-log.c: New file.
37761
37762         Tests for module 'lgamma'.
37763         * modules/lgamma-tests: New file.
37764         * tests/test-lgamma.c: New file.
37765
37766         Tests for module 'ldexp'.
37767         * modules/ldexp-tests: New file.
37768         * tests/test-ldexp.c: New file.
37769
37770         Tests for module 'jn'.
37771         * modules/jn-tests: New file.
37772         * tests/test-jn.c: New file.
37773
37774         Tests for module 'j1'.
37775         * modules/j1-tests: New file.
37776         * tests/test-j1.c: New file.
37777
37778         Tests for module 'j0'.
37779         * modules/j0-tests: New file.
37780         * tests/test-j0.c: New file.
37781
37782         Tests for module 'hypot'.
37783         * modules/hypot-tests: New file.
37784         * tests/test-hypot.c: New file.
37785
37786         Tests for module 'fmod'.
37787         * modules/fmod-tests: New file.
37788         * tests/test-fmod.c: New file.
37789
37790         Tests for module 'fabs'.
37791         * modules/fabs-tests: New file.
37792         * tests/test-fabs.c: New file.
37793
37794         Tests for module 'exp'.
37795         * modules/exp-tests: New file.
37796         * tests/test-exp.c: New file.
37797
37798         Tests for module 'erfc'.
37799         * modules/erfc-tests: New file.
37800         * tests/test-erfc.c: New file.
37801
37802         Tests for module 'erf'.
37803         * modules/erf-tests: New file.
37804         * tests/test-erf.c: New file.
37805
37806         Tests for module 'cosh'.
37807         * modules/cosh-tests: New file.
37808         * tests/test-cosh.c: New file.
37809
37810         Tests for module 'cos'.
37811         * modules/cos-tests: New file.
37812         * tests/test-cos.c: New file.
37813
37814         Tests for module 'copysign'.
37815         * modules/copysign-tests: New file.
37816         * tests/test-copysign.c: New file.
37817
37818         Tests for module 'cbrt'.
37819         * modules/cbrt-tests: New file.
37820         * tests/test-cbrt.c: New file.
37821
37822         Tests for module 'atan2'.
37823         * modules/atan2-tests: New file.
37824         * tests/test-atan2.c: New file.
37825
37826         Tests for module 'atan'.
37827         * modules/atan-tests: New file.
37828         * tests/test-atan.c: New file.
37829
37830         Tests for module 'asin'.
37831         * modules/asin-tests: New file.
37832         * tests/test-asin.c: New file.
37833
37834         Tests for module 'acos'.
37835         * modules/acos-tests: New file.
37836         * tests/test-acos.c: New file.
37837
37838 2010-01-24  Bruno Haible  <bruno@clisp.org>
37839
37840         Fix tests for common <math.h> functions.
37841         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
37842         code snippet that references the function pointer, rather than merely
37843         calling the function. Substitute the FUNC_LIBM variable.
37844         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
37845         * modules/acos (configure.ac): Likewise.
37846         * modules/asin (configure.ac): Likewise.
37847         * modules/atan (configure.ac): Likewise.
37848         * modules/atan2 (configure.ac): Likewise.
37849         * modules/cbrt (configure.ac): Likewise.
37850         * modules/copysign (configure.ac): Likewise.
37851         * modules/cos (configure.ac): Likewise.
37852         * modules/cosh (configure.ac): Likewise.
37853         * modules/erf (configure.ac): Likewise.
37854         * modules/erfc (configure.ac): Likewise.
37855         * modules/exp (configure.ac): Likewise.
37856         * modules/fabs (configure.ac): Likewise.
37857         * modules/fmod (configure.ac): Likewise.
37858         * modules/hypot (configure.ac): Likewise.
37859         * modules/j0 (configure.ac): Likewise.
37860         * modules/j1 (configure.ac): Likewise.
37861         * modules/jn (configure.ac): Likewise.
37862         * modules/ldexp (configure.ac): Likewise.
37863         * modules/lgamma (configure.ac): Likewise.
37864         * modules/log (configure.ac): Likewise.
37865         * modules/log10 (configure.ac): Likewise.
37866         * modules/log1p (configure.ac): Likewise.
37867         * modules/logb (configure.ac): Likewise.
37868         * modules/modf (configure.ac): Likewise.
37869         * modules/nextafter (configure.ac): Likewise.
37870         * modules/pow (configure.ac): Likewise.
37871         * modules/remainder (configure.ac): Likewise.
37872         * modules/rint (configure.ac): Likewise.
37873         * modules/sin (configure.ac): Likewise.
37874         * modules/sinh (configure.ac): Likewise.
37875         * modules/tan (configure.ac): Likewise.
37876         * modules/tanh (configure.ac): Likewise.
37877         * modules/y0 (configure.ac): Likewise.
37878         * modules/y1 (configure.ac): Likewise.
37879         * modules/yn (configure.ac): Likewise.
37880
37881 2010-01-24  Bruno Haible  <bruno@clisp.org>
37882
37883         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
37884         * tests/test-acosl.c (x): New variable.
37885         (main): Store argument in x and fetch it from x.
37886         * tests/test-asinl.c (x): New variable.
37887         (main): Store argument in x and fetch it from x.
37888         * tests/test-atanl.c (x): New variable.
37889         (main): Store argument in x and fetch it from x.
37890         * tests/test-cosl.c (x): New variable.
37891         (main): Store argument in x and fetch it from x.
37892         * tests/test-expl.c (x): New variable.
37893         (main): Store argument in x and fetch it from x.
37894         * tests/test-logl.c (x): New variable.
37895         (main): Store argument in x and fetch it from x.
37896         * tests/test-sinl.c (x): New variable.
37897         (main): Store argument in x and fetch it from x.
37898         * tests/test-sqrtl.c (x): New variable.
37899         (main): Store argument in x and fetch it from x.
37900         * tests/test-tanl.c (x): New variable.
37901         (main): Store argument in x and fetch it from x.
37902
37903 2010-01-24  Bruno Haible  <bruno@clisp.org>
37904
37905         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
37906         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
37907         assignments to the initial TESTS_ENVIRONMENT.
37908         * doc/gnulib.texi (Unit test modules): Document it.
37909         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
37910         TESTS_ENVIRONMENT.
37911         * modules/btowc-tests (Makefile.am): Likewise.
37912         * modules/c-stack-tests (Makefile.am): Likewise.
37913         * modules/c-strcase-tests (Makefile.am): Likewise.
37914         * modules/copy-file-tests (Makefile.am): Likewise.
37915         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
37916         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
37917         * modules/mbrtowc-tests (Makefile.am): Likewise.
37918         * modules/mbscasecmp-tests (Makefile.am): Likewise.
37919         * modules/mbscasestr-tests (Makefile.am): Likewise.
37920         * modules/mbschr-tests (Makefile.am): Likewise.
37921         * modules/mbscspn-tests (Makefile.am): Likewise.
37922         * modules/mbsinit-tests (Makefile.am): Likewise.
37923         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
37924         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
37925         * modules/mbspbrk-tests (Makefile.am): Likewise.
37926         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
37927         * modules/mbsrchr-tests (Makefile.am): Likewise.
37928         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
37929         * modules/mbsspn-tests (Makefile.am): Likewise.
37930         * modules/mbsstr-tests (Makefile.am): Likewise.
37931         * modules/nl_langinfo-tests (Makefile.am): Likewise.
37932         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
37933         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
37934         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
37935         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
37936         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
37937         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
37938         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
37939         * modules/wcrtomb-tests (Makefile.am): Likewise.
37940         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
37941         * modules/wcsrtombs-tests (Makefile.am): Likewise.
37942         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
37943         assignments from TESTS_ENVIRONMENT.
37944         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
37945         augmentation.
37946         * modules/argp-version-etc-tests (Makefile.am): Likewise.
37947         * modules/atexit-tests (Makefile.am): Likewise.
37948         * modules/binary-io-tests (Makefile.am): Likewise.
37949         * modules/closein-tests (Makefile.am): Likewise.
37950         * modules/dprintf-posix-tests (Makefile.am): Likewise.
37951         * modules/exclude-tests (Makefile.am): Likewise.
37952         * modules/fflush-tests (Makefile.am): Likewise.
37953         * modules/fpending-tests (Makefile.am): Likewise.
37954         * modules/fprintf-posix-tests (Makefile.am): Likewise.
37955         * modules/freadahead-tests (Makefile.am): Likewise.
37956         * modules/freadptr-tests (Makefile.am): Likewise.
37957         * modules/freadseek-tests (Makefile.am): Likewise.
37958         * modules/fseek-tests (Makefile.am): Likewise.
37959         * modules/fseeko-tests (Makefile.am): Likewise.
37960         * modules/ftell-tests (Makefile.am): Likewise.
37961         * modules/ftello-tests (Makefile.am): Likewise.
37962         * modules/idpriv-drop-tests (Makefile.am): Likewise.
37963         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
37964         * modules/lseek-tests (Makefile.am): Likewise.
37965         * modules/parse-duration-tests (Makefile.am): Likewise.
37966         * modules/perror-tests (Makefile.am): Likewise.
37967         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
37968         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
37969         * modules/pipe-tests (Makefile.am): Likewise.
37970         * modules/pread-tests (Makefile.am): Likewise.
37971         * modules/printf-posix-tests (Makefile.am): Likewise.
37972         * modules/select-tests (Makefile.am): Likewise.
37973         * modules/sigpipe-tests (Makefile.am): Likewise.
37974         * modules/tsearch-tests (Makefile.am): Likewise.
37975         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
37976         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
37977         * modules/uniname/uniname-tests (Makefile.am): Likewise.
37978         * modules/uniwidth/width-tests (Makefile.am): Likewise.
37979         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
37980         * modules/version-etc-tests (Makefile.am): Likewise.
37981         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
37982         * modules/vprintf-posix-tests (Makefile.am): Likewise.
37983         * modules/xalloc-die-tests (Makefile.am): Likewise.
37984         * modules/xprintf-posix-tests (Makefile.am): Likewise.
37985         * modules/xstrtoimax-tests (Makefile.am): Likewise.
37986         * modules/xstrtol-tests (Makefile.am): Likewise.
37987         * modules/xstrtoumax-tests (Makefile.am): Likewise.
37988         * modules/yesno-tests (Makefile.am): Likewise.
37989         Suggested by Jim Meyering.
37990
37991 2010-01-24  Bruno Haible  <bruno@clisp.org>
37992
37993         More documentation.
37994         * doc/gnulib.texi (Writing modules): New chapter.
37995         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
37996         the new chapter.
37997
37998 2010-01-24  Jim Meyering  <meyering@redhat.com>
37999
38000         maint.mk: do not prepend "./" after filtering
38001         * top/maint.mk (_prepend_srcdir_prefix): New variable
38002         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
38003         "./" when $(srcdir) is ".".
38004
38005         define STREQ(a,b) consistently, removing useless parentheses
38006         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
38007         since the only risk is that "a" or "b" contains an unparenthesized
38008         comma, but if either did that, STREQ would have 3 or more arguments.
38009         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
38010         * lib/fts.c (STREQ): Remove unnecessary parentheses.
38011         * lib/hash-triple.c (STREQ): Likewise.
38012         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
38013         * lib/getugroups.c (STREQ): Likewise.
38014
38015 2010-01-23  Jim Meyering  <meyering@redhat.com>
38016
38017         maint.mk: fix syntax-check in a non-srcdir build directory
38018         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
38019         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
38020
38021 2010-01-22  Jim Meyering  <meyering@redhat.com>
38022
38023         userspec: add unit tests
38024         * tests/test-userspec.c: New file.
38025         * modules/userspec-tests: Likewise.
38026
38027 2010-01-21  Jim Meyering  <meyering@redhat.com>
38028
38029         maint.mk: handle source file names containing "." robustly
38030         * top/maint.mk (_dot_escaped_srcdir): Define.
38031         (VC_LIST): Use it in LHS of sed substitution.
38032
38033 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
38034
38035         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
38036         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
38037         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
38038         from a non-srcdir build.
38039
38040 2010-01-20  Eric Blake  <ebb9@byu.net>
38041
38042         warn-on-use: use instead of link-warning
38043         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
38044         * modules/unistd (Depends-on, Makefile.am): Likewise.
38045         * modules/arpa_inet (Depends-on): Replace link-warning with
38046         warn-on-use.
38047         (Makefile.am): Update rules accordingly.
38048         * modules/ctype (Depends-on, Makefile.am): Likewise.
38049         * modules/dirent (Depends-on, Makefile.am): Likewise.
38050         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
38051         * modules/inttypes (Depends-on, Makefile.am): Likewise.
38052         * modules/langinfo (Depends-on, Makefile.am): Likewise.
38053         * modules/locale (Depends-on, Makefile.am): Likewise.
38054         * modules/math (Depends-on, Makefile.am): Likewise.
38055         * modules/search (Depends-on, Makefile.am): Likewise.
38056         * modules/signal (Depends-on, Makefile.am): Likewise.
38057         * modules/spawn (Depends-on, Makefile.am): Likewise.
38058         * modules/stdlib (Depends-on, Makefile.am): Likewise.
38059         * modules/string (Depends-on, Makefile.am): Likewise.
38060         * modules/strings (Depends-on, Makefile.am): Likewise.
38061         * modules/sys_file (Depends-on, Makefile.am): Likewise.
38062         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
38063         * modules/sys_select (Depends-on, Makefile.am): Likewise.
38064         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
38065         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
38066         * modules/sys_times (Depends-on, Makefile.am): Likewise.
38067         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
38068         * modules/wchar (Depends-on, Makefile.am): Likewise.
38069         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
38070         should be poisoned.
38071         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
38072         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
38073         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
38074         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38075         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
38076         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
38077         * m4/math_h.m4 (gl_MATH_H): Likewise.
38078         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
38079         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
38080         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
38081         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
38082         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
38083         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
38084         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
38085         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
38086         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
38087         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38088         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
38089         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
38090         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
38091         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
38092         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
38093         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
38094         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
38095         GL_LINK_WARNING.
38096         * lib/ctype.in.h: Likewise.
38097         * lib/dirent.in.h: Likewise.
38098         * lib/fcntl.in.h: Likewise.
38099         * lib/inttypes.in.h: Likewise.
38100         * lib/langinfo.in.h: Likewise.
38101         * lib/locale.in.h: Likewise.
38102         * lib/math.in.h: Likewise.
38103         * lib/search.in.h: Likewise.
38104         * lib/signal.in.h: Likewise.
38105         * lib/spawn.in.h: Likewise.
38106         * lib/stdio.in.h: Likewise.
38107         * lib/stdlib.in.h: Likewise.
38108         * lib/string.in.h: Likewise.
38109         * lib/strings.in.h: Likewise.
38110         * lib/sys_file.in.h: Likewise.
38111         * lib/sys_ioctl.in.h: Likewise.
38112         * lib/sys_select.in.h: Likewise.
38113         * lib/sys_socket.in.h: Likewise.
38114         * lib/sys_stat.in.h: Likewise.
38115         * lib/sys_times.in.h: Likewise.
38116         * lib/sys_utsname.in.h: Likewise.
38117         * lib/unistd.in.h: Likewise.
38118         * lib/wchar.in.h: Likewise.
38119
38120 2010-01-20  Bruno Haible  <bruno@clisp.org>
38121
38122         Avoid duplicate -lm.
38123         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
38124         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
38125         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
38126         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
38127         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
38128         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
38129         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
38130         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
38131         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
38132         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
38133         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
38134         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
38135         Reported by Paolo Bonzini.
38136
38137 2010-01-19  Bruno Haible  <bruno@clisp.org>
38138
38139         langinfo, nl_langinfo: Relicense under LGPLv2+.
38140         * modules/langinfo (License): Change to LGPLv2+.
38141         * modules/nl_langinfo (License): Likewise.
38142         Patch by David Lutterkort <lutter@redhat.com>.
38143
38144 2010-01-19  Bruno Haible  <bruno@clisp.org>
38145
38146         Avoid compilation error with cc on OSF/1 5.1.
38147         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
38148         statement, not before.
38149         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38150
38151 2010-01-18  Bruno Haible  <bruno@clisp.org>
38152
38153         Avoid a link error due to the __printf__ symbol.
38154         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
38155         and 2.6.x.
38156         (__format__, __printf__): Remove definitions.
38157         * lib/argp-fmtstream.h: Likewise.
38158         * lib/argp.h: Likewise.
38159         * lib/error.h: Likewise.
38160         * lib/vasnprintf.h: Likewise.
38161         * lib/xprintf.h: Likewise.
38162         * lib/xvasprintf.h: Likewise.
38163         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38164
38165 2010-01-18  Bruno Haible  <bruno@clisp.org>
38166
38167         Tests for module 'tanl'.
38168         * modules/tanl-tests: New file.
38169         * tests/test-tanl.c: New file.
38170
38171         Tests for module 'sqrtl'.
38172         * modules/sqrtl-tests: New file.
38173         * tests/test-sqrtl.c: New file.
38174
38175         Tests for module 'sinl'.
38176         * modules/sinl-tests: New file.
38177         * tests/test-sinl.c: New file.
38178
38179         Tests for module 'logl'.
38180         * modules/logl-tests: New file.
38181         * tests/test-logl.c: New file.
38182
38183         Tests for module 'expl'.
38184         * modules/expl-tests: New file.
38185         * tests/test-expl.c: New file.
38186
38187         Tests for module 'cosl'.
38188         * modules/cosl-tests: New file.
38189         * tests/test-cosl.c: New file.
38190
38191         Tests for module 'atanl'.
38192         * modules/atanl-tests: New file.
38193         * tests/test-atanl.c: New file.
38194
38195         Tests for module 'asinl'.
38196         * modules/asinl-tests: New file.
38197         * tests/test-asinl.c: New file.
38198
38199         Tests for module 'acosl'.
38200         * modules/acosl-tests: New file.
38201         * tests/test-acosl.c: New file.
38202
38203         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
38204         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
38205         tanl): Use the standard gnulib idiom.
38206         * lib/cosl.c: Don't include trigl.c and sincosl.c.
38207         * lib/sinl.c: Likewise.
38208         * lib/tanl.c: Don't include trigl.c.
38209         (kernel_tanl): Make static.
38210         * lib/sincosl.c: Include trigl.h first.
38211         * lib/trigl.c: Likewise.
38212         * m4/acosl.m4: New file.
38213         * m4/asinl.m4: New file.
38214         * m4/atanl.m4: New file.
38215         * m4/cosl.m4: New file.
38216         * m4/expl.m4: New file.
38217         * m4/logl.m4: New file.
38218         * m4/sinl.m4: New file.
38219         * m4/sqrtl.m4: New file.
38220         * m4/tanl.m4: New file.
38221         * m4/mathl.m4: Remove file.
38222         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
38223         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
38224         Don't initialize GNULIB_MATHL.
38225         * modules/acosl: New file.
38226         * modules/asinl: New file.
38227         * modules/atanl: New file.
38228         * modules/cosl: New file.
38229         * modules/expl: New file.
38230         * modules/logl: New file.
38231         * modules/sinl: New file.
38232         * modules/sqrtl: New file.
38233         * modules/tanl: New file.
38234         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
38235         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
38236         substitute GNULIB_MATHL.
38237         * modules/mathl: Rewritten.
38238         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
38239         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
38240         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
38241         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
38242         * doc/posix-functions/expl.texi: Mention the 'expl' module.
38243         * doc/posix-functions/logl.texi: Mention the 'logl' module.
38244         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
38245         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
38246         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
38247
38248 2010-01-18  Bruno Haible  <bruno@clisp.org>
38249
38250         sqrt: Make gl_FUNC_SQRT requirable.
38251         * m4/sqrt.m4: New file.
38252         * modules/sqrt (Files): Add it.
38253         (configure.ac): Invoke gl_FUNC_SQRT.
38254
38255 2010-01-18  Bruno Haible  <bruno@clisp.org>
38256
38257         New modules for common <math.h> functions.
38258         * m4/mathfunc.m4: New file.
38259         * modules/acos: New file.
38260         * modules/asin: New file.
38261         * modules/atan: New file.
38262         * modules/atan2: New file.
38263         * modules/cbrt: New file.
38264         * modules/copysign: New file.
38265         * modules/cos: New file.
38266         * modules/cosh: New file.
38267         * modules/erf: New file.
38268         * modules/erfc: New file.
38269         * modules/exp: New file.
38270         * modules/fabs: New file.
38271         * modules/fmod: New file.
38272         * modules/hypot: New file.
38273         * modules/j0: New file.
38274         * modules/j1: New file.
38275         * modules/jn: New file.
38276         * modules/ldexp: New file.
38277         * modules/lgamma: New file.
38278         * modules/log: New file.
38279         * modules/log10: New file.
38280         * modules/log1p: New file.
38281         * modules/logb: New file.
38282         * modules/modf: New file.
38283         * modules/nextafter: New file.
38284         * modules/pow: New file.
38285         * modules/remainder: New file.
38286         * modules/rint: New file.
38287         * modules/sin: New file.
38288         * modules/sinh: New file.
38289         * modules/sqrt: New file.
38290         * modules/tan: New file.
38291         * modules/tanh: New file.
38292         * modules/y0: New file.
38293         * modules/y1: New file.
38294         * modules/yn: New file.
38295         * doc/posix-functions/acos.texi: Mention the 'acos' module.
38296         * doc/posix-functions/asin.texi: Mention the 'asin' module.
38297         * doc/posix-functions/atan.texi: Mention the 'atan' module.
38298         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
38299         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
38300         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
38301         * doc/posix-functions/cos.texi: Mention the 'cos' module.
38302         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
38303         * doc/posix-functions/erf.texi: Mention the 'erf' module.
38304         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
38305         * doc/posix-functions/exp.texi: Mention the 'exp' module.
38306         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
38307         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
38308         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
38309         * doc/posix-functions/j0.texi: Mention the 'j0' module.
38310         * doc/posix-functions/j1.texi: Mention the 'j1' module.
38311         * doc/posix-functions/jn.texi: Mention the 'jn' module.
38312         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
38313         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
38314         * doc/posix-functions/log.texi: Mention the 'log' module.
38315         * doc/posix-functions/log10.texi: Mention the 'log10' module.
38316         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
38317         * doc/posix-functions/logb.texi: Mention the 'logb' module.
38318         * doc/posix-functions/modf.texi: Mention the 'modf' module.
38319         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
38320         * doc/posix-functions/pow.texi: Mention the 'pow' module.
38321         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
38322         * doc/posix-functions/rint.texi: Mention the 'rint' module.
38323         * doc/posix-functions/sin.texi: Mention the 'sin' module.
38324         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
38325         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
38326         * doc/posix-functions/tan.texi: Mention the 'tan' module.
38327         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
38328         * doc/posix-functions/y0.texi: Mention the 'y0' module.
38329         * doc/posix-functions/y1.texi: Mention the 'y1' module.
38330         * doc/posix-functions/yn.texi: Mention the 'yn' module.
38331
38332 2010-01-18  Jim Meyering  <meyering@redhat.com>
38333
38334         ignore-value: relax license to LGPLv2+
38335         * modules/ignore-value (License): Relax to LGPLv2+.
38336
38337         getdate: don't leak when TZ contains two or more '"'s
38338         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
38339         double quote in TZ after the first one.
38340
38341         readtokens: do not leak internal token_lengths buffer
38342         * lib/readtokens.c (readtokens): Free the local, lengths,
38343         when the supplied "token_lengths" parameter is NULL.
38344
38345 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38346
38347         Fix a couple of missing LIBTHREAD link failures on AIX.
38348         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
38349         $(LIBTHREAD).
38350         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
38351
38352         Link test-poll against INET_PTON_LIB.
38353         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
38354         for inet_pton on Solaris 10.
38355
38356 2010-01-17  Bruno Haible  <bruno@clisp.org>
38357
38358         unistdio/*-sprintf: Fix typo in module description.
38359         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
38360         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
38361         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
38362         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
38363         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
38364         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
38365         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
38366         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38367
38368 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38369
38370         gnulib-tool: fix filelist for AIX, HP-UX ksh.
38371         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
38372         variables in shell case patterns, for AIX and HP-UX ksh.
38373
38374         Split large sed scripts, for HP-UX sed.
38375         * modules/stdio: Split sed scripts around 50 sed commands,
38376         to avoid HP-UX limit of 99 commands, in the near future.
38377         * modules/string: Likewise.
38378         * modules/unistd: Likewise.
38379
38380         gnulib-tool: avoid writing in the current directory.
38381         * gnulib-tool (func_emit_lib_Makefile_am)
38382         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
38383         not in the current directory, so concurrent gnulib-tool
38384         instances do not interfere.
38385
38386 2010-01-16  Jim Meyering  <meyering@redhat.com>
38387
38388         doc: update users.txt
38389         * users.txt: Add grep.
38390         (diffutils, gzip): Update URLs.
38391
38392 2010-01-12  Bruno Haible  <bruno@clisp.org>
38393
38394         posix_spawn: Avoid test failure on Cygwin.
38395         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
38396         characters.
38397         Reported by Simon Josefsson.
38398
38399 2010-01-12  Bruno Haible  <bruno@clisp.org>
38400
38401         * tests/test-cond.c (main): When skipping the test, show the reason.
38402
38403 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38404
38405         * lib/striconv.c (str_cd_iconv): Avoid if before free.
38406
38407 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38408
38409         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
38410         VC_LIST_ALWAYS_EXCLUDE_REGEX.
38411
38412 2010-01-12  Eric Blake  <ebb9@byu.net>
38413
38414         build: guarantee AS_VAR_IF
38415         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
38416         (gl_AS_VAR_IF): Move...
38417         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
38418         Reported by Simon Josefsson.
38419
38420 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38421
38422         * lib/stdio.in.h: Fix typo.
38423
38424 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38425
38426         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
38427         libgpg-error.
38428
38429 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38430
38431         * tests/test-xalloc-die.sh: Use $EXEEXT.
38432
38433 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38434             Bruno Haible  <bruno@clisp.org>
38435
38436         getlogin, getlogin_r: Avoid test failure.
38437         * tests/test-getlogin.c: Include <stdio.h>.
38438         (main): Skip the test when the function fails because stdin is not a
38439         tty.
38440         * tests/test-getlogin_r.c: Include <stdio.h>.
38441         (main): Skip the test when the function fails because stdin is not a
38442         tty.
38443
38444 2010-01-11  Eric Blake  <ebb9@byu.net>
38445
38446         tests: avoid more large file warnings
38447         * tests/test-fflush.c: Avoid warning about ftell use.
38448         * tests/test-fseek.c: Avoid warning about fseek use.
38449
38450 2010-01-10  Bruno Haible  <bruno@clisp.org>
38451
38452         nproc: Work better on Linux when /proc and /sys are not mounted.
38453         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
38454         as lower bound when, on glibc/Linux systems,
38455         sysconf (_SC_NPROCESSORS_CONF) returns 1.
38456         Suggested by Pádraig Brady <P@draigbrady.com>.
38457         Reported by Dmitry V. Levin <ldv@altlinux.org>.
38458
38459         nproc: Refactor.
38460         * lib/nproc.c (num_processors_via_affinity_mask): New function,
38461         extracted from num_processors.
38462         (num_processors): Call it.
38463
38464 2010-01-11  Jim Meyering  <meyering@redhat.com>
38465
38466         utimecmp: avoid new warning from upcoming gcc-4.5.0
38467         * lib/utimecmp.c (BILLION): Define using #define rather than an
38468         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
38469
38470 2010-01-11  Eric Blake  <ebb9@byu.net>
38471
38472         math: add portability warnings for classification macros
38473         * modules/math (Depends-on): Add warn-on-use.
38474         (Makefile.am): Provide new substitutions.
38475         * m4/math_h.m4 (gl_MATH_H): Require inline.
38476         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
38477         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
38478         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
38479         implement warnings.
38480
38481         unistd: warn on use of environ without module
38482         * modules/unistd (Depends-on): Add warn-on-use.
38483         (Makefile.am): Provide new substitutions.
38484         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
38485         * lib/unistd.in.h (environ): Wrap with a warning helper function.
38486
38487         stdio: warn on suspicious uses
38488         * modules/stdio (Depends-on): Add warn-on-use.
38489         (Makefile.am): Provide new substitutions.
38490         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
38491         fseeko.
38492         * lib/stdio.in.h (gets): Always warn on use.
38493         (fseek, ftell): Adjust when warnings are issued, and honor
38494         _GL_NO_LARGE_FILES as a way to silence the warning.
38495         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
38496         any warning about large file offsets.
38497         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
38498         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
38499         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
38500         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
38501         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
38502         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
38503         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
38504         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
38505
38506         warn-on-use: new module
38507         * modules/warn-on-use: New file.
38508         * build-aux/warn-on-use.h: Likewise.
38509         * m4/warn-on-use.m4: Likewise.
38510         * MODULES.html.sh (Support for building): Mention it.
38511
38512 2010-01-10  Bruno Haible  <bruno@clisp.org>
38513
38514         Tests for module 'unistr/u32-strdup'.
38515         * modules/unistr/u32-strdup-tests: New file.
38516         * tests/unistr/test-u32-strdup.c: New file.
38517
38518         Tests for module 'unistr/u16-strdup'.
38519         * modules/unistr/u16-strdup-tests: New file.
38520         * tests/unistr/test-u16-strdup.c: New file.
38521
38522         Tests for module 'unistr/u8-strdup'.
38523         * modules/unistr/u8-strdup-tests: New file.
38524         * tests/unistr/test-u8-strdup.c: New file.
38525         * tests/unistr/test-strdup.h: New file.
38526
38527         Tests for module 'unistr/u32-strncmp'.
38528         * modules/unistr/u32-strncmp-tests: New file.
38529         * tests/unistr/test-u32-strncmp.c: New file.
38530
38531         Tests for module 'unistr/u16-strncmp'.
38532         * modules/unistr/u16-strncmp-tests: New file.
38533         * tests/unistr/test-u16-strncmp.c: New file.
38534
38535         Tests for module 'unistr/u8-strncmp'.
38536         * modules/unistr/u8-strncmp-tests: New file.
38537         * tests/unistr/test-u8-strncmp.c: New file.
38538         * tests/unistr/test-strncmp.h: New file.
38539
38540         Tests for module 'unistr/u32-strcoll'.
38541         * modules/unistr/u32-strcoll-tests: New file.
38542         * tests/unistr/test-u32-strcoll.c: New file.
38543
38544         Tests for module 'unistr/u16-strcoll'.
38545         * modules/unistr/u16-strcoll-tests: New file.
38546         * tests/unistr/test-u16-strcoll.c: New file.
38547
38548         Tests for module 'unistr/u8-strcoll'.
38549         * modules/unistr/u8-strcoll-tests: New file.
38550         * tests/unistr/test-u8-strcoll.c: New file.
38551
38552         Tests for module 'unistr/u32-strcmp'.
38553         * modules/unistr/u32-strcmp-tests: New file.
38554         * tests/unistr/test-u32-strcmp.c: New file.
38555         * tests/unistr/test-u32-strcmp.h: New file.
38556
38557         Tests for module 'unistr/u16-strcmp'.
38558         * modules/unistr/u16-strcmp-tests: New file.
38559         * tests/unistr/test-u16-strcmp.c: New file.
38560         * tests/unistr/test-u16-strcmp.h: New file.
38561
38562         Tests for module 'unistr/u8-strcmp'.
38563         * modules/unistr/u8-strcmp-tests: New file.
38564         * tests/unistr/test-u8-strcmp.c: New file.
38565         * tests/unistr/test-u8-strcmp.h: New file.
38566         * tests/unistr/test-strcmp.h: New file.
38567
38568         Tests for module 'unistr/u32-strncat'.
38569         * modules/unistr/u32-strncat-tests: New file.
38570         * tests/unistr/test-u32-strncat.c: New file.
38571
38572         Tests for module 'unistr/u16-strncat'.
38573         * modules/unistr/u16-strncat-tests: New file.
38574         * tests/unistr/test-u16-strncat.c: New file.
38575
38576         Tests for module 'unistr/u8-strncat'.
38577         * modules/unistr/u8-strncat-tests: New file.
38578         * tests/unistr/test-u8-strncat.c: New file.
38579         * tests/unistr/test-strncat.h: New file.
38580
38581         Tests for module 'unistr/u32-strcat'.
38582         * modules/unistr/u32-strcat-tests: New file.
38583         * tests/unistr/test-u32-strcat.c: New file.
38584
38585         Tests for module 'unistr/u16-strcat'.
38586         * modules/unistr/u16-strcat-tests: New file.
38587         * tests/unistr/test-u16-strcat.c: New file.
38588
38589         Tests for module 'unistr/u8-strcat'.
38590         * modules/unistr/u8-strcat-tests: New file.
38591         * tests/unistr/test-u8-strcat.c: New file.
38592         * tests/unistr/test-strcat.h: New file.
38593
38594         Tests for module 'unistr/u32-stpncpy'.
38595         * modules/unistr/u32-stpncpy-tests: New file.
38596         * tests/unistr/test-u32-stpncpy.c: New file.
38597
38598         Tests for module 'unistr/u16-stpncpy'.
38599         * modules/unistr/u16-stpncpy-tests: New file.
38600         * tests/unistr/test-u16-stpncpy.c: New file.
38601
38602         Tests for module 'unistr/u8-stpncpy'.
38603         * modules/unistr/u8-stpncpy-tests: New file.
38604         * tests/unistr/test-u8-stpncpy.c: New file.
38605         * tests/unistr/test-stpncpy.h: New file.
38606
38607         Tests for module 'unistr/u32-strncpy'.
38608         * modules/unistr/u32-strncpy-tests: New file.
38609         * tests/unistr/test-u32-strncpy.c: New file.
38610
38611         Tests for module 'unistr/u16-strncpy'.
38612         * modules/unistr/u16-strncpy-tests: New file.
38613         * tests/unistr/test-u16-strncpy.c: New file.
38614
38615         Tests for module 'unistr/u8-strncpy'.
38616         * modules/unistr/u8-strncpy-tests: New file.
38617         * tests/unistr/test-u8-strncpy.c: New file.
38618         * tests/unistr/test-strncpy.h: New file.
38619
38620         Tests for module 'unistr/u32-stpcpy'.
38621         * modules/unistr/u32-stpcpy-tests: New file.
38622         * tests/unistr/test-u32-stpcpy.c: New file.
38623
38624         Tests for module 'unistr/u16-stpcpy'.
38625         * modules/unistr/u16-stpcpy-tests: New file.
38626         * tests/unistr/test-u16-stpcpy.c: New file.
38627
38628         Tests for module 'unistr/u8-stpcpy'.
38629         * modules/unistr/u8-stpcpy-tests: New file.
38630         * tests/unistr/test-u8-stpcpy.c: New file.
38631         * tests/unistr/test-stpcpy.h: New file.
38632
38633         Tests for module 'unistr/u32-strcpy'.
38634         * modules/unistr/u32-strcpy-tests: New file.
38635         * tests/unistr/test-u32-strcpy.c: New file.
38636
38637         Tests for module 'unistr/u16-strcpy'.
38638         * modules/unistr/u16-strcpy-tests: New file.
38639         * tests/unistr/test-u16-strcpy.c: New file.
38640
38641         Tests for module 'unistr/u8-strcpy'.
38642         * modules/unistr/u8-strcpy-tests: New file.
38643         * tests/unistr/test-u8-strcpy.c: New file.
38644         * tests/unistr/test-strcpy.h: New file.
38645
38646         Tests for module 'unistr/u32-strnlen'.
38647         * modules/unistr/u32-strnlen-tests: New file.
38648         * tests/unistr/test-u32-strnlen.c: New file.
38649
38650         Tests for module 'unistr/u16-strnlen'.
38651         * modules/unistr/u16-strnlen-tests: New file.
38652         * tests/unistr/test-u16-strnlen.c: New file.
38653
38654         Tests for module 'unistr/u8-strnlen'.
38655         * modules/unistr/u8-strnlen-tests: New file.
38656         * tests/unistr/test-u8-strnlen.c: New file.
38657         * tests/unistr/test-strnlen.h: New file.
38658
38659         Tests for module 'unistr/u32-strlen'.
38660         * modules/unistr/u32-strlen-tests: New file.
38661         * tests/unistr/test-u32-strlen.c: New file.
38662
38663         Tests for module 'unistr/u16-strlen'.
38664         * modules/unistr/u16-strlen-tests: New file.
38665         * tests/unistr/test-u16-strlen.c: New file.
38666
38667         Tests for module 'unistr/u8-strlen'.
38668         * modules/unistr/u8-strlen-tests: New file.
38669         * tests/unistr/test-u8-strlen.c: New file.
38670
38671         Tests for module 'unistr/u32-prev'.
38672         * modules/unistr/u32-prev-tests: New file.
38673         * tests/unistr/test-u32-prev.c: New file.
38674
38675         Tests for module 'unistr/u16-prev'.
38676         * modules/unistr/u16-prev-tests: New file.
38677         * tests/unistr/test-u16-prev.c: New file.
38678
38679         Tests for module 'unistr/u8-prev'.
38680         * modules/unistr/u8-prev-tests: New file.
38681         * tests/unistr/test-u8-prev.c: New file.
38682
38683         Tests for module 'unistr/u32-next'.
38684         * modules/unistr/u32-next-tests: New file.
38685         * tests/unistr/test-u32-next.c: New file.
38686
38687         Tests for module 'unistr/u16-next'.
38688         * modules/unistr/u16-next-tests: New file.
38689         * tests/unistr/test-u16-next.c: New file.
38690
38691         Tests for module 'unistr/u8-next'.
38692         * modules/unistr/u8-next-tests: New file.
38693         * tests/unistr/test-u8-next.c: New file.
38694
38695         Tests for module 'unistr/u32-strmbtouc'.
38696         * modules/unistr/u32-strmbtouc-tests: New file.
38697         * tests/unistr/test-u32-strmbtouc.c: New file.
38698
38699         Tests for module 'unistr/u16-strmbtouc'.
38700         * modules/unistr/u16-strmbtouc-tests: New file.
38701         * tests/unistr/test-u16-strmbtouc.c: New file.
38702
38703         Tests for module 'unistr/u8-strmbtouc'.
38704         * modules/unistr/u8-strmbtouc-tests: New file.
38705         * tests/unistr/test-u8-strmbtouc.c: New file.
38706
38707         Tests for module 'unistr/u32-strmblen'.
38708         * modules/unistr/u32-strmblen-tests: New file.
38709         * tests/unistr/test-u32-strmblen.c: New file.
38710
38711         Tests for module 'unistr/u16-strmblen'.
38712         * modules/unistr/u16-strmblen-tests: New file.
38713         * tests/unistr/test-u16-strmblen.c: New file.
38714
38715         Tests for module 'unistr/u8-strmblen'.
38716         * modules/unistr/u8-strmblen-tests: New file.
38717         * tests/unistr/test-u8-strmblen.c: New file.
38718
38719         Tests for module 'unistr/u32-cpy-alloc'.
38720         * modules/unistr/u32-cpy-alloc-tests: New file.
38721         * tests/unistr/test-u32-cpy-alloc.c: New file.
38722
38723         Tests for module 'unistr/u16-cpy-alloc'.
38724         * modules/unistr/u16-cpy-alloc-tests: New file.
38725         * tests/unistr/test-u16-cpy-alloc.c: New file.
38726
38727         Tests for module 'unistr/u8-cpy-alloc'.
38728         * modules/unistr/u8-cpy-alloc-tests: New file.
38729         * tests/unistr/test-u8-cpy-alloc.c: New file.
38730         * tests/unistr/test-cpy-alloc.h: New file.
38731
38732         Tests for module 'unistr/u32-mbsnlen'.
38733         * modules/unistr/u32-mbsnlen-tests: New file.
38734         * tests/unistr/test-u32-mbsnlen.c: New file.
38735
38736         Tests for module 'unistr/u16-mbsnlen'.
38737         * modules/unistr/u16-mbsnlen-tests: New file.
38738         * tests/unistr/test-u16-mbsnlen.c: New file.
38739
38740         Tests for module 'unistr/u8-mbsnlen'.
38741         * modules/unistr/u8-mbsnlen-tests: New file.
38742         * tests/unistr/test-u8-mbsnlen.c: New file.
38743
38744         Tests for module 'unistr/u32-chr'.
38745         * modules/unistr/u32-chr-tests: New file.
38746         * tests/unistr/test-u32-chr.c: New file.
38747
38748         Tests for module 'unistr/u16-chr'.
38749         * modules/unistr/u16-chr-tests: New file.
38750         * tests/unistr/test-u16-chr.c: New file.
38751
38752         Tests for module 'unistr/u8-chr'.
38753         * modules/unistr/u8-chr-tests: New file.
38754         * tests/unistr/test-u8-chr.c: New file.
38755         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
38756
38757         Tests for module 'unistr/u32-cmp2'.
38758         * modules/unistr/u32-cmp2-tests: New file.
38759         * tests/unistr/test-u32-cmp2.c: New file.
38760
38761         Tests for module 'unistr/u16-cmp2'.
38762         * modules/unistr/u16-cmp2-tests: New file.
38763         * tests/unistr/test-u16-cmp2.c: New file.
38764
38765         Tests for module 'unistr/u8-cmp2'.
38766         * modules/unistr/u8-cmp2-tests: New file.
38767         * tests/unistr/test-u8-cmp2.c: New file.
38768         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
38769
38770         Tests for module 'unistr/u32-cmp'.
38771         * modules/unistr/u32-cmp-tests: New file.
38772         * tests/unistr/test-u32-cmp.c: New file.
38773
38774         Tests for module 'unistr/u16-cmp'.
38775         * modules/unistr/u16-cmp-tests: New file.
38776         * tests/unistr/test-u16-cmp.c: New file.
38777
38778         Tests for module 'unistr/u8-cmp'.
38779         * modules/unistr/u8-cmp-tests: New file.
38780         * tests/unistr/test-u8-cmp.c: New file.
38781         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
38782
38783         Tests for module 'unistr/u32-set'.
38784         * modules/unistr/u32-set-tests: New file.
38785         * tests/unistr/test-u32-set.c: New file.
38786
38787         Tests for module 'unistr/u16-set'.
38788         * modules/unistr/u16-set-tests: New file.
38789         * tests/unistr/test-u16-set.c: New file.
38790
38791         Tests for module 'unistr/u8-set'.
38792         * modules/unistr/u8-set-tests: New file.
38793         * tests/unistr/test-u8-set.c: New file.
38794         * tests/unistr/test-set.h: New file.
38795
38796         Tests for module 'unistr/u32-move'.
38797         * modules/unistr/u32-move-tests: New file.
38798         * tests/unistr/test-u32-move.c: New file.
38799
38800         Tests for module 'unistr/u16-move'.
38801         * modules/unistr/u16-move-tests: New file.
38802         * tests/unistr/test-u16-move.c: New file.
38803
38804         Tests for module 'unistr/u8-move'.
38805         * modules/unistr/u8-move-tests: New file.
38806         * tests/unistr/test-u8-move.c: New file.
38807         * tests/unistr/test-move.h: New file.
38808
38809         Tests for module 'unistr/u32-cpy'.
38810         * modules/unistr/u32-cpy-tests: New file.
38811         * tests/unistr/test-u32-cpy.c: New file.
38812
38813         Tests for module 'unistr/u16-cpy'.
38814         * modules/unistr/u16-cpy-tests: New file.
38815         * tests/unistr/test-u16-cpy.c: New file.
38816
38817         Tests for module 'unistr/u8-cpy'.
38818         * modules/unistr/u8-cpy-tests: New file.
38819         * tests/unistr/test-u8-cpy.c: New file.
38820         * tests/unistr/test-cpy.h: New file.
38821
38822 2010-01-09  Bruno Haible  <bruno@clisp.org>
38823
38824         Tests for module 'unistr/u32-uctomb'.
38825         * modules/unistr/u32-uctomb-tests: New file.
38826         * tests/unistr/test-u32-uctomb.c: New file.
38827
38828         Tests for module 'unistr/u16-uctomb'.
38829         * modules/unistr/u16-uctomb-tests: New file.
38830         * tests/unistr/test-u16-uctomb.c: New file.
38831
38832         Tests for module 'unistr/u8-uctomb'.
38833         * modules/unistr/u8-uctomb-tests: New file.
38834         * tests/unistr/test-u8-uctomb.c: New file.
38835
38836         Tests for module 'unistr/u32-mbtoucr'.
38837         * modules/unistr/u32-mbtoucr-tests: New file.
38838         * tests/unistr/test-u32-mbtoucr.c: New file.
38839
38840         Tests for module 'unistr/u16-mbtoucr'.
38841         * modules/unistr/u16-mbtoucr-tests: New file.
38842         * tests/unistr/test-u16-mbtoucr.c: New file.
38843
38844         Tests for module 'unistr/u8-mbtoucr'.
38845         * modules/unistr/u8-mbtoucr-tests: New file.
38846         * tests/unistr/test-u8-mbtoucr.c: New file.
38847
38848         Tests for module 'unistr/u32-mbtouc'.
38849         * modules/unistr/u32-mbtouc-tests: New file.
38850         * tests/unistr/test-u32-mbtouc.c: New file.
38851
38852         Tests for module 'unistr/u16-mbtouc'.
38853         * modules/unistr/u16-mbtouc-tests: New file.
38854         * tests/unistr/test-u16-mbtouc.c: New file.
38855
38856         Tests for module 'unistr/u8-mbtouc'.
38857         * modules/unistr/u8-mbtouc-tests: New file.
38858         * tests/unistr/test-u8-mbtouc.c: New file.
38859
38860         Tests for module 'unistr/u32-mbtouc-unsafe'.
38861         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
38862         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
38863         * tests/unistr/test-u32-mbtouc.h: New file.
38864
38865         Tests for module 'unistr/u16-mbtouc-unsafe'.
38866         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
38867         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
38868         * tests/unistr/test-u16-mbtouc.h: New file.
38869
38870         Tests for module 'unistr/u8-mbtouc-unsafe'.
38871         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
38872         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
38873         * tests/unistr/test-u8-mbtouc.h: New file.
38874
38875         Tests for module 'unistr/u32-mblen'.
38876         * modules/unistr/u32-mblen-tests: New file.
38877         * tests/unistr/test-u32-mblen.c: New file.
38878
38879         Tests for module 'unistr/u16-mblen'.
38880         * modules/unistr/u16-mblen-tests: New file.
38881         * tests/unistr/test-u16-mblen.c: New file.
38882
38883         Tests for module 'unistr/u8-mblen'.
38884         * modules/unistr/u8-mblen-tests: New file.
38885         * tests/unistr/test-u8-mblen.c: New file.
38886
38887         Tests for module 'unistr/u32-to-u16'.
38888         * modules/unistr/u32-to-u16-tests: New file.
38889         * tests/unistr/test-u32-to-u16.c: New file.
38890
38891         Tests for module 'unistr/u32-to-u8'.
38892         * modules/unistr/u32-to-u8-tests: New file.
38893         * tests/unistr/test-u32-to-u8.c: New file.
38894
38895         Tests for module 'unistr/u16-to-u32'.
38896         * modules/unistr/u16-to-u32-tests: New file.
38897         * tests/unistr/test-u16-to-u32.c: New file.
38898
38899         Tests for module 'unistr/u16-to-u8'.
38900         * modules/unistr/u16-to-u8-tests: New file.
38901         * tests/unistr/test-u16-to-u8.c: New file.
38902
38903         Tests for module 'unistr/u8-to-u32'.
38904         * modules/unistr/u8-to-u32-tests: New file.
38905         * tests/unistr/test-u8-to-u32.c: New file.
38906
38907         Tests for module 'unistr/u8-to-u16'.
38908         * modules/unistr/u8-to-u16-tests: New file.
38909         * tests/unistr/test-u8-to-u16.c: New file.
38910
38911         Tests for module 'unistr/u32-check'.
38912         * modules/unistr/u32-check-tests: New file.
38913         * tests/unistr/test-u32-check.c: New file.
38914
38915         Tests for module 'unistr/u16-check'.
38916         * modules/unistr/u16-check-tests: New file.
38917         * tests/unistr/test-u16-check.c: New file.
38918
38919         Tests for module 'unistr/u8-check'.
38920         * modules/unistr/u8-check-tests: New file.
38921         * tests/unistr/test-u8-check.c: New file.
38922
38923         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
38924         (category_equals): New function.
38925         (main): Add more tests.
38926         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
38927
38928         * tests/unictype/test-bidi_byname.c (main): Add more tests.
38929
38930 2010-01-10  Bruno Haible  <bruno@clisp.org>
38931
38932         unistr/u*-strcoll: Try harder to distinguish different strings.
38933         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
38934         compare s1 and s2 to see if they are different.
38935
38936 2010-01-10  Bruno Haible  <bruno@clisp.org>
38937
38938         unistr/u*-stpncpy: Fix the return value.
38939         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
38940         description of the return value consistent with stpncpy in glibc.
38941         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
38942         written non-NUL unit.
38943
38944 2010-01-10  Bruno Haible  <bruno@clisp.org>
38945
38946         unistr/u*-next: Add missing dependencies.
38947         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
38948         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
38949         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
38950
38951 2010-01-10  Bruno Haible  <bruno@clisp.org>
38952
38953         unistr/u8-mbsnlen: Fix return value for incomplete character.
38954         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
38955         u8_mblen.
38956         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
38957         Remove unistr/u8-mblen.
38958         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
38959         u16_mblen.
38960         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
38961         Remove unistr/u16-mblen.
38962
38963 2010-01-10  Bruno Haible  <bruno@clisp.org>
38964
38965         wchar: Fix compilation error when <wchar.h> is used from coreutils.
38966         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
38967         Reported by Brian Gough <bjg@gnu.org> and
38968         Chris Clayton <chris2553@googlemail.com> via
38969         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
38970
38971 2010-01-09  Bruno Haible  <bruno@clisp.org>
38972
38973         unistr/u16-to-u32: Reject invalid input.
38974         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
38975         u16_mbtouc.
38976         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
38977         Remove unistr/u16-mbtouc.
38978
38979         unistr/u16-to-u8: Reject invalid input.
38980         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
38981         u16_mbtouc.
38982         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
38983         Remove unistr/u16-mbtouc.
38984
38985         unistr/u8-to-u32: Reject invalid input.
38986         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
38987         u8_mbtouc.
38988         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
38989         Remove unistr/u8-mbtouc.
38990
38991         unistr/u8-to-u16: Reject invalid input.
38992         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
38993         u8_mbtouc.
38994         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
38995         Remove unistr/u8-mbtouc.
38996
38997 2010-01-09  Bruno Haible  <bruno@clisp.org>
38998
38999         Tests for module 'getlogin'.
39000         * modules/getlogin-tests: New file.
39001         * tests/test-getlogin.c: New file.
39002
39003         New module 'getlogin'.
39004         * lib/unistd.in.h (getlogin): New declaration.
39005         * lib/getlogin.c: New file.
39006         * m4/getlogin.m4: New file.
39007         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
39008         HAVE_GETLOGIN.
39009         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
39010         HAVE_GETLOGIN.
39011         * modules/getlogin: New file.
39012         * doc/posix-functions/getlogin.texi: Mention the new module.
39013         Reported by John W. Eaton <jwe@gnu.org>.
39014
39015 2010-01-09  Bruno Haible  <bruno@clisp.org>
39016
39017         getlogin_r: Support for native Windows.
39018         * lib/getlogin_r.c: Include <windows.h>
39019         (getlogin_r): Implement for native Windows.
39020         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
39021         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
39022         via John W. Eaton <jwe@gnu.org>.
39023
39024 2010-01-09  Bruno Haible  <bruno@clisp.org>
39025
39026         getlogin_r: Small fixes.
39027         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
39028         succeeds.
39029         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
39030         before testing whether getlogin_r is declared. No need to set
39031         HAVE_DECL_GETLOGIN_R to 1.
39032         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
39033
39034 2010-01-09  Bruno Haible  <bruno@clisp.org>
39035
39036         * lib/unistd.in.h (getlogin_r): Add comment.
39037
39038 2010-01-09  Bruno Haible  <bruno@clisp.org>
39039
39040         Tests for module 'getlogin_r'.
39041         * modules/getlogin_r-tests: New file.
39042         * tests/test-getlogin_r.c: New file.
39043
39044 2010-01-09  Jim Meyering  <meyering@redhat.com>
39045
39046         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
39047         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
39048         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
39049
39050 2010-01-08  Simon Josefsson  <simon@josefsson.org>
39051
39052         * lib/dup2.c (rpl_dup2): Improve comment.
39053
39054 2010-01-08  Eric Blake  <ebb9@byu.net>
39055
39056         maint.mk: allow packages to add makefile @@ exceptions
39057         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
39058         (sc_makefile_check): Rename...
39059         (sc_makefile_at_at_check): ...to this, and use hook.
39060
39061         dup2: work around mingw bug
39062         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
39063         Reported by Simon Josefsson.
39064
39065 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
39066
39067         glob: Fix C++ compilation.
39068         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
39069         C++.
39070
39071 2010-01-07  Bruno Haible  <bruno@clisp.org>
39072
39073         Fix indentation of wctype.in.h, broken since 2007-01-06.
39074         * lib/wctype.in.h: Fix indentation of preprocessor directives.
39075
39076 2010-01-07  Bruno Haible  <bruno@clisp.org>
39077
39078         mbslen: Avoid collision with system function.
39079         * lib/string.in.h [MirBSD]: Include <wchar.h>.
39080         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
39081         * m4/mbslen.m4: New file.
39082         * modules/mbslen (Files): Add it.
39083         (configure.ac): Invoke gl_MBSLEN.
39084         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
39085         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
39086         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
39087         via Ian Beckwith <ianb@erislabs.net>.
39088
39089 2010-01-07  Bruno Haible  <bruno@clisp.org>
39090
39091         dirent: Document the last fix.
39092         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
39093
39094 2010-01-07  Bruno Haible  <bruno@clisp.org>
39095
39096         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
39097         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
39098         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
39099         va_list are defined.
39100         * doc/posix-headers/stdio.texi: Document the bug of missing types.
39101         Reported by Eric Blake.
39102
39103 2010-01-07  Bruno Haible  <bruno@clisp.org>
39104
39105         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
39106         * modules/xlist (Depends-on): Add 'list',
39107         * modules/xoset (Depends-on): Add 'oset'.
39108         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39109
39110 2010-01-07  Bruno Haible  <bruno@clisp.org>
39111
39112         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
39113         * doc/posix-functions/strncasecmp.texi: Likewise.
39114
39115 2010-01-07  Bruno Haible  <bruno@clisp.org>
39116
39117         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
39118
39119 2010-01-07  John W. Eaton  <jwe@octave.org>
39120
39121         wctype: allow C++ use
39122         * lib/wctype.in.h: Add extern "C" block for C++.
39123
39124 2010-01-06  Eric Blake  <ebb9@byu.net>
39125
39126         maint.mk: detect incorrect GFDL usage
39127         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
39128
39129 2010-01-06  Jim Meyering  <meyering@redhat.com>
39130         and Eric Blake  <ebb9@byu.net>
39131
39132         maint.mk: ignore multi-line copyright in NEWS
39133         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
39134
39135 2010-01-06  Eric Blake  <ebb9@byu.net>
39136
39137         select: add missing dependency
39138         * modules/select-tests (Depends-on): Move sockets dependency...
39139         * modules/select (Depends-on): ...here.
39140         Reported by Ian Beckwith.
39141
39142         doc: regenerate INSTALL
39143         * doc/INSTALL: Reflect recent autoconf update.
39144         * doc/INSTALL.ISO: Likewise.
39145         * doc/INSTALL.UTF-8: Likewise.
39146
39147         pread: fix compilation on glibc
39148         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
39149         Reported by Ralf Wildenhues.
39150
39151         dirent: fix test failure
39152         * lib/dirent.in.h (includes): Guarantee ino_t.
39153         Reported by Ralf Wildenhues.
39154
39155 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
39156
39157         linkat, renameat: avoid bad free
39158         * lib/at-func2.c (at_func2): Fix typo.
39159         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
39160
39161 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39162
39163         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
39164         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
39165         to avoid failure of symlink test later.
39166
39167 2010-01-06  Eric Blake  <ebb9@byu.net>
39168
39169         stdio, unistd: guarantee ssize_t
39170         * lib/unistd.in.h (includes): Ensure that types required by POSIX
39171         2008 are exposed when needed.
39172         * lib/stdio.in.h (includes): Likewise.
39173         Reported by Ralf Wildenhues.
39174
39175 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
39176
39177         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
39178         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
39179         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
39180
39181 2010-01-06  Jim Meyering  <meyering@redhat.com>
39182
39183         readtokens: this module *does* require xalloc.h
39184         It uses only functions that were omitted by the old syntax-check rule.
39185         * lib/readtokens.c: Include "xalloc.h" once again.
39186         * modules/readtokens (Depends-on): Add xalloc.
39187         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
39188
39189 2010-01-05  Eric Blake  <ebb9@byu.net>
39190
39191         maint: support 'make announcement' from a VPATH build
39192         * top/maint.mk (announcement): Look for correct NEWS file.
39193
39194 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
39195
39196         utimens (fdutimens): ignore a negative FD, per contract
39197         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
39198         when we have a valid file descriptor.  Otherwise, using a brand
39199         new glibc (with just-patched futimens that now fails with EBADF)
39200         would cause this function to fail with ENOSYS.
39201         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
39202         See also http://bugzilla.redhat.com/552320.
39203
39204 2010-01-05  Eric Blake  <ebb9@byu.net>
39205
39206         strcase: document what it provides
39207         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
39208         gnulib module.
39209         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
39210         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
39211
39212 2010-01-05  Jim Meyering  <meyering@redhat.com>
39213
39214         maint: remove useless inclusions of "xalloc.h"
39215         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
39216         * lib/readtokens.c: Likewise.
39217         * lib/same.c: Likewise.
39218         * modules/getloadavg (Depends-on): Remove xalloc.
39219         * modules/readtokens: Likewise.
39220         * modules/same: Likewise.
39221
39222         maint.mk: include 4 more function names in alloca.h-checking regexp
39223         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
39224         regexp.  Before, we would give a false-positive (saying alloca.h
39225         is included unnecessarily) when the only uses involved omitted symbols.
39226
39227         xalloc.h: use consistent formatting
39228         * lib/xalloc.h: Move declarations to start in the first column.
39229
39230 2010-01-05  Eric Blake  <ebb9@byu.net>
39231
39232         mkdir: avoid xalloc
39233         * lib/mkdir.c (includes): Drop unused header.
39234         Reported by John W. Eaton.
39235
39236 2010-01-04  Jim Meyering  <meyering@redhat.com>
39237
39238         nl_langinfo: avoid configure-time syntax error
39239         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
39240         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
39241         the empty string.  Don't let that provoke a shell syntax error.
39242
39243         regcomp, regexec, fnmatch: avoid array bounds read error
39244         * lib/regcomp.c (build_equiv_class): From glibc:
39245         Use only the low 24 bits of a findidx return value as an index
39246         into the weights array.  Patch by Ulrich Drepper:
39247         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
39248         * lib/regexec.c (check_node_accept_bytes): Likewise.
39249         * lib/fnmatch_loop.c (FCT): Likewise.
39250
39251         regcomp: skip collseq lookup when there are no rules
39252         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
39253         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
39254
39255         regcomp: recognize ill-formed { } expressions
39256         * lib/regcomp.c (parse_dup_op): From glibc:
39257         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
39258
39259         regcomp: fix typo in comment
39260         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
39261         s/satisfy/satisfies/.
39262
39263         regcomp: sync from glibc: remove dead store
39264         * lib/regcomp.c (duplicate_node_closure): Remove useless
39265         search_duplicated_node call and dead store.
39266
39267         regcomp: sync from glibc; always use nl_langinfo
39268         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
39269         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
39270         * modules/regex (Depends-on): Add nl_langinfo.
39271
39272 2010-01-04  Eric Blake  <ebb9@byu.net>
39273
39274         fdopendir: fix configure test
39275         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
39276
39277 2010-01-01  Bruno Haible  <bruno@clisp.org>
39278
39279         wchar: Remove unused configure check.
39280         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
39281
39282 2010-01-01  Eric Blake  <ebb9@byu.net>
39283
39284         headers: make check of system header explicit
39285         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
39286         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
39287         ourselves.
39288         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
39289         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39290         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
39291         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
39292         internals.
39293         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
39294         missing.
39295         Suggested by Bruno Haible.
39296
39297 2010-01-01  Jim Meyering  <meyering@redhat.com>
39298
39299         ChangeLog: tweak to eliminate unnecessary copyright line
39300         * ChangeLog: Remove a copyright line that was mistakenly updated
39301         by today's update-copyright run.  Reported by Eric Blake.
39302
39303         test-update-copyright: don't let envvar setting cause test failure
39304         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39305
39306 2010-01-01  Bruno Haible  <bruno@clisp.org>
39307
39308         localename: Avoid gcc warning.
39309         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
39310         function if it is not used.
39311
39312 2010-01-01  Jim Meyering  <meyering@redhat.com>
39313
39314         update nearly all FSF copyright year lists to include 2010
39315         Use the same procedure as for 2009, outlined in
39316         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
39317
39318         version-etc: set COPYRIGHT_YEAR to 2010
39319         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
39320
39321 2009-12-31  Eric Blake  <ebb9@byu.net>
39322
39323         doc: correct availability of cygwin 1.5.x getopt
39324         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
39325         variables.
39326         * doc/posix-functions/opterr.texi (opterr): Likewise.
39327         * doc/posix-functions/optind.texi (optind): Likewise.
39328         * doc/posix-functions/optopt.texi (optopt): Likewise.
39329         * doc/posix-functions/tzname.texi (tzname): Likewise.
39330
39331         openat: update maintainer
39332         * modules/openat (Maintainer): Add myself.
39333
39334         utimens: avoid shadowing warning
39335         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
39336         buffers into one, to avoid shadowing, as well as avoiding a
39337         redundant stat.
39338         Reported by Jim Meyering.
39339
39340         test-dup2: avoid compiler warning
39341         * tests/test-dup2.c (is_inheritable): Only define if used.
39342
39343 2010-01-01  Bruno Haible  <bruno@clisp.org>
39344
39345         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
39346         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
39347         defined, use wctomb instead of wcrtomb.
39348
39349 2010-01-01  Bruno Haible  <bruno@clisp.org>
39350
39351         iconv: Reject native Solaris iconv.
39352         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
39353         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
39354
39355 2009-12-31  Bruno Haible  <bruno@clisp.org>
39356
39357         * tests/test-signal.c (main): Remove test of 'SIG'.
39358
39359 2009-12-31  Bruno Haible  <bruno@clisp.org>
39360
39361         spawn: Fix incomplete fix.
39362         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39363         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39364         warnings for GNULIB_POSIXCHECK again.
39365         Reported by Eric Blake.
39366
39367 2009-12-31  Bruno Haible  <bruno@clisp.org>
39368
39369         Avoid namespace pollution on glibc systems.
39370         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
39371         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
39372         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
39373         glibc systems.
39374
39375 2009-12-31  Bruno Haible  <bruno@clisp.org>
39376
39377         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
39378         (gl_REPLACE_WCHAR_H): Turn into a no-op.
39379         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
39380         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
39381         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
39382         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
39383         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
39384
39385 2009-12-31  Bruno Haible  <bruno@clisp.org>
39386
39387         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
39388         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
39389         afterwards.
39390
39391 2009-12-31  Bruno Haible  <bruno@clisp.org>
39392
39393         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
39394         SYS_UTSNAME_H.
39395
39396 2009-12-31  Bruno Haible  <bruno@clisp.org>
39397
39398         spawn: Fix misapplied patch.
39399         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39400         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39401         warnings for GNULIB_POSIXCHECK.
39402
39403 2009-12-31  Bruno Haible  <bruno@clisp.org>
39404
39405         times: Update after sys_times changed.
39406         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
39407         * modules/times (Files): Add it.
39408         (configure.ac): Invoke gl_FUNC_TIMES.
39409
39410 2009-12-31  Bruno Haible  <bruno@clisp.org>
39411
39412         Use AC_C_INLINE where necessary.
39413         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
39414         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39415         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
39416         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
39417         * m4/mbfile.m4 (gl_MBFILE): Likewise.
39418         * m4/mbiter.m4 (gl_MBITER): Likewise.
39419         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
39420         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39421         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
39422         * modules/u64 (configure.ac): Likewise.
39423
39424 2009-12-31  Bruno Haible  <bruno@clisp.org>
39425
39426         Use AC_C_INLINE instead of module 'inline' where possible.
39427         * modules/inline (Description): Clarify purpose.
39428         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
39429         * modules/count-one-bits (Depends-on): Remove inline.
39430         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
39431         * modules/openat (Depends-on): Remove inline.
39432         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
39433         instead of depending on module 'inline'.
39434         * modules/filevercmp (Depends-on, configure.ac): Likewise.
39435         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
39436         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
39437         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
39438         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
39439         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
39440         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
39441         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
39442         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
39443         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
39444         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
39445         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
39446         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
39447         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
39448         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
39449         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
39450         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
39451         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
39452         Likewise.
39453         * modules/unictype/property-ascii-hex-digit (Depends-on,
39454         configure.ac): Likewise.
39455         * modules/unictype/property-bidi-arabic-digit (Depends-on,
39456         configure.ac): Likewise.
39457         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
39458         configure.ac): Likewise.
39459         * modules/unictype/property-bidi-block-separator (Depends-on,
39460         configure.ac): Likewise.
39461         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
39462         configure.ac): Likewise.
39463         * modules/unictype/property-bidi-common-separator (Depends-on,
39464         configure.ac): Likewise.
39465         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
39466         Likewise.
39467         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
39468         configure.ac): Likewise.
39469         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
39470         configure.ac): Likewise.
39471         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
39472         configure.ac): Likewise.
39473         * modules/unictype/property-bidi-european-digit (Depends-on,
39474         configure.ac): Likewise.
39475         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
39476         configure.ac): Likewise.
39477         * modules/unictype/property-bidi-left-to-right (Depends-on,
39478         configure.ac): Likewise.
39479         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
39480         configure.ac): Likewise.
39481         * modules/unictype/property-bidi-other-neutral (Depends-on,
39482         configure.ac): Likewise.
39483         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
39484         Likewise.
39485         * modules/unictype/property-bidi-segment-separator (Depends-on,
39486         configure.ac): Likewise.
39487         * modules/unictype/property-bidi-whitespace (Depends-on,
39488         configure.ac): Likewise.
39489         * modules/unictype/property-combining (Depends-on, configure.ac):
39490         Likewise.
39491         * modules/unictype/property-composite (Depends-on, configure.ac):
39492         Likewise.
39493         * modules/unictype/property-currency-symbol (Depends-on,
39494         configure.ac): Likewise.
39495         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
39496         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
39497         Likewise.
39498         * modules/unictype/property-default-ignorable-code-point (Depends-on,
39499         configure.ac): Likewise.
39500         * modules/unictype/property-deprecated (Depends-on, configure.ac):
39501         Likewise.
39502         * modules/unictype/property-diacritic (Depends-on, configure.ac):
39503         Likewise.
39504         * modules/unictype/property-extender (Depends-on, configure.ac):
39505         Likewise.
39506         * modules/unictype/property-format-control (Depends-on, configure.ac):
39507         Likewise.
39508         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
39509         Likewise.
39510         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
39511         Likewise.
39512         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
39513         Likewise.
39514         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
39515         Likewise.
39516         * modules/unictype/property-hyphen (Depends-on, configure.ac):
39517         Likewise.
39518         * modules/unictype/property-id-continue (Depends-on, configure.ac):
39519         Likewise.
39520         * modules/unictype/property-id-start (Depends-on, configure.ac):
39521         Likewise.
39522         * modules/unictype/property-ideographic (Depends-on, configure.ac):
39523         Likewise.
39524         * modules/unictype/property-ids-binary-operator (Depends-on,
39525         configure.ac): Likewise.
39526         * modules/unictype/property-ids-trinary-operator (Depends-on,
39527         configure.ac): Likewise.
39528         * modules/unictype/property-ignorable-control (Depends-on,
39529         configure.ac): Likewise.
39530         * modules/unictype/property-iso-control (Depends-on, configure.ac):
39531         Likewise.
39532         * modules/unictype/property-join-control (Depends-on, configure.ac):
39533         Likewise.
39534         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
39535         Likewise.
39536         * modules/unictype/property-line-separator (Depends-on, configure.ac):
39537         Likewise.
39538         * modules/unictype/property-logical-order-exception (Depends-on,
39539         configure.ac): Likewise.
39540         * modules/unictype/property-lowercase (Depends-on, configure.ac):
39541         Likewise.
39542         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
39543         * modules/unictype/property-non-break (Depends-on, configure.ac):
39544         Likewise.
39545         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
39546         Likewise.
39547         * modules/unictype/property-numeric (Depends-on, configure.ac):
39548         Likewise.
39549         * modules/unictype/property-other-alphabetic (Depends-on,
39550         configure.ac): Likewise.
39551         * modules/unictype/property-other-default-ignorable-code-point
39552         (Depends-on, configure.ac): Likewise.
39553         * modules/unictype/property-other-grapheme-extend (Depends-on,
39554         configure.ac): Likewise.
39555         * modules/unictype/property-other-id-continue (Depends-on,
39556         configure.ac): Likewise.
39557         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
39558         Likewise.
39559         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
39560         Likewise.
39561         * modules/unictype/property-other-math (Depends-on, configure.ac):
39562         Likewise.
39563         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
39564         Likewise.
39565         * modules/unictype/property-paired-punctuation (Depends-on,
39566         configure.ac): Likewise.
39567         * modules/unictype/property-paragraph-separator (Depends-on,
39568         configure.ac): Likewise.
39569         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
39570         Likewise.
39571         * modules/unictype/property-pattern-white-space (Depends-on,
39572         configure.ac): Likewise.
39573         * modules/unictype/property-private-use (Depends-on, configure.ac):
39574         Likewise.
39575         * modules/unictype/property-punctuation (Depends-on, configure.ac):
39576         Likewise.
39577         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
39578         Likewise.
39579         * modules/unictype/property-radical (Depends-on, configure.ac):
39580         Likewise.
39581         * modules/unictype/property-sentence-terminal (Depends-on,
39582         configure.ac): Likewise.
39583         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
39584         Likewise.
39585         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
39586         * modules/unictype/property-terminal-punctuation (Depends-on,
39587         configure.ac): Likewise.
39588         * modules/unictype/property-titlecase (Depends-on, configure.ac):
39589         Likewise.
39590         * modules/unictype/property-unassigned-code-value (Depends-on,
39591         configure.ac): Likewise.
39592         * modules/unictype/property-unified-ideograph (Depends-on,
39593         configure.ac): Likewise.
39594         * modules/unictype/property-uppercase (Depends-on, configure.ac):
39595         Likewise.
39596         * modules/unictype/property-variation-selector (Depends-on,
39597         configure.ac): Likewise.
39598         * modules/unictype/property-white-space (Depends-on, configure.ac):
39599         Likewise.
39600         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
39601         Likewise.
39602         * modules/unictype/property-xid-start (Depends-on, configure.ac):
39603         Likewise.
39604         * modules/unictype/property-zero-width (Depends-on, configure.ac):
39605         Likewise.
39606         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
39607         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
39608         Likewise.
39609
39610 2009-12-31  Bruno Haible  <bruno@clisp.org>
39611
39612         Remove unnecessary AC_C_INLINE invocation.
39613         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
39614         since 2009-08-21.
39615
39616 2009-12-31  Jim Meyering  <meyering@redhat.com>
39617
39618         maint.mk: don't require explicit gpg_key_ID in cfg.mk
39619         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
39620         With this change, we can all remove the gpg_key_ID = ... definition
39621         from our respective cfg.mk files.
39622
39623         maint.mk: create announcement template in ~/, not in /tmp
39624         * top/maint.mk (emit_upload_commands): Adjust.
39625         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
39626         Remove temporary file, .ci-msg.
39627
39628 2009-12-31  Eric Blake  <ebb9@byu.net>
39629
39630         link-warning: always build headers with link warnings
39631         * modules/arpa_inet (Makefile.am): Always build replacement
39632         header.
39633         * modules/ctype (Makefile.am): Likewise.
39634         * modules/dirent (Makefile.am): Likewise.
39635         * modules/inttypes (Makefile.am): Likewise.
39636         * modules/langinfo (Makefile.am): Likewise.
39637         * modules/locale (Makefile.am): Likewise.
39638         * modules/spawn (Makefile.am): Likewise.
39639         * modules/sys_file (Makefile.am): Likewise.
39640         * modules/sys_ioctl (Makefile.am): Likewise.
39641         * modules/sys_select (Makefile.am): Likewise.
39642         * modules/sys_socket (Makefile.am): Likewise.
39643         * modules/sys_times (Makefile.am): Likewise.
39644         * modules/sys_utsname (Makefile.am): Likewise.
39645         * modules/sys_wait (Makefile.am): Likewise.
39646         * modules/wchar (Makefile.am): Likewise.
39647         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
39648         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
39649         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
39650         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
39651         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
39652         Likewise.
39653         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
39654         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
39655         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
39656         Likewise.
39657         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
39658         Likewise.
39659         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
39660         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
39661         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
39662         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39663         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
39664         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39665         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39666         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
39667         (gl_WCHAR_H_DEFAULTS): Likewise.
39668
39669 2009-12-31  Eric Blake  <ebb9@byu.net>
39670
39671         signal, spawn: use link warnings
39672         * lib/signal.in.h (sigset_t): Make unconditional.
39673         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
39674         (sigpending, sigprocmask, sigaction): Add link warnings.
39675         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
39676         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
39677         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
39678         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
39679         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
39680         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
39681         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
39682         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
39683         (posix_spawn_file_actions_destroy)
39684         (posix_spawn_file_actions_addopen)
39685         (posix_spawn_file_actions_addclose)
39686         (posix_spawn_file_actions_adddup2): Likewise.
39687         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
39688         * tests/test-signal.c (main): Enhance test.
39689
39690         spawn: improve wrapper support
39691         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
39692         (gl_SPAWN_H_DEFAULTS): New defaults.
39693         * modules/spawn (Makefile.am): Substitute them.
39694         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
39695         Only declare if missing or broken.
39696
39697         sys_times, sys_utsname: use include_next
39698         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
39699         header.
39700         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
39701         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39702         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39703         * modules/sys_times (Depends-on): Add include_next.
39704         (Makefile.am): Substitute additional values.
39705         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
39706         * lib/sys_times.in.h (includes): Include native header, if
39707         available.
39708         * lib/sys_utsname.in.h (includes): Likewise.
39709         * tests/test-sys_times.c (main): Enhance test.
39710
39711         fdutimensat: revert prior patch
39712         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
39713         utimens.h.
39714         Reported by Bruno Haible.
39715
39716 2009-12-30  Eric Blake  <ebb9@byu.net>
39717
39718         sys_wait: drop link-warning dependency
39719         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
39720         link-warning efforts.
39721         * lib/sys_wait.in.h: Likewise.
39722
39723         fdutimensat: remove bogus dependency
39724         * modules/fdutimensat (Depends-on): Drop inline.
39725
39726         unistd: fix typo
39727         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
39728
39729 2009-12-30  Bruno Haible  <bruno@clisp.org>
39730
39731         Fix compilation error with Solaris cc.
39732         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
39733         * lib/unicase/u16-is-invariant.c: Likewise.
39734         * lib/unicase/u32-is-invariant.c: Likewise.
39735         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39736
39737 2009-12-30  Bruno Haible  <bruno@clisp.org>
39738
39739         Fix test crash.
39740         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
39741         locales.
39742         Reported by Simon Josefsson <simon@josefsson.org>.
39743
39744 2009-12-30  Bruno Haible  <bruno@clisp.org>
39745
39746         Fix compilation error on most platforms.
39747         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
39748         Reported by Simon Josefsson <simon@josefsson.org>
39749         and Nelson H. F. Beebe <beebe@math.utah.edu>.
39750
39751 2009-12-30  Eric Blake  <ebb9@byu.net>
39752
39753         futimens, utimensat: work around ntfs-3g bug
39754         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
39755         a ctime bug is present, and expand workaround to cover ntfs-3g.
39756         * lib/utimens.c (fdutimens, lutimens): Likewise.
39757         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
39758         (validate_timespec): Adjust return value.
39759         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
39760         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39761         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
39762
39763 2009-12-29  Eric Blake  <ebb9@byu.net>
39764
39765         link-warning: make usage consistent
39766         * modules/ctype (Depends-on): Add link-warning.
39767         (Makefile.am): Update rules accordingly.
39768         * modules/langinfo (Depends-on, Makefile.am): Likewise.
39769         * modules/locale (Depends-on, Makefile.am): Likewise.
39770         * modules/sys_file (Makefile.am): Likewise.
39771         * modules/getopt-posix (Makefile.am): Delete unused link warning
39772         efforts.
39773         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
39774         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
39775         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
39776         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
39777
39778         stdio: remove unused variables
39779         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
39780         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
39781         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
39782
39783         tests: test more substitute headers
39784         * modules/ctype-tests: New file.
39785         * modules/dirent-tests: Likewise.
39786         * modules/spawn-tests: Likewise.
39787         * modules/sys_file-tests: Likewise.
39788         * modules/sys_ioctl-tests: Likewise.
39789         * modules/sys_wait-tests: Likewise.
39790         * tests/test-ctype.c: Likewise.
39791         * tests/test-dirent.c: Likewise.
39792         * tests/test-spawn.c: Likewise.
39793         * tests/test-sys_file.c: Likewise.
39794         * tests/test-sys_ioctl.c: Likewise.
39795         * tests/test-sys_wait.c: Likewise.
39796         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
39797         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
39798         whether or not flock is in use.
39799
39800         tests: remove License section from module
39801         * modules/arpa_inet-tests: Remove unneeded section.
39802         * modules/byteswap-tests: Likewise.
39803         * modules/ceilf-tests: Likewise.
39804         * modules/ceill-tests: Likewise.
39805         * modules/crypto/des-tests: Likewise.
39806         * modules/crypto/gc-arcfour-tests: Likewise.
39807         * modules/crypto/gc-arctwo-tests: Likewise.
39808         * modules/crypto/gc-des-tests: Likewise.
39809         * modules/crypto/gc-hmac-md5-tests: Likewise.
39810         * modules/crypto/gc-hmac-sha1-tests: Likewise.
39811         * modules/crypto/gc-md2-tests: Likewise.
39812         * modules/crypto/gc-md4-tests: Likewise.
39813         * modules/crypto/gc-md5-tests: Likewise.
39814         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
39815         * modules/crypto/gc-rijndael-tests: Likewise.
39816         * modules/crypto/gc-sha1-tests: Likewise.
39817         * modules/crypto/gc-tests: Likewise.
39818         * modules/crypto/md2-tests: Likewise.
39819         * modules/crypto/md4-tests: Likewise.
39820         * modules/fcntl-h-tests: Likewise.
39821         * modules/floorf-tests: Likewise.
39822         * modules/floorl-tests: Likewise.
39823         * modules/frexp-nolibm-tests: Likewise.
39824         * modules/frexp-tests: Likewise.
39825         * modules/frexpl-nolibm-tests: Likewise.
39826         * modules/frexpl-tests: Likewise.
39827         * modules/getaddrinfo-tests: Likewise.
39828         * modules/inttypes-tests: Likewise.
39829         * modules/isfinite-tests: Likewise.
39830         * modules/isinf-tests: Likewise.
39831         * modules/ldexpl-tests: Likewise.
39832         * modules/locale-tests: Likewise.
39833         * modules/math-tests: Likewise.
39834         * modules/netdb-tests: Likewise.
39835         * modules/netinet_in-tests: Likewise.
39836         * modules/printf-frexp-tests: Likewise.
39837         * modules/printf-frexpl-tests: Likewise.
39838         * modules/priv-set-tests: Likewise.
39839         * modules/random_r-tests: Likewise.
39840         * modules/round-tests: Likewise.
39841         * modules/roundf-tests: Likewise.
39842         * modules/roundl-tests: Likewise.
39843         * modules/search-tests: Likewise.
39844         * modules/select-tests: Likewise.
39845         * modules/signal-tests: Likewise.
39846         * modules/stdbool-tests: Likewise.
39847         * modules/stddef-tests: Likewise.
39848         * modules/stdint-tests: Likewise.
39849         * modules/stdio-tests: Likewise.
39850         * modules/stdlib-tests: Likewise.
39851         * modules/string-tests: Likewise.
39852         * modules/strings-tests: Likewise.
39853         * modules/sys_select-tests: Likewise.
39854         * modules/sys_socket-tests: Likewise.
39855         * modules/sys_stat-tests: Likewise.
39856         * modules/sys_time-tests: Likewise.
39857         * modules/sys_utsname-tests: Likewise.
39858         * modules/sysexits-tests: Likewise.
39859         * modules/time-tests: Likewise.
39860         * modules/trunc-tests: Likewise.
39861         * modules/truncf-tests: Likewise.
39862         * modules/truncl-tests: Likewise.
39863         * modules/tsearch-tests: Likewise.
39864         * modules/unistd-tests: Likewise.
39865         * modules/wchar-tests: Likewise.
39866         * modules/wctype-tests: Likewise.
39867
39868         tests: fix license on several tests
39869         * tests/test-des.c: Update to GPLv3+.
39870         * tests/test-flock.c: Likewise.
39871         * tests/test-fsync.c: Likewise.
39872         * tests/test-futimens.h: Likewise.
39873         * tests/test-gc-arcfour.c: Likewise.
39874         * tests/test-gc-arctwo.c: Likewise.
39875         * tests/test-gc-des.c: Likewise.
39876         * tests/test-gc-hmac-md5.c: Likewise.
39877         * tests/test-gc-hmac-sha1.c: Likewise.
39878         * tests/test-gc-md2.c: Likewise.
39879         * tests/test-gc-md4.c: Likewise.
39880         * tests/test-gc-md5.c: Likewise.
39881         * tests/test-gc-pbkdf2-sha1.c: Likewise.
39882         * tests/test-gc-rijndael.c: Likewise.
39883         * tests/test-gc-sha1.c: Likewise.
39884         * tests/test-gc.c: Likewise.
39885         * tests/test-getcwd.c: Likewise.
39886         * tests/test-link.c: Likewise.
39887         * tests/test-link.h: Likewise.
39888         * tests/test-lutimens.h: Likewise.
39889         * tests/test-md2.c: Likewise.
39890         * tests/test-md4.c: Likewise.
39891         * tests/test-mkdir.h: Likewise.
39892         * tests/test-rename.c: Likewise.
39893         * tests/test-rename.h: Likewise.
39894         * tests/test-safe-alloc.c: Likewise.
39895         * tests/test-utimens-common.h: Likewise.
39896         * tests/test-utimens.h: Likewise.
39897
39898         maint: sync license texts
39899         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
39900         * doc/gpl-3.0.texi: Revert copyright year update.
39901         * doc/lgpl-3.0.texi: Likewise.
39902
39903 2009-12-29  Jim Meyering  <meyering@redhat.com>
39904
39905         update nearly all FSF copyright year lists to include 2009
39906         The files named by the following are exempted:
39907             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
39908               test -f "$dst" && { echo "$dst"; continue; }
39909               test -d "$dst" || continue
39910               echo "$dst"/$(basename "$src")
39911             done > exempt
39912             git ls-files tests/unictype >> exempt
39913         In the remaining files, convert to all-interval notation if
39914         - there is already at least one year interval like 2000-2003
39915         - the file is maintained by me
39916         - the file is in lib/uni*/, where that style already prevails
39917         Otherwise, use update-copyright's default.
39918
39919 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39920         and Eric Blake  <ebb9@byu.net>
39921
39922         tests: don't require debug system() to pass
39923         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
39924         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39925         * tests/test-unlink.h (test_unlink_func): Likewise.
39926         * tests/test-fstatat.c (main): ...into callers.
39927         * tests/test-lstat.c (main): Likewise.
39928         * tests/test-rmdir.c (main): Likewise.
39929         * tests/test-unlink.c (main): Likewise.
39930         * tests/test-unlinkat.c (main): Likewise.
39931         * tests/test-areadlink-with-size.c (main): Don't require a
39932         debug-only system call to pass, aiding cross-testing to mingw.
39933         * tests/test-areadlink.c (main): Likewise.
39934         * tests/test-areadlinkat-with-size.c (main): Likewise.
39935         * tests/test-areadlinkat.c (main): Likewise.
39936         * tests/test-canonicalize-lgpl.c (main): Likewise.
39937         * tests/test-canonicalize.c (main): Likewise.
39938         * tests/test-chown.c (main): Likewise.
39939         * tests/test-fchownat.c (main): Likewise.
39940         * tests/test-lchown.c (main): Likewise.
39941         * tests/test-fdutimensat.c (main): Likewise.
39942         * tests/test-futimens.c (main): Likewise.
39943         * tests/test-link.c (main): Likewise.
39944         * tests/test-linkat.c (main): Likewise.
39945         * tests/test-mkdir.c (main): Likewise.
39946         * tests/test-mkdirat.c (main): Likewise.
39947         * tests/test-mkfifo.c (main): Likewise.
39948         * tests/test-mkfifoat.c (main): Likewise.
39949         * tests/test-mknod.c (main): Likewise.
39950         * tests/test-readlink.c (main): Likewise.
39951         * tests/test-remove.c (main): Likewise.
39952         * tests/test-rename.c (main): Likewise.
39953         * tests/test-renameat.c (main): Likewise.
39954         * tests/test-symlink.c (main): Likewise.
39955         * tests/test-symlinkat.c (main): Likewise.
39956         * tests/test-utimens.c (main): Likewise.
39957         * tests/test-utimensat.c (main): Likewise.
39958
39959 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39960
39961         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
39962         on $(UNUSED_PARAMETER_H) to avoid build failure.
39963
39964 2009-12-28  Jim Meyering  <meyering@redhat.com>
39965
39966         update-copyright: you may specify a max. line length other than 72
39967         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39968
39969         maint: use consistent FSF copyright line syntax
39970         * lib/posixtm.c: Add missing comma in FSF copyright line.
39971         * lib/posixtm.h: Likewise.
39972         * lib/getugroups.c: Add missing ", Inc.".
39973
39974         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
39975         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
39976         FSF copyright line.  Remove trailing blanks.
39977
39978 2009-12-28  Eric Blake  <ebb9@byu.net>
39979
39980         test-dup2: reduce dependencies
39981         * modules/cloexec (Configure.ac): Set witness.
39982         * modules/dup2-tests (Depends-on): Drop cloexec.
39983         * tests/test-dup2.c (main): Skip portion of test if cloexec module
39984         not present.
39985         Suggested by Bruno Haible.
39986
39987 2009-12-26  Bruno Haible  <bruno@clisp.org>
39988
39989         Remove an unneeded dependency.
39990         * modules/fseterr (Depends-on): Remove dup2.
39991
39992 2009-12-26  Eric Blake  <ebb9@byu.net>
39993
39994         tests: use macros.h in more places
39995         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
39996         (ASSERT_STREAM): Provide default of stderr.
39997         * tests/test-dirent-safer.c: Include macros.h, using alternate
39998         stream for assertions.
39999         * tests/test-dup-safer.c: Likewise.
40000         * tests/test-freopen-safer.c: Likewise.
40001         * tests/test-getopt.c: Likewise.
40002         * tests/test-openat-safer.c: Likewise.
40003         * tests/test-pipe.c: Likewise.
40004         * tests/test-popen-safer.c: Likewise.
40005         * modules/dirent-safer-tests (Files): Include macros.h.
40006         * modules/unistd-safer-tests (Files): Likewise.
40007         * modules/freopen-safer-tests (Files): Likewise.
40008         * modules/getopt-posix-tests (Files): Likewise.
40009         * modules/openat-safer-tests (Files): Likewise.
40010         * modules/pipe-tests (Files): Likewise.
40011
40012 2009-12-26  Bruno Haible  <bruno@clisp.org>
40013
40014         javacomp: Portability fix.
40015         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
40016         that it also works on Solaris.
40017
40018 2009-12-26  Bruno Haible  <bruno@clisp.org>
40019
40020         localename: Fix storage allocation of gl_locale_name_thread's result.
40021         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
40022         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
40023         all platforms that have 'uselocale'.
40024         (gl_locale_name_thread_unsafe): New function, extracted from
40025         gl_locale_name_thread.
40026         (gl_locale_name_thread): Call struniq on all platforms that have
40027         'uselocale'.
40028         * tests/test-localename.c (test_locale_name_thread): Check that the
40029         resulting strings are permanently allocated.
40030         * modules/localename-tests (Depends-on): Add strdup.
40031
40032 2009-12-26  Bruno Haible  <bruno@clisp.org>
40033
40034         * tests/test-localename.c (categories): Fill in the strings.
40035
40036 2009-12-26  Jim Meyering  <meyering@redhat.com>
40037
40038         isdir: complete the removal of m4/isdir.m4
40039         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
40040
40041         isdir: clean up, since at least grep still uses it
40042         * lib/isdir.c: Include "isdir.h".
40043         (S_ISDIR): Remove now-unneeded definition.
40044         * modules/isdir (Files): Add lib/isdir.h.
40045         * lib/isdir.h: New file, with declaration.
40046         * m4/isdir.m4: Remove file -- unneeded.
40047
40048 2009-12-25  Bruno Haible  <bruno@clisp.org>
40049
40050         selinux-h: Make generated .h files standalone.
40051         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
40052         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
40053         * lib/se-selinux.in.h: Likewise.
40054         * modules/selinux-h (Depends-on): Add unused-parameter.
40055         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
40056         selinux/selinux.h and selinux/context.h.
40057         Suggested by Eric Blake.
40058
40059 2009-12-25  Bruno Haible  <bruno@clisp.org>
40060
40061         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
40062         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
40063         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
40064         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
40065         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
40066
40067 2009-12-24  Bruno Haible  <bruno@clisp.org>
40068
40069         openat: Fix warning.
40070         * lib/openat-proc.c: Include <unistd.h>.
40071
40072 2009-12-24  Bruno Haible  <bruno@clisp.org>
40073
40074         New module 'unused-parameter'.
40075         * build-aux/unused-parameter.h: New file, extracted from earlier
40076         gnulib-common.m4.
40077         * modules/unused-parameter: New file.
40078         * lib/unistr.h: Include unused-parameter.h.
40079         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
40080         _GL_UNUSED.
40081         * modules/unistr/base (Depends-on): Add unused-parameter.
40082
40083 2009-12-24  Bruno Haible  <bruno@clisp.org>
40084
40085         Add missing dependencies to 'extensions' module.
40086         * m4/extensions.m4: Add comment.
40087         * modules/accept4 (Depends-on): Add extensions.
40088         * modules/dup3 (Depends-on): Likewise.
40089         * modules/fcntl (Depends-on): Likewise.
40090         * modules/futimens (Depends-on): Likewise.
40091         * modules/mknod (Depends-on): Likewise.
40092         * modules/pipe2 (Depends-on): Likewise.
40093         * modules/stat-time (Depends-on): Likewise.
40094         * modules/strcasestr-simple (Depends-on): Likewise.
40095         * modules/strsignal (Depends-on): Likewise.
40096         * modules/utimensat (Depends-on): Likewise.
40097         * modules/localcharset (Depends-on): Likewise. Needed because of
40098         gl_FCNTL_O_FLAGS.
40099         * modules/wcrtomb (Depends-on): Likewise. Needed because of
40100         AC_TYPE_MBSTATE_T.
40101         * modules/wcsnrtombs (Depends-on): Likewise.
40102         * modules/wcsrtombs (Depends-on): Likewise.
40103
40104 2009-12-24  Bruno Haible  <bruno@clisp.org>
40105
40106         binary-io: Avoid gcc warning due to SET_BINARY.
40107         * lib/binary-io.h (SET_BINARY): Cast the result to void.
40108         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
40109
40110 2009-12-24  Bruno Haible  <bruno@clisp.org>
40111
40112         Avoid future namespace pollution on glibc systems.
40113         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
40114         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
40115         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
40116         glibc systems.
40117
40118 2009-12-24  Bruno Haible  <bruno@clisp.org>
40119
40120         Refactor common macros used in tests.
40121         * tests/macros.h: New file.
40122         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
40123         and/or <stdlib.h>, if appropriate.
40124         (ASSERT, SIZEOF): Remove macros.
40125         * tests/test-areadlink-with-size.c: Likewise.
40126         * tests/test-areadlinkat.c: Likewise.
40127         * tests/test-areadlinkat-with-size.c: Likewise.
40128         * tests/test-argmatch.c: Likewise.
40129         * tests/test-argv-iter.c: Likewise.
40130         * tests/test-array-mergesort.c: Likewise.
40131         * tests/test-array_list.c: Likewise.
40132         * tests/test-array_oset.c: Likewise.
40133         * tests/test-avltree_list.c: Likewise.
40134         * tests/test-avltree_oset.c: Likewise.
40135         * tests/test-avltreehash_list.c: Likewise.
40136         * tests/test-base64.c: Likewise.
40137         * tests/test-binary-io.c: Likewise.
40138         * tests/test-bitrotate.c: Likewise.
40139         * tests/test-btowc.c: Likewise.
40140         * tests/test-byteswap.c: Likewise.
40141         * tests/test-c-ctype.c: Likewise.
40142         * tests/test-c-stack.c: Likewise.
40143         * tests/test-c-strcasecmp.c: Likewise.
40144         * tests/test-c-strcasestr.c: Likewise.
40145         * tests/test-c-strncasecmp.c: Likewise.
40146         * tests/test-c-strstr.c: Likewise.
40147         * tests/test-canonicalize-lgpl.c: Likewise.
40148         * tests/test-canonicalize.c: Likewise.
40149         * tests/test-carray_list.c: Likewise.
40150         * tests/test-ceilf1.c: Likewise.
40151         * tests/test-ceilf2.c: Likewise.
40152         * tests/test-ceill.c: Likewise.
40153         * tests/test-chown.c: Likewise.
40154         * tests/test-cloexec.c: Likewise.
40155         * tests/test-copy-acl.c: Likewise.
40156         * tests/test-copy-file.c: Likewise.
40157         * tests/test-count-one-bits.c: Likewise.
40158         * tests/test-dprintf-posix.c: Likewise.
40159         * tests/test-dup2.c: Likewise.
40160         * tests/test-dup3.c: Likewise.
40161         * tests/test-duplocale.c: Likewise.
40162         * tests/test-fbufmode.c: Likewise.
40163         * tests/test-fchdir.c: Likewise.
40164         * tests/test-fchownat.c: Likewise.
40165         * tests/test-fcntl-safer.c: Likewise.
40166         * tests/test-fcntl.c: Likewise.
40167         * tests/test-fdopendir.c: Likewise.
40168         * tests/test-fdutimensat.c: Likewise.
40169         * tests/test-fflush2.c: Likewise.
40170         * tests/test-file-has-acl.c: Likewise.
40171         * tests/test-filevercmp.c: Likewise.
40172         * tests/test-flock.c: Likewise.
40173         * tests/test-floorf1.c: Likewise.
40174         * tests/test-floorf2.c: Likewise.
40175         * tests/test-floorl.c: Likewise.
40176         * tests/test-fnmatch.c: Likewise.
40177         * tests/test-fopen.h: Likewise.
40178         * tests/test-fpending.c: Likewise.
40179         * tests/test-fprintf-posix.c: Likewise.
40180         * tests/test-fpurge.c: Likewise.
40181         * tests/test-freadable.c: Likewise.
40182         * tests/test-freadahead.c: Likewise.
40183         * tests/test-freading.c: Likewise.
40184         * tests/test-freadptr.c: Likewise.
40185         * tests/test-freadptr2.c: Likewise.
40186         * tests/test-freadseek.c: Likewise.
40187         * tests/test-freopen.c: Likewise.
40188         * tests/test-frexp.c: Likewise.
40189         * tests/test-frexpl.c: Likewise.
40190         * tests/test-fseek.c: Likewise.
40191         * tests/test-fseeko.c: Likewise.
40192         * tests/test-fstatat.c: Likewise.
40193         * tests/test-fstrcmp.c: Likewise.
40194         * tests/test-fsync.c: Likewise.
40195         * tests/test-ftell.c: Likewise.
40196         * tests/test-ftello.c: Likewise.
40197         * tests/test-func.c: Likewise.
40198         * tests/test-futimens.c: Likewise.
40199         * tests/test-fwritable.c: Likewise.
40200         * tests/test-fwriting.c: Likewise.
40201         * tests/test-getcwd.c: Likewise.
40202         * tests/test-getdate.c: Likewise.
40203         * tests/test-getdelim.c: Likewise.
40204         * tests/test-getdtablesize.c: Likewise.
40205         * tests/test-getgroups.c: Likewise.
40206         * tests/test-getline.c: Likewise.
40207         * tests/test-getndelim2.c: Likewise.
40208         * tests/test-glob.c: Likewise.
40209         * tests/test-hash.c: Likewise.
40210         * tests/test-i-ring.c: Likewise.
40211         * tests/test-iconv-utf.c: Likewise.
40212         * tests/test-iconv.c: Likewise.
40213         * tests/test-idpriv-drop.c: Likewise.
40214         * tests/test-idpriv-droptemp.c: Likewise.
40215         * tests/test-inet_ntop.c: Likewise.
40216         * tests/test-inet_pton.c: Likewise.
40217         * tests/test-isblank.c: Likewise.
40218         * tests/test-isfinite.c: Likewise.
40219         * tests/test-isinf.c: Likewise.
40220         * tests/test-isnan.c: Likewise.
40221         * tests/test-isnand.h: Likewise.
40222         * tests/test-isnanf.h: Likewise.
40223         * tests/test-isnanl.h: Likewise.
40224         * tests/test-lchown.c: Likewise.
40225         * tests/test-ldexpl.c: Likewise.
40226         * tests/test-link.c: Likewise.
40227         * tests/test-linkat.c: Likewise.
40228         * tests/test-linked_list.c: Likewise.
40229         * tests/test-linkedhash_list.c: Likewise.
40230         * tests/test-localename.c: Likewise.
40231         * tests/test-lseek.c: Likewise.
40232         * tests/test-lstat.c: Likewise.
40233         * tests/test-mbmemcasecmp.c: Likewise.
40234         * tests/test-mbmemcasecoll.c: Likewise.
40235         * tests/test-mbrtowc.c: Likewise.
40236         * tests/test-mbscasecmp.c: Likewise.
40237         * tests/test-mbscasestr1.c: Likewise.
40238         * tests/test-mbscasestr2.c: Likewise.
40239         * tests/test-mbscasestr3.c: Likewise.
40240         * tests/test-mbscasestr4.c: Likewise.
40241         * tests/test-mbschr.c: Likewise.
40242         * tests/test-mbscspn.c: Likewise.
40243         * tests/test-mbsinit.c: Likewise.
40244         * tests/test-mbsncasecmp.c: Likewise.
40245         * tests/test-mbsnrtowcs.c: Likewise.
40246         * tests/test-mbspbrk.c: Likewise.
40247         * tests/test-mbspcasecmp.c: Likewise.
40248         * tests/test-mbsrchr.c: Likewise.
40249         * tests/test-mbsrtowcs.c: Likewise.
40250         * tests/test-mbsspn.c: Likewise.
40251         * tests/test-mbsstr1.c: Likewise.
40252         * tests/test-mbsstr2.c: Likewise.
40253         * tests/test-mbsstr3.c: Likewise.
40254         * tests/test-memchr.c: Likewise.
40255         * tests/test-memchr2.c: Likewise.
40256         * tests/test-memcmp.c: Likewise.
40257         * tests/test-memmem.c: Likewise.
40258         * tests/test-memrchr.c: Likewise.
40259         * tests/test-mkdir.c: Likewise.
40260         * tests/test-mkdirat.c: Likewise.
40261         * tests/test-mkfifo.c: Likewise.
40262         * tests/test-mkfifoat.c: Likewise.
40263         * tests/test-mknod.c: Likewise.
40264         * tests/test-nanosleep.c: Likewise.
40265         * tests/test-nl_langinfo.c: Likewise.
40266         * tests/test-obstack-printf.c: Likewise.
40267         * tests/test-open.c: Likewise.
40268         * tests/test-openat.c: Likewise.
40269         * tests/test-pipe-filter-gi1.c: Likewise.
40270         * tests/test-pipe-filter-gi2-main.c: Likewise.
40271         * tests/test-pipe-filter-ii1.c: Likewise.
40272         * tests/test-pipe-filter-ii2-main.c: Likewise.
40273         * tests/test-pipe2.c: Likewise.
40274         * tests/test-popen.h: Likewise.
40275         * tests/test-posixtm.c: Likewise.
40276         * tests/test-pread.c: Likewise.
40277         * tests/test-printf-frexp.c: Likewise.
40278         * tests/test-printf-frexpl.c: Likewise.
40279         * tests/test-printf-posix.c: Likewise.
40280         * tests/test-priv-set.c: Likewise.
40281         * tests/test-quotearg.c: Likewise.
40282         * tests/test-random_r.c: Likewise.
40283         * tests/test-rawmemchr.c: Likewise.
40284         * tests/test-rbtree_list.c: Likewise.
40285         * tests/test-rbtree_oset.c: Likewise.
40286         * tests/test-rbtreehash_list.c: Likewise.
40287         * tests/test-readlink.c: Likewise.
40288         * tests/test-remove.c: Likewise.
40289         * tests/test-rename.c: Likewise.
40290         * tests/test-renameat.c: Likewise.
40291         * tests/test-rmdir.c: Likewise.
40292         * tests/test-round1.c: Likewise.
40293         * tests/test-roundf1.c: Likewise.
40294         * tests/test-roundl.c: Likewise.
40295         * tests/test-safe-alloc.c: Likewise.
40296         * tests/test-sameacls.c: Likewise.
40297         * tests/test-set-mode-acl.c: Likewise.
40298         * tests/test-setenv.c: Likewise.
40299         * tests/test-sigaction.c: Likewise.
40300         * tests/test-signbit.c: Likewise.
40301         * tests/test-sleep.c: Likewise.
40302         * tests/test-snprintf-posix.c: Likewise.
40303         * tests/test-snprintf.c: Likewise.
40304         * tests/test-sprintf-posix.c: Likewise.
40305         * tests/test-stat-time.c: Likewise.
40306         * tests/test-stat.c: Likewise.
40307         * tests/test-strcasestr.c: Likewise.
40308         * tests/test-strchrnul.c: Likewise.
40309         * tests/test-strerror.c: Likewise.
40310         * tests/test-striconv.c: Likewise.
40311         * tests/test-striconveh.c: Likewise.
40312         * tests/test-striconveha.c: Likewise.
40313         * tests/test-strsignal.c: Likewise.
40314         * tests/test-strstr.c: Likewise.
40315         * tests/test-strtod.c: Likewise.
40316         * tests/test-strverscmp.c: Likewise.
40317         * tests/test-symlink.c: Likewise.
40318         * tests/test-symlinkat.c: Likewise.
40319         * tests/test-trunc1.c: Likewise.
40320         * tests/test-trunc2.c: Likewise.
40321         * tests/test-truncf1.c: Likewise.
40322         * tests/test-truncf2.c: Likewise.
40323         * tests/test-truncl.c: Likewise.
40324         * tests/test-uname.c: Likewise.
40325         * tests/test-unlink.c: Likewise.
40326         * tests/test-unlinkat.c: Likewise.
40327         * tests/test-unsetenv.c: Likewise.
40328         * tests/test-usleep.c: Likewise.
40329         * tests/test-utimens.c: Likewise.
40330         * tests/test-utimensat.c: Likewise.
40331         * tests/test-vasnprintf-posix.c: Likewise.
40332         * tests/test-vasnprintf-posix2.c: Likewise.
40333         * tests/test-vasnprintf.c: Likewise.
40334         * tests/test-vasprintf-posix.c: Likewise.
40335         * tests/test-vasprintf.c: Likewise.
40336         * tests/test-vdprintf-posix.c: Likewise.
40337         * tests/test-vfprintf-posix.c: Likewise.
40338         * tests/test-vprintf-posix.c: Likewise.
40339         * tests/test-vsnprintf-posix.c: Likewise.
40340         * tests/test-vsnprintf.c: Likewise.
40341         * tests/test-vsprintf-posix.c: Likewise.
40342         * tests/test-wcrtomb.c: Likewise.
40343         * tests/test-wcsnrtombs.c: Likewise.
40344         * tests/test-wcsrtombs.c: Likewise.
40345         * tests/test-wctype.c: Likewise.
40346         * tests/test-wcwidth.c: Likewise.
40347         * tests/test-xfprintf-posix.c: Likewise.
40348         * tests/test-xmemdup0.c: Likewise.
40349         * tests/test-xprintf-posix.c: Likewise.
40350         * tests/test-xvasprintf.c: Likewise.
40351         * tests/unicase/test-locale-language.c: Likewise.
40352         * tests/unicase/test-mapping-part1.h: Likewise.
40353         * tests/unicase/test-predicate-part1.h: Likewise.
40354         * tests/unicase/test-u8-casecmp.c: Likewise.
40355         * tests/unicase/test-u8-casecoll.c: Likewise.
40356         * tests/unicase/test-u8-casefold.c: Likewise.
40357         * tests/unicase/test-u8-is-cased.c: Likewise.
40358         * tests/unicase/test-u8-is-casefolded.c: Likewise.
40359         * tests/unicase/test-u8-is-lowercase.c: Likewise.
40360         * tests/unicase/test-u8-is-titlecase.c: Likewise.
40361         * tests/unicase/test-u8-is-uppercase.c: Likewise.
40362         * tests/unicase/test-u8-tolower.c: Likewise.
40363         * tests/unicase/test-u8-totitle.c: Likewise.
40364         * tests/unicase/test-u8-toupper.c: Likewise.
40365         * tests/unicase/test-u16-casecmp.c: Likewise.
40366         * tests/unicase/test-u16-casecoll.c: Likewise.
40367         * tests/unicase/test-u16-casefold.c: Likewise.
40368         * tests/unicase/test-u16-is-cased.c: Likewise.
40369         * tests/unicase/test-u16-is-casefolded.c: Likewise.
40370         * tests/unicase/test-u16-is-lowercase.c: Likewise.
40371         * tests/unicase/test-u16-is-titlecase.c: Likewise.
40372         * tests/unicase/test-u16-is-uppercase.c: Likewise.
40373         * tests/unicase/test-u16-tolower.c: Likewise.
40374         * tests/unicase/test-u16-totitle.c: Likewise.
40375         * tests/unicase/test-u16-toupper.c: Likewise.
40376         * tests/unicase/test-u32-casecmp.c: Likewise.
40377         * tests/unicase/test-u32-casecoll.c: Likewise.
40378         * tests/unicase/test-u32-casefold.c: Likewise.
40379         * tests/unicase/test-u32-is-cased.c: Likewise.
40380         * tests/unicase/test-u32-is-casefolded.c: Likewise.
40381         * tests/unicase/test-u32-is-lowercase.c: Likewise.
40382         * tests/unicase/test-u32-is-titlecase.c: Likewise.
40383         * tests/unicase/test-u32-is-uppercase.c: Likewise.
40384         * tests/unicase/test-u32-tolower.c: Likewise.
40385         * tests/unicase/test-u32-totitle.c: Likewise.
40386         * tests/unicase/test-u32-toupper.c: Likewise.
40387         * tests/unicase/test-ulc-casecmp.c: Likewise.
40388         * tests/unicase/test-ulc-casecoll.c: Likewise.
40389         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
40390         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
40391         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
40392         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
40393         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
40394         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
40395         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
40396         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
40397         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
40398         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
40399         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
40400         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
40401         * tests/unictype/test-bidi_byname.c: Likewise.
40402         * tests/unictype/test-bidi_name.c: Likewise.
40403         * tests/unictype/test-bidi_of.c: Likewise.
40404         * tests/unictype/test-bidi_test.c: Likewise.
40405         * tests/unictype/test-block_list.c: Likewise.
40406         * tests/unictype/test-block_of.c: Likewise.
40407         * tests/unictype/test-block_test.c: Likewise.
40408         * tests/unictype/test-categ_and.c: Likewise.
40409         * tests/unictype/test-categ_and_not.c: Likewise.
40410         * tests/unictype/test-categ_byname.c: Likewise.
40411         * tests/unictype/test-categ_name.c: Likewise.
40412         * tests/unictype/test-categ_none.c: Likewise.
40413         * tests/unictype/test-categ_of.c: Likewise.
40414         * tests/unictype/test-categ_or.c: Likewise.
40415         * tests/unictype/test-categ_test_withtable.c: Likewise.
40416         * tests/unictype/test-combining.c: Likewise.
40417         * tests/unictype/test-decdigit.c: Likewise.
40418         * tests/unictype/test-digit.c: Likewise.
40419         * tests/unictype/test-mirror.c: Likewise.
40420         * tests/unictype/test-numeric.c: Likewise.
40421         * tests/unictype/test-pr_byname.c: Likewise.
40422         * tests/unictype/test-pr_test.c: Likewise.
40423         * tests/unictype/test-predicate-part1.h: Likewise.
40424         * tests/unictype/test-scripts.c: Likewise.
40425         * tests/unictype/test-sy_c_ident.c: Likewise.
40426         * tests/unictype/test-sy_java_ident.c: Likewise.
40427         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
40428         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
40429         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
40430         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
40431         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
40432         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
40433         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
40434         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
40435         * tests/uninorm/test-canonical-decomposition.c: Likewise.
40436         * tests/uninorm/test-compat-decomposition.c: Likewise.
40437         * tests/uninorm/test-composition.c: Likewise.
40438         * tests/uninorm/test-decomposing-form.c: Likewise.
40439         * tests/uninorm/test-decomposition.c: Likewise.
40440         * tests/uninorm/test-u8-nfc.c: Likewise.
40441         * tests/uninorm/test-u8-nfd.c: Likewise.
40442         * tests/uninorm/test-u8-nfkc.c: Likewise.
40443         * tests/uninorm/test-u8-nfkd.c: Likewise.
40444         * tests/uninorm/test-u8-normcmp.c: Likewise.
40445         * tests/uninorm/test-u8-normcoll.c: Likewise.
40446         * tests/uninorm/test-u16-nfc.c: Likewise.
40447         * tests/uninorm/test-u16-nfd.c: Likewise.
40448         * tests/uninorm/test-u16-nfkc.c: Likewise.
40449         * tests/uninorm/test-u16-nfkd.c: Likewise.
40450         * tests/uninorm/test-u16-normcmp.c: Likewise.
40451         * tests/uninorm/test-u16-normcoll.c: Likewise.
40452         * tests/uninorm/test-u32-nfc.c: Likewise.
40453         * tests/uninorm/test-u32-nfd.c: Likewise.
40454         * tests/uninorm/test-u32-nfkc.c: Likewise.
40455         * tests/uninorm/test-u32-nfkd.c: Likewise.
40456         * tests/uninorm/test-u32-normalize-big.c: Likewise.
40457         * tests/uninorm/test-u32-normcmp.c: Likewise.
40458         * tests/uninorm/test-u32-normcoll.c: Likewise.
40459         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
40460         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
40461         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
40462         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
40463         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
40464         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
40465         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
40466         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
40467         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
40468         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
40469         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
40470         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
40471         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
40472         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
40473         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
40474         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
40475         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
40476         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
40477         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
40478         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
40479         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
40480         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
40481         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
40482         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
40483         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
40484         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
40485         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
40486         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
40487         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
40488         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
40489         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
40490         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
40491         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
40492         * tests/uniwidth/test-u8-strwidth.c: Likewise.
40493         * tests/uniwidth/test-u8-width.c: Likewise.
40494         * tests/uniwidth/test-u16-strwidth.c: Likewise.
40495         * tests/uniwidth/test-u16-width.c: Likewise.
40496         * tests/uniwidth/test-u32-strwidth.c: Likewise.
40497         * tests/uniwidth/test-u32-width.c: Likewise.
40498         * tests/uniwidth/test-uc_width.c: Likewise.
40499         * tests/uniwidth/test-uc_width2.c: Likewise.
40500         * modules/acl-tests (Files): Add tests/macros.h.
40501         * modules/areadlink-tests (Files): Likewise.
40502         * modules/areadlink-with-size-tests (Files): Likewise.
40503         * modules/areadlinkat-tests (Files): Likewise.
40504         * modules/areadlinkat-with-size-tests (Files): Likewise.
40505         * modules/argmatch-tests (Files): Likewise.
40506         * modules/argv-iter-tests (Files): Likewise.
40507         * modules/array-list-tests (Files): Likewise.
40508         * modules/array-mergesort-tests (Files): Likewise.
40509         * modules/array-oset-tests (Files): Likewise.
40510         * modules/avltree-list-tests (Files): Likewise.
40511         * modules/avltree-oset-tests (Files): Likewise.
40512         * modules/avltreehash-list-tests (Files): Likewise.
40513         * modules/base64-tests (Files): Likewise.
40514         * modules/binary-io-tests (Files): Likewise.
40515         * modules/bitrotate-tests (Files): Likewise.
40516         * modules/btowc-tests (Files): Likewise.
40517         * modules/byteswap-tests (Files): Likewise.
40518         * modules/c-ctype-tests (Files): Likewise.
40519         * modules/c-stack-tests (Files): Likewise.
40520         * modules/c-strcase-tests (Files): Likewise.
40521         * modules/c-strcasestr-tests (Files): Likewise.
40522         * modules/c-strstr-tests (Files): Likewise.
40523         * modules/canonicalize-lgpl-tests (Files): Likewise.
40524         * modules/canonicalize-tests (Files): Likewise.
40525         * modules/carray-list-tests (Files): Likewise.
40526         * modules/ceilf-tests (Files): Likewise.
40527         * modules/ceill-tests (Files): Likewise.
40528         * modules/chown-tests (Files): Likewise.
40529         * modules/cloexec-tests (Files): Likewise.
40530         * modules/copy-file-tests (Files): Likewise.
40531         * modules/count-one-bits-tests (Files): Likewise.
40532         * modules/dprintf-posix-tests (Files): Likewise.
40533         * modules/dup2-tests (Files): Likewise.
40534         * modules/dup3-tests (Files): Likewise.
40535         * modules/duplocale-tests (Files): Likewise.
40536         * modules/fbufmode-tests (Files): Likewise.
40537         * modules/fchdir-tests (Files): Likewise.
40538         * modules/fcntl-safer-tests (Files): Likewise.
40539         * modules/fcntl-tests (Files): Likewise.
40540         * modules/fdopendir-tests (Files): Likewise.
40541         * modules/fdutimensat-tests (Files): Likewise.
40542         * modules/fflush-tests (Files): Likewise.
40543         * modules/filevercmp-tests (Files): Likewise.
40544         * modules/flock-tests (Files): Likewise.
40545         * modules/floorf-tests (Files): Likewise.
40546         * modules/floorl-tests (Files): Likewise.
40547         * modules/fnmatch-tests (Files): Likewise.
40548         * modules/fopen-safer-tests (Files): Likewise.
40549         * modules/fopen-tests (Files): Likewise.
40550         * modules/fpending-tests (Files): Likewise.
40551         * modules/fprintf-posix-tests (Files): Likewise.
40552         * modules/fpurge-tests (Files): Likewise.
40553         * modules/freadable-tests (Files): Likewise.
40554         * modules/freadahead-tests (Files): Likewise.
40555         * modules/freading-tests (Files): Likewise.
40556         * modules/freadptr-tests (Files): Likewise.
40557         * modules/freadseek-tests (Files): Likewise.
40558         * modules/freopen-tests (Files): Likewise.
40559         * modules/frexp-nolibm-tests (Files): Likewise.
40560         * modules/frexp-tests (Files): Likewise.
40561         * modules/frexpl-nolibm-tests (Files): Likewise.
40562         * modules/frexpl-tests (Files): Likewise.
40563         * modules/fseek-tests (Files): Likewise.
40564         * modules/fseeko-tests (Files): Likewise.
40565         * modules/fstrcmp-tests (Files): Likewise.
40566         * modules/fsync-tests (Files): Likewise.
40567         * modules/ftell-tests (Files): Likewise.
40568         * modules/ftello-tests (Files): Likewise.
40569         * modules/func-tests (Files): Likewise.
40570         * modules/futimens-tests (Files): Likewise.
40571         * modules/fwritable-tests (Files): Likewise.
40572         * modules/fwriting-tests (Files): Likewise.
40573         * modules/getcwd-tests (Files): Likewise.
40574         * modules/getdate-tests (Files): Likewise.
40575         * modules/getdelim-tests (Files): Likewise.
40576         * modules/getdtablesize-tests (Files): Likewise.
40577         * modules/getgroups-tests (Files): Likewise.
40578         * modules/getline-tests (Files): Likewise.
40579         * modules/getndelim2-tests (Files): Likewise.
40580         * modules/glob-tests (Files): Likewise.
40581         * modules/hash-tests (Files): Likewise.
40582         * modules/i-ring-tests (Files): Likewise.
40583         * modules/iconv-tests (Files): Likewise.
40584         * modules/iconv_open-utf-tests (Files): Likewise.
40585         * modules/idpriv-drop-tests (Files): Likewise.
40586         * modules/idpriv-droptemp-tests (Files): Likewise.
40587         * modules/inet_ntop-tests (Files): Likewise.
40588         * modules/inet_pton-tests (Files): Likewise.
40589         * modules/isblank-tests (Files): Likewise.
40590         * modules/isfinite-tests (Files): Likewise.
40591         * modules/isinf-tests (Files): Likewise.
40592         * modules/isnan-tests (Files): Likewise.
40593         * modules/isnand-nolibm-tests (Files): Likewise.
40594         * modules/isnand-tests (Files): Likewise.
40595         * modules/isnanf-nolibm-tests (Files): Likewise.
40596         * modules/isnanf-tests (Files): Likewise.
40597         * modules/isnanl-nolibm-tests (Files): Likewise.
40598         * modules/isnanl-tests (Files): Likewise.
40599         * modules/lchown-tests (Files): Likewise.
40600         * modules/ldexpl-tests (Files): Likewise.
40601         * modules/link-tests (Files): Likewise.
40602         * modules/linkat-tests (Files): Likewise.
40603         * modules/linked-list-tests (Files): Likewise.
40604         * modules/linkedhash-list-tests (Files): Likewise.
40605         * modules/localename-tests (Files): Likewise.
40606         * modules/lseek-tests (Files): Likewise.
40607         * modules/lstat-tests (Files): Likewise.
40608         * modules/mbmemcasecmp-tests (Files): Likewise.
40609         * modules/mbmemcasecoll-tests (Files): Likewise.
40610         * modules/mbrtowc-tests (Files): Likewise.
40611         * modules/mbscasecmp-tests (Files): Likewise.
40612         * modules/mbscasestr-tests (Files): Likewise.
40613         * modules/mbschr-tests (Files): Likewise.
40614         * modules/mbscspn-tests (Files): Likewise.
40615         * modules/mbsinit-tests (Files): Likewise.
40616         * modules/mbsncasecmp-tests (Files): Likewise.
40617         * modules/mbsnrtowcs-tests (Files): Likewise.
40618         * modules/mbspbrk-tests (Files): Likewise.
40619         * modules/mbspcasecmp-tests (Files): Likewise.
40620         * modules/mbsrchr-tests (Files): Likewise.
40621         * modules/mbsrtowcs-tests (Files): Likewise.
40622         * modules/mbsspn-tests (Files): Likewise.
40623         * modules/mbsstr-tests (Files): Likewise.
40624         * modules/memchr-tests (Files): Likewise.
40625         * modules/memchr2-tests (Files): Likewise.
40626         * modules/memcmp-tests (Files): Likewise.
40627         * modules/memmem-tests (Files): Likewise.
40628         * modules/memrchr-tests (Files): Likewise.
40629         * modules/mkdir-tests (Files): Likewise.
40630         * modules/mkfifo-tests (Files): Likewise.
40631         * modules/mkfifoat-tests (Files): Likewise.
40632         * modules/mknod-tests (Files): Likewise.
40633         * modules/nanosleep-tests (Files): Likewise.
40634         * modules/nl_langinfo-tests (Files): Likewise.
40635         * modules/obstack-printf-tests (Files): Likewise.
40636         * modules/open-tests (Files): Likewise.
40637         * modules/openat-tests (Files): Likewise.
40638         * modules/pipe-filter-gi-tests (Files): Likewise.
40639         * modules/pipe-filter-ii-tests (Files): Likewise.
40640         * modules/pipe2-tests (Files): Likewise.
40641         * modules/popen-safer-tests (Files): Likewise.
40642         * modules/popen-tests (Files): Likewise.
40643         * modules/posixtm-tests (Files): Likewise.
40644         * modules/pread-tests (Files): Likewise.
40645         * modules/printf-frexp-tests (Files): Likewise.
40646         * modules/printf-frexpl-tests (Files): Likewise.
40647         * modules/printf-posix-tests (Files): Likewise.
40648         * modules/priv-set-tests (Files): Likewise.
40649         * modules/quotearg-tests (Files): Likewise.
40650         * modules/random_r-tests (Files): Likewise.
40651         * modules/rawmemchr-tests (Files): Likewise.
40652         * modules/rbtree-list-tests (Files): Likewise.
40653         * modules/rbtree-oset-tests (Files): Likewise.
40654         * modules/rbtreehash-list-tests (Files): Likewise.
40655         * modules/readlink-tests (Files): Likewise.
40656         * modules/remove-tests (Files): Likewise.
40657         * modules/rename-tests (Files): Likewise.
40658         * modules/renameat-tests (Files): Likewise.
40659         * modules/rmdir-tests (Files): Likewise.
40660         * modules/round-tests (Files): Likewise.
40661         * modules/roundf-tests (Files): Likewise.
40662         * modules/roundl-tests (Files): Likewise.
40663         * modules/safe-alloc-tests (Files): Likewise.
40664         * modules/setenv-tests (Files): Likewise.
40665         * modules/sigaction-tests (Files): Likewise.
40666         * modules/signbit-tests (Files): Likewise.
40667         * modules/sleep-tests (Files): Likewise.
40668         * modules/snprintf-posix-tests (Files): Likewise.
40669         * modules/snprintf-tests (Files): Likewise.
40670         * modules/sprintf-posix-tests (Files): Likewise.
40671         * modules/stat-tests (Files): Likewise.
40672         * modules/stat-time-tests (Files): Likewise.
40673         * modules/strcasestr-tests (Files): Likewise.
40674         * modules/strchrnul-tests (Files): Likewise.
40675         * modules/strerror-tests (Files): Likewise.
40676         * modules/striconv-tests (Files): Likewise.
40677         * modules/striconveh-tests (Files): Likewise.
40678         * modules/striconveha-tests (Files): Likewise.
40679         * modules/strsignal-tests (Files): Likewise.
40680         * modules/strstr-tests (Files): Likewise.
40681         * modules/strtod-tests (Files): Likewise.
40682         * modules/strverscmp-tests (Files): Likewise.
40683         * modules/symlink-tests (Files): Likewise.
40684         * modules/symlinkat-tests (Files): Likewise.
40685         * modules/trunc-tests (Files): Likewise.
40686         * modules/truncf-tests (Files): Likewise.
40687         * modules/truncl-tests (Files): Likewise.
40688         * modules/uname-tests (Files): Likewise.
40689         * modules/unicase/cased-tests (Files): Likewise.
40690         * modules/unicase/ignorable-tests (Files): Likewise.
40691         * modules/unicase/locale-language-tests (Files): Likewise.
40692         * modules/unicase/tolower-tests (Files): Likewise.
40693         * modules/unicase/totitle-tests (Files): Likewise.
40694         * modules/unicase/toupper-tests (Files): Likewise.
40695         * modules/unicase/u8-casecmp-tests (Files): Likewise.
40696         * modules/unicase/u8-casecoll-tests (Files): Likewise.
40697         * modules/unicase/u8-casefold-tests (Files): Likewise.
40698         * modules/unicase/u8-is-cased-tests (Files): Likewise.
40699         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
40700         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
40701         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
40702         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
40703         * modules/unicase/u8-tolower-tests (Files): Likewise.
40704         * modules/unicase/u8-totitle-tests (Files): Likewise.
40705         * modules/unicase/u8-toupper-tests (Files): Likewise.
40706         * modules/unicase/u16-casecmp-tests (Files): Likewise.
40707         * modules/unicase/u16-casecoll-tests (Files): Likewise.
40708         * modules/unicase/u16-casefold-tests (Files): Likewise.
40709         * modules/unicase/u16-is-cased-tests (Files): Likewise.
40710         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
40711         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
40712         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
40713         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
40714         * modules/unicase/u16-tolower-tests (Files): Likewise.
40715         * modules/unicase/u16-totitle-tests (Files): Likewise.
40716         * modules/unicase/u16-toupper-tests (Files): Likewise.
40717         * modules/unicase/u32-casecmp-tests (Files): Likewise.
40718         * modules/unicase/u32-casecoll-tests (Files): Likewise.
40719         * modules/unicase/u32-casefold-tests (Files): Likewise.
40720         * modules/unicase/u32-is-cased-tests (Files): Likewise.
40721         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
40722         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
40723         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
40724         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
40725         * modules/unicase/u32-tolower-tests (Files): Likewise.
40726         * modules/unicase/u32-totitle-tests (Files): Likewise.
40727         * modules/unicase/u32-toupper-tests (Files): Likewise.
40728         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
40729         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
40730         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
40731         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
40732         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
40733         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
40734         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
40735         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
40736         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
40737         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
40738         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
40739         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
40740         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
40741         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
40742         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
40743         * modules/unictype/bidicategory-name-tests (Files): Likewise.
40744         * modules/unictype/bidicategory-of-tests (Files): Likewise.
40745         * modules/unictype/bidicategory-test-tests (Files): Likewise.
40746         * modules/unictype/block-list-tests (Files): Likewise.
40747         * modules/unictype/block-of-tests (Files): Likewise.
40748         * modules/unictype/block-test-tests (Files): Likewise.
40749         * modules/unictype/category-C-tests (Files): Likewise.
40750         * modules/unictype/category-Cc-tests (Files): Likewise.
40751         * modules/unictype/category-Cf-tests (Files): Likewise.
40752         * modules/unictype/category-Cn-tests (Files): Likewise.
40753         * modules/unictype/category-Co-tests (Files): Likewise.
40754         * modules/unictype/category-Cs-tests (Files): Likewise.
40755         * modules/unictype/category-L-tests (Files): Likewise.
40756         * modules/unictype/category-Ll-tests (Files): Likewise.
40757         * modules/unictype/category-Lm-tests (Files): Likewise.
40758         * modules/unictype/category-Lo-tests (Files): Likewise.
40759         * modules/unictype/category-Lt-tests (Files): Likewise.
40760         * modules/unictype/category-Lu-tests (Files): Likewise.
40761         * modules/unictype/category-M-tests (Files): Likewise.
40762         * modules/unictype/category-Mc-tests (Files): Likewise.
40763         * modules/unictype/category-Me-tests (Files): Likewise.
40764         * modules/unictype/category-Mn-tests (Files): Likewise.
40765         * modules/unictype/category-N-tests (Files): Likewise.
40766         * modules/unictype/category-Nd-tests (Files): Likewise.
40767         * modules/unictype/category-Nl-tests (Files): Likewise.
40768         * modules/unictype/category-No-tests (Files): Likewise.
40769         * modules/unictype/category-P-tests (Files): Likewise.
40770         * modules/unictype/category-Pc-tests (Files): Likewise.
40771         * modules/unictype/category-Pd-tests (Files): Likewise.
40772         * modules/unictype/category-Pe-tests (Files): Likewise.
40773         * modules/unictype/category-Pf-tests (Files): Likewise.
40774         * modules/unictype/category-Pi-tests (Files): Likewise.
40775         * modules/unictype/category-Po-tests (Files): Likewise.
40776         * modules/unictype/category-Ps-tests (Files): Likewise.
40777         * modules/unictype/category-S-tests (Files): Likewise.
40778         * modules/unictype/category-Sc-tests (Files): Likewise.
40779         * modules/unictype/category-Sk-tests (Files): Likewise.
40780         * modules/unictype/category-Sm-tests (Files): Likewise.
40781         * modules/unictype/category-So-tests (Files): Likewise.
40782         * modules/unictype/category-Z-tests (Files): Likewise.
40783         * modules/unictype/category-Zl-tests (Files): Likewise.
40784         * modules/unictype/category-Zp-tests (Files): Likewise.
40785         * modules/unictype/category-Zs-tests (Files): Likewise.
40786         * modules/unictype/category-and-not-tests (Files): Likewise.
40787         * modules/unictype/category-and-tests (Files): Likewise.
40788         * modules/unictype/category-byname-tests (Files): Likewise.
40789         * modules/unictype/category-name-tests (Files): Likewise.
40790         * modules/unictype/category-none-tests (Files): Likewise.
40791         * modules/unictype/category-of-tests (Files): Likewise.
40792         * modules/unictype/category-or-tests (Files): Likewise.
40793         * modules/unictype/category-test-withtable-tests (Files): Likewise.
40794         * modules/unictype/combining-class-tests (Files): Likewise.
40795         * modules/unictype/ctype-alnum-tests (Files): Likewise.
40796         * modules/unictype/ctype-alpha-tests (Files): Likewise.
40797         * modules/unictype/ctype-blank-tests (Files): Likewise.
40798         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
40799         * modules/unictype/ctype-digit-tests (Files): Likewise.
40800         * modules/unictype/ctype-graph-tests (Files): Likewise.
40801         * modules/unictype/ctype-lower-tests (Files): Likewise.
40802         * modules/unictype/ctype-print-tests (Files): Likewise.
40803         * modules/unictype/ctype-punct-tests (Files): Likewise.
40804         * modules/unictype/ctype-space-tests (Files): Likewise.
40805         * modules/unictype/ctype-upper-tests (Files): Likewise.
40806         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
40807         * modules/unictype/decimal-digit-tests (Files): Likewise.
40808         * modules/unictype/digit-tests (Files): Likewise.
40809         * modules/unictype/mirror-tests (Files): Likewise.
40810         * modules/unictype/numeric-tests (Files): Likewise.
40811         * modules/unictype/property-alphabetic-tests (Files): Likewise.
40812         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
40813         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
40814         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
40815         Likewise.
40816         * modules/unictype/property-bidi-block-separator-tests (Files):
40817         Likewise.
40818         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
40819         Likewise.
40820         * modules/unictype/property-bidi-common-separator-tests (Files):
40821         Likewise.
40822         * modules/unictype/property-bidi-control-tests (Files): Likewise.
40823         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
40824         Likewise.
40825         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
40826         Likewise.
40827         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
40828         Likewise.
40829         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
40830         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
40831         Likewise.
40832         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
40833         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
40834         Likewise.
40835         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
40836         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
40837         * modules/unictype/property-bidi-segment-separator-tests (Files):
40838         Likewise.
40839         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
40840         * modules/unictype/property-byname-tests (Files): Likewise.
40841         * modules/unictype/property-combining-tests (Files): Likewise.
40842         * modules/unictype/property-composite-tests (Files): Likewise.
40843         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
40844         * modules/unictype/property-dash-tests (Files): Likewise.
40845         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
40846         * modules/unictype/property-default-ignorable-code-point-tests (Files):
40847         Likewise.
40848         * modules/unictype/property-deprecated-tests (Files): Likewise.
40849         * modules/unictype/property-diacritic-tests (Files): Likewise.
40850         * modules/unictype/property-extender-tests (Files): Likewise.
40851         * modules/unictype/property-format-control-tests (Files): Likewise.
40852         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
40853         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
40854         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
40855         * modules/unictype/property-hex-digit-tests (Files): Likewise.
40856         * modules/unictype/property-hyphen-tests (Files): Likewise.
40857         * modules/unictype/property-id-continue-tests (Files): Likewise.
40858         * modules/unictype/property-id-start-tests (Files): Likewise.
40859         * modules/unictype/property-ideographic-tests (Files): Likewise.
40860         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
40861         * modules/unictype/property-ids-trinary-operator-tests (Files):
40862         Likewise.
40863         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
40864         * modules/unictype/property-iso-control-tests (Files): Likewise.
40865         * modules/unictype/property-join-control-tests (Files): Likewise.
40866         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
40867         * modules/unictype/property-line-separator-tests (Files): Likewise.
40868         * modules/unictype/property-logical-order-exception-tests (Files):
40869         Likewise.
40870         * modules/unictype/property-lowercase-tests (Files): Likewise.
40871         * modules/unictype/property-math-tests (Files): Likewise.
40872         * modules/unictype/property-non-break-tests (Files): Likewise.
40873         * modules/unictype/property-not-a-character-tests (Files): Likewise.
40874         * modules/unictype/property-numeric-tests (Files): Likewise.
40875         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
40876         * modules/unictype/property-other-default-ignorable-code-point-tests
40877         (Files): Likewise.
40878         * modules/unictype/property-other-grapheme-extend-tests (Files):
40879         Likewise.
40880         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
40881         * modules/unictype/property-other-id-start-tests (Files): Likewise.
40882         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
40883         * modules/unictype/property-other-math-tests (Files): Likewise.
40884         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
40885         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
40886         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
40887         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
40888         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
40889         * modules/unictype/property-private-use-tests (Files): Likewise.
40890         * modules/unictype/property-punctuation-tests (Files): Likewise.
40891         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
40892         * modules/unictype/property-radical-tests (Files): Likewise.
40893         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
40894         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
40895         * modules/unictype/property-space-tests (Files): Likewise.
40896         * modules/unictype/property-terminal-punctuation-tests (Files):
40897         Likewise.
40898         * modules/unictype/property-test-tests (Files): Likewise.
40899         * modules/unictype/property-titlecase-tests (Files): Likewise.
40900         * modules/unictype/property-unassigned-code-value-tests (Files):
40901         Likewise.
40902         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
40903         * modules/unictype/property-uppercase-tests (Files): Likewise.
40904         * modules/unictype/property-variation-selector-tests (Files): Likewise.
40905         * modules/unictype/property-white-space-tests (Files): Likewise.
40906         * modules/unictype/property-xid-continue-tests (Files): Likewise.
40907         * modules/unictype/property-xid-start-tests (Files): Likewise.
40908         * modules/unictype/property-zero-width-tests (Files): Likewise.
40909         * modules/unictype/scripts-tests (Files): Likewise.
40910         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
40911         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
40912         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
40913         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
40914         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
40915         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
40916         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
40917         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
40918         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
40919         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
40920         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
40921         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
40922         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
40923         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
40924         * modules/uninorm/composition-tests (Files): Likewise.
40925         * modules/uninorm/decomposing-form-tests (Files): Likewise.
40926         * modules/uninorm/decomposition-tests (Files): Likewise.
40927         * modules/uninorm/filter-tests (Files): Likewise.
40928         * modules/uninorm/nfc-tests (Files): Likewise.
40929         * modules/uninorm/nfd-tests (Files): Likewise.
40930         * modules/uninorm/nfkc-tests (Files): Likewise.
40931         * modules/uninorm/nfkd-tests (Files): Likewise.
40932         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
40933         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
40934         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
40935         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
40936         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
40937         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
40938         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
40939         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
40940         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
40941         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
40942         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
40943         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
40944         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
40945         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
40946         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
40947         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
40948         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
40949         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
40950         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
40951         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
40952         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
40953         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
40954         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
40955         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
40956         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
40957         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
40958         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
40959         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
40960         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
40961         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
40962         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
40963         * modules/uniwidth/u8-width-tests (Files): Likewise.
40964         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
40965         * modules/uniwidth/u16-width-tests (Files): Likewise.
40966         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
40967         * modules/uniwidth/u32-width-tests (Files): Likewise.
40968         * modules/uniwidth/width-tests (Files): Likewise.
40969         * modules/unlink-tests (Files): Likewise.
40970         * modules/unsetenv-tests (Files): Likewise.
40971         * modules/usleep-tests (Files): Likewise.
40972         * modules/utimens-tests (Files): Likewise.
40973         * modules/utimensat-tests (Files): Likewise.
40974         * modules/vasnprintf-posix-tests (Files): Likewise.
40975         * modules/vasnprintf-tests (Files): Likewise.
40976         * modules/vasprintf-posix-tests (Files): Likewise.
40977         * modules/vasprintf-tests (Files): Likewise.
40978         * modules/vdprintf-posix-tests (Files): Likewise.
40979         * modules/vfprintf-posix-tests (Files): Likewise.
40980         * modules/vprintf-posix-tests (Files): Likewise.
40981         * modules/vsnprintf-posix-tests (Files): Likewise.
40982         * modules/vsnprintf-tests (Files): Likewise.
40983         * modules/vsprintf-posix-tests (Files): Likewise.
40984         * modules/wcrtomb-tests (Files): Likewise.
40985         * modules/wcsnrtombs-tests (Files): Likewise.
40986         * modules/wcsrtombs-tests (Files): Likewise.
40987         * modules/wctype-tests (Files): Likewise.
40988         * modules/wcwidth-tests (Files): Likewise.
40989         * modules/xmemdup0-tests (Files): Likewise.
40990         * modules/xprintf-posix-tests (Files): Likewise.
40991         * modules/xvasprintf-tests (Files): Likewise.
40992
40993 2009-12-24  Eric Blake  <ebb9@byu.net>
40994
40995         test-nanosleep: fix typo
40996         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
40997         patch.
40998         Reported by Bruno Haible.
40999
41000 2009-12-24  Bruno Haible  <bruno@clisp.org>
41001
41002         Reduce namespace pollution on glibc systems.
41003         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
41004         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
41005         systems.
41006         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
41007         <getopt.h> on glibc systems.
41008         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
41009         systems.
41010         * lib/fcntl.c: Include <unistd.h> here instead.
41011
41012 2009-12-24  Bruno Haible  <bruno@clisp.org>
41013
41014         * lib/stdlib.in.h (includes): Fix typo in today's commit.
41015
41016 2009-12-24  Eric Blake  <ebb9@byu.net>
41017
41018         tests: add signature checks
41019         * tests/signature.h (SIGNATURE_CHECK): New file.
41020         * modules/atexit-tests (Files): Use it.
41021         * modules/btowc-tests (Files): Likewise.
41022         * modules/canonicalize-lgpl-tests (Files): Likewise.
41023         * modules/ceilf-tests (Files): Likewise.
41024         * modules/ceill-tests (Files): Likewise.
41025         * modules/chown-tests (Files): Likewise.
41026         * modules/dprintf-posix-tests (Files): Likewise.
41027         * modules/dup2-tests (Files): Likewise.
41028         * modules/dup3-tests (Files): Likewise.
41029         * modules/duplocale-tests (Files): Likewise.
41030         * modules/fchdir-tests (Files): Likewise.
41031         * modules/fcntl-tests (Files): Likewise.
41032         * modules/fdopendir-tests (Files): Likewise.
41033         * modules/fflush-tests (Files): Likewise.
41034         * modules/flock-tests (Files): Likewise.
41035         * modules/floorf-tests (Files): Likewise.
41036         * modules/floorl-tests (Files): Likewise.
41037         * modules/fnmatch-tests (Files): Likewise.
41038         * modules/fopen-tests (Files): Likewise.
41039         * modules/fprintf-posix-tests (Files): Likewise.
41040         * modules/freopen-tests (Files): Likewise.
41041         * modules/frexp-nolibm-tests (Files): Likewise.
41042         * modules/frexp-tests (Files): Likewise.
41043         * modules/frexpl-nolibm-tests (Files): Likewise.
41044         * modules/frexpl-tests (Files): Likewise.
41045         * modules/fseek-tests (Files): Likewise.
41046         * modules/fseeko-tests (Files): Likewise.
41047         * modules/fsync-tests (Files): Likewise.
41048         * modules/ftell-tests (Files): Likewise.
41049         * modules/ftello-tests (Files): Likewise.
41050         * modules/futimens-tests (Files): Likewise.
41051         * modules/getaddrinfo-tests (Files): Likewise.
41052         * modules/getcwd-tests (Files): Likewise.
41053         * modules/getdelim-tests (Files): Likewise.
41054         * modules/getdtablesize-tests (Files): Likewise.
41055         * modules/getgroups-tests (Files): Likewise.
41056         * modules/gethostname-tests (Files): Likewise.
41057         * modules/getline-tests (Files): Likewise.
41058         * modules/getopt-posix-tests (Files): Likewise.
41059         * modules/gettimeofday-tests (Files): Likewise.
41060         * modules/glob-tests (Files): Likewise.
41061         * modules/iconv-tests (Files): Likewise.
41062         * modules/inet_ntop-tests (Files): Likewise.
41063         * modules/inet_pton-tests (Files): Likewise.
41064         * modules/isblank-tests (Files): Likewise.
41065         * modules/lchown-tests (Files): Likewise.
41066         * modules/ldexpl-tests (Files): Likewise.
41067         * modules/link-tests (Files): Likewise.
41068         * modules/linkat-tests (Files): Likewise.
41069         * modules/lseek-tests (Files): Likewise.
41070         * modules/lstat-tests (Files): Likewise.
41071         * modules/mbrtowc-tests (Files): Likewise.
41072         * modules/mbsinit-tests (Files): Likewise.
41073         * modules/mbsnrtowcs-tests (Files): Likewise.
41074         * modules/mbsrtowcs-tests (Files): Likewise.
41075         * modules/memchr-tests (Files): Likewise.
41076         * modules/memcmp-tests (Files): Likewise.
41077         * modules/memmem-tests (Files): Likewise.
41078         * modules/memrchr-tests (Files): Likewise.
41079         * modules/mkdir-tests (Files): Likewise.
41080         * modules/mkfifo-tests (Files): Likewise.
41081         * modules/mkfifoat-tests (Files): Likewise.
41082         * modules/mknod-tests (Files): Likewise.
41083         * modules/nanosleep-tests (Files): Likewise.
41084         * modules/nl_langinfo-tests (Files): Likewise.
41085         * modules/obstack-printf-tests (Files): Likewise.
41086         * modules/open-tests (Files): Likewise.
41087         * modules/openat-tests (Files): Likewise.
41088         * modules/perror-tests (Files): Likewise.
41089         * modules/pipe2-tests (Files): Likewise.
41090         * modules/poll-tests (Files): Likewise.
41091         * modules/popen-tests (Files): Likewise.
41092         * modules/posix_spawn-tests (Files): Likewise.
41093         * modules/posix_spawnp-tests (Files): Likewise.
41094         * modules/pread-tests (Files): Likewise.
41095         * modules/printf-posix-tests (Files): Likewise.
41096         * modules/pty-tests (Files): Likewise.
41097         * modules/random_r-tests (Files): Likewise.
41098         * modules/rawmemchr-tests (Files): Likewise.
41099         * modules/readlink-tests (Files): Likewise.
41100         * modules/remove-tests (Files): Likewise.
41101         * modules/rename-tests (Files): Likewise.
41102         * modules/renameat-tests (Files): Likewise.
41103         * modules/rmdir-tests (Files): Likewise.
41104         * modules/round-tests (Files): Likewise.
41105         * modules/roundf-tests (Files): Likewise.
41106         * modules/roundl-tests (Files): Likewise.
41107         * modules/select-tests (Files): Likewise.
41108         * modules/setenv-tests (Files): Likewise.
41109         * modules/sigaction-tests (Files): Likewise.
41110         * modules/sleep-tests (Files): Likewise.
41111         * modules/snprintf-posix-tests (Files): Likewise.
41112         * modules/snprintf-tests (Files): Likewise.
41113         * modules/sprintf-posix-tests (Files): Likewise.
41114         * modules/stat-tests (Files): Likewise.
41115         * modules/strcasestr-tests (Files): Likewise.
41116         * modules/strchrnul-tests (Files): Likewise.
41117         * modules/strerror-tests (Files): Likewise.
41118         * modules/strsignal-tests (Files): Likewise.
41119         * modules/strstr-tests (Files): Likewise.
41120         * modules/strtod-tests (Files): Likewise.
41121         * modules/strverscmp-tests (Files): Likewise.
41122         * modules/symlink-tests (Files): Likewise.
41123         * modules/symlinkat-tests (Files): Likewise.
41124         * modules/times-tests (Files): Likewise.
41125         * modules/trunc-tests (Files): Likewise.
41126         * modules/truncf-tests (Files): Likewise.
41127         * modules/truncl-tests (Files): Likewise.
41128         * modules/tsearch-tests (Files): Likewise.
41129         * modules/uname-tests (Files): Likewise.
41130         * modules/unlink-tests (Files): Likewise.
41131         * modules/unsetenv-tests (Files): Likewise.
41132         * modules/usleep-tests (Files): Likewise.
41133         * modules/utimensat-tests (Files): Likewise.
41134         * modules/vasprintf-tests (Files): Likewise.
41135         * modules/vdprintf-posix-tests (Files): Likewise.
41136         * modules/vfprintf-posix-tests (Files): Likewise.
41137         * modules/vprintf-posix-tests (Files): Likewise.
41138         * modules/vsnprintf-posix-tests (Files): Likewise.
41139         * modules/vsnprintf-tests (Files): Likewise.
41140         * modules/vsprintf-posix-tests (Files): Likewise.
41141         * modules/wcrtomb-tests (Files): Likewise.
41142         * modules/wcsnrtombs-tests (Files): Likewise.
41143         * modules/wcsrtombs-tests (Files): Likewise.
41144         * modules/wcwidth-tests (Files): Likewise.
41145         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
41146         * tests/test-isinf.c (isinf): Likewise.
41147         * tests/test-isnan.c (isnan): Likewise.
41148         * tests/test-signbit.c (signbit): Likewise.
41149         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
41150         declaration, either as macro or with correct signature.
41151         (select): Ensure function under test is declared with correct
41152         signature in correct header.
41153         * tests/test-atexit.c (atexit): Likewise.
41154         * tests/test-btowc.c (btowc): Likewise.
41155         * tests/test-canonicalize-lgpl.c (realpath)
41156         (canonicalize_file_name): Likewise.
41157         * tests/test-ceilf1.c (ceilf): Likewise.
41158         * tests/test-ceill.c (ceill): Likewise.
41159         * tests/test-chown.c (chown): Likewise.
41160         * tests/test-dprintf-posix.c (dprintf): Likewise.
41161         * tests/test-dup2.c (dup2): Likewise.
41162         * tests/test-dup3.c (dup3): Likewise.
41163         * tests/test-duplocale.c (duplocale): Likewise.
41164         * tests/test-fchdir.c (fchdir): Likewise.
41165         * tests/test-fchownat.c (fchownat): Likewise.
41166         * tests/test-fcntl.c (fcntl): Likewise.
41167         * tests/test-fdopendir.c (fdopendir): Likewise.
41168         * tests/test-fflush.c (fflush): Likewise.
41169         * tests/test-flock.c (flock): Likewise.
41170         * tests/test-floorf1.c (floorf): Likewise.
41171         * tests/test-floorl.c (floorl): Likewise.
41172         * tests/test-fnmatch.c (fnmatch): Likewise.
41173         * tests/test-fopen.c (fopen): Likewise.
41174         * tests/test-fprintf-posix.c (fprintf): Likewise.
41175         * tests/test-freopen.c (freopen): Likewise.
41176         * tests/test-frexp.c (frexp): Likewise.
41177         * tests/test-frexpl.c (frexpl): Likewise.
41178         * tests/test-fseek.c (fseek): Likewise.
41179         * tests/test-fseeko.c (fseeko): Likewise.
41180         * tests/test-fstatat.c (fstatat): Likewise.
41181         * tests/test-fsync.c (fsync): Likewise.
41182         * tests/test-ftell.c (ftell): Likewise.
41183         * tests/test-ftello.c (ftello): Likewise.
41184         * tests/test-futimens.c (futimens): Likewise.
41185         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
41186         (gai_strerror): Likewise.
41187         * tests/test-getcwd.c (getcwd): Likewise.
41188         * tests/test-getdelim.c (getdelim): Likewise.
41189         * tests/test-getdtablesize.c (getdtablesize): Likewise.
41190         * tests/test-getgroups.c (getgroups): Likewise.
41191         * tests/test-gethostname.c (gethostname): Likewise.
41192         * tests/test-getline.c (getline): Likewise.
41193         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
41194         Likewise.
41195         * tests/test-gettimeofday.c (gettimeofday): Likewise.
41196         * tests/test-glob.c (glob, globfree): Likewise.
41197         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
41198         * tests/test-inet_ntop.c (inet_ntop): Likewise.
41199         * tests/test-inet_pton.c (inet_pton): Likewise.
41200         * tests/test-isblank.c (isblank): Likewise.
41201         * tests/test-lchown.c (lchown): Likewise.
41202         * tests/test-ldexpl.c (ldexpl): Likewise.
41203         * tests/test-link.c (link): Likewise.
41204         * tests/test-linkat.c (linkat): Likewise.
41205         * tests/test-lseek.c (lseek): Likewise.
41206         * tests/test-lstat.c (lstat): Likewise.
41207         * tests/test-mbrtowc.c (mbrtowc): Likewise.
41208         * tests/test-mbsinit.c (mbsinit): Likewise.
41209         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
41210         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
41211         * tests/test-memchr.c (memchr): Likewise.
41212         * tests/test-memcmp.c (memcmp): Likewise.
41213         * tests/test-memmem.c (memmem): Likewise.
41214         * tests/test-memrchr.c (memrchr): Likewise.
41215         * tests/test-mkdir.c (mkdir): Likewise.
41216         * tests/test-mkdirat.c (mkdirat): Likewise.
41217         * tests/test-mkfifo.c (mkfifo): Likewise.
41218         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
41219         * tests/test-mknod.c (mknod): Likewise.
41220         * tests/test-nanosleep.c (nanosleep): Likewise.
41221         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
41222         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
41223         Likewise.
41224         * tests/test-open.c (open): Likewise.
41225         * tests/test-openat.c (openat): Likewise.
41226         * tests/test-perror.c (perror): Likewise.
41227         * tests/test-pipe2.c (pipe2): Likewise.
41228         * tests/test-poll.c (poll): Likewise.
41229         * tests/test-popen.c (popen, pclose): Likewise.
41230         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
41231         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
41232         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
41233         (posix_spawn_file_actions_destroy)
41234         (posix_spawn_file_actions_addclose)
41235         (posix_spawn_file_actions_addopen)
41236         (posix_spawn_file_actions_adddup2): Likewise.
41237         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
41238         * tests/test-pread.c (pread): Likewise.
41239         * tests/test-printf-posix.c (printf): Likewise.
41240         * tests/test-pty.c (openpty, forkpty): Likewise.
41241         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
41242         (random_r): Likewise.
41243         * tests/test-rawmemchr.c (rawmemchr): Likewise.
41244         * tests/test-readlink.c (readlink): Likewise.
41245         * tests/test-remove.c (remove): Likewise.
41246         * tests/test-rename.c (rename): Likewise.
41247         * tests/test-renameat.c (renameat): Likewise.
41248         * tests/test-rmdir.c (rmdir): Likewise.
41249         * tests/test-round1.c (round): Likewise.
41250         * tests/test-roundf1.c (roundf): Likewise.
41251         * tests/test-roundl.c (roundl): Likewise.
41252         * tests/test-setenv.c (setenv): Likewise.
41253         * tests/test-sigaction.c (sigaction): Likewise.
41254         * tests/test-sleep.c (sleep): Likewise.
41255         * tests/test-snprintf.c (snprintf): Likewise.
41256         * tests/test-sprintf-posix.c (sprintf): Likewise.
41257         * tests/test-stat.c (stat): Likewise.
41258         * tests/test-stpncpy.c (stpncpy): Likewise.
41259         * tests/test-strcasestr.c (strcasestr): Likewise.
41260         * tests/test-strchrnul.c (strchrnul): Likewise.
41261         * tests/test-strerror.c (strerror): Likewise.
41262         * tests/test-strsignal.c (strsignal): Likewise.
41263         * tests/test-strstr.c (strstr): Likewise.
41264         * tests/test-strtod.c (strtod): Likewise.
41265         * tests/test-strverscmp.c (strverscmp): Likewise.
41266         * tests/test-symlink.c (symlink): Likewise.
41267         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
41268         * tests/test-times.c (times): Likewise.
41269         * tests/test-trunc1.c (trunc): Likewise.
41270         * tests/test-truncf1.c (truncf): Likewise.
41271         * tests/test-truncl.c (truncl): Likewise.
41272         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
41273         Likewise.
41274         * tests/test-uname.c (uname): Likewise.
41275         * tests/test-unlink.c (unlink): Likewise.
41276         * tests/test-unlinkat.c (unlinkat): Likewise.
41277         * tests/test-unsetenv.c (unsetenv): Likewise.
41278         * tests/test-usleep.c (usleep): Likewise.
41279         * tests/test-utimensat.c (utimensat): Likewise.
41280         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
41281         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
41282         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
41283         * tests/test-vprintf-posix.c (vprintf): Likewise.
41284         * tests/test-vsnprintf.c (vsnprintf): Likewise.
41285         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
41286         * tests/test-wcrtomb.c (wcrtomb): Likewise.
41287         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
41288         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
41289         * tests/test-wcwidth.c (wcwidth): Likewise.
41290
41291         build: pull in conditional headers during GNULIB_POSIXCHECK
41292         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
41293         definitions from any conditionally-included headers.
41294         * lib/stdlib.in.h (includes): Likewise.
41295         * lib/unistd.in.h (includes): Likewise.
41296
41297 2009-12-24  Bruno Haible  <bruno@clisp.org>
41298
41299         * tests/test-argv-iter.c: Include header file being tested immediately
41300         after config.h.
41301         * tests/test-base64.c: Likewise.
41302         * tests/test-flock.c: Likewise.
41303         * tests/test-fsync.c: Likewise.
41304         * tests/test-getdate.c: Likewise.
41305         * tests/test-getndelim2.c: Likewise.
41306         * tests/test-isfinite.c: Likewise.
41307         * tests/test-isinf.c: Likewise.
41308         * tests/test-strerror.c: Likewise.
41309         * tests/test-strsignal.c: Likewise.
41310
41311 2009-12-23  Eric Blake  <ebb9@byu.net>
41312
41313         unistd: work around cygwin bug
41314         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
41315         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
41316         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41317
41318 2009-12-23  Bruno Haible  <bruno@clisp.org>
41319
41320         localename: More tests.
41321         * tests/test-localename.c (SIZEOF): New macro.
41322         (categories): New variable.
41323         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
41324         test_locale_name_default): Add test w.r.t. thread locale.
41325         (test_locale_name_thread): New function.
41326         (main): Invoke it.
41327
41328         localename: Make aware of thread locale.
41329         * lib/localename.h (gl_locale_name_thread): New declaration.
41330         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
41331         behaviour with respect to thread locale.
41332         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
41333         <langinfo.h>, glthread/lock.h.
41334         (SIZE_BITS): New macro.
41335         (string_hash): New function.
41336         (struct hash_node): New type.
41337         (HASH_TABLE_SIZE): New macro.
41338         (struniq_hash_table, struniq_lock): New variables.
41339         (struniq): New function.
41340         (gl_locale_name_thread): New function.
41341         (gl_locale_name): Invoke it.
41342         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
41343         * modules/localename (Depends-on): Add lock.
41344         Reported by Mike Gran <spk121@yahoo.com>.
41345
41346 2009-12-23  Eric Blake  <ebb9@byu.net>
41347
41348         va-args: new module
41349         * modules/va-args: New file.
41350         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
41351         * MODULES.html.sh (Core language properties): Mention it.
41352
41353         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
41354         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
41355         named alias for __attribute__((__unused__)).
41356         * lib/chown.c: Update client.
41357         * lib/fchmodat.c: Likewise.
41358         * lib/fts.c: Likewise.
41359         * lib/getdate.y: Likewise.
41360         * lib/getgroups.c: Likewise.
41361         * lib/getopt.c: Likewise.
41362         * lib/getugroups.c: Likewise.
41363         * lib/mkdir.c: Likewise.
41364         * lib/mkfifo.c: Likewise.
41365         * lib/mkfifoat.c: Likewise.
41366         * lib/mknod.c: Likewise.
41367         * lib/mknodat.c: Likewise.
41368         * lib/readlink.c: Likewise.
41369         * lib/se-context.in.h: Likewise.
41370         * lib/se-selinux.in.h: Likewise.
41371         * lib/sockets.c: Likewise.
41372         * lib/symlink.c: Likewise.
41373         * lib/symlinkat.c: Likewise.
41374         * lib/unicodeio.c: Likewise.
41375         * lib/unistr.h: Likewise.
41376         * tests/test-areadlink.c: Likewise.
41377         * tests/test-areadlinkat.c: Likewise.
41378         * tests/test-filenamecat.c: Likewise.
41379         * tests/test-fseeko.c: Likewise.
41380         * tests/test-ftello.c: Likewise.
41381         * tests/test-getdate.c: Likewise.
41382         * tests/test-getgroups.c: Likewise.
41383         * tests/test-gethostname.c: Likewise.
41384         * tests/test-quotearg.c: Likewise.
41385         * tests/test-version-etc.c: Likewise.
41386         * tests/test-xalloc-die.c: Likewise.
41387         * tests/test-xfprintf-posix.c: Likewise.
41388         * tests/test-xprintf-posix.c: Likewise.
41389         * tests/test-xvasprintf.c: Likewise.
41390
41391         tests: avoid compiler warnings
41392         * tests/test-fcntl.c (main): Delete unused parameters.
41393         * tests/test-freopen-safer.c (main): Likewise.
41394         * tests/test-xalloc-die.c (main): Mark unused parameters.
41395         * tests/test-fseeko.c (main): Likewise.
41396         * tests/test-ftello.c (main): Likewise.
41397         * tests/test-nanosleep.c (main): Avoid declaration warning.
41398         * tests/test-sleep.c (main): Likewise.
41399         * tests/test-unsetenv.c (main): Silence warning about string
41400         literal.
41401         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
41402
41403 2009-12-23  Bruno Haible  <bruno@clisp.org>
41404
41405         * tests/test-localename.c (test_locale_name): New function, extracted
41406         from main. Also test mixed situations.
41407         (test_locale_name_posix, test_locale_name_environ,
41408         test_locale_name_default): New functions.
41409         (main): Invoke them all.
41410         * modules/localename-tests (configure.ac): Test for newlocale.
41411
41412 2009-12-23  Bruno Haible  <bruno@clisp.org>
41413
41414         unistd: Ensure getcwd gets declared before being overridden.
41415         * lib/unistd.in.h: Conditionally include <io.h>.
41416
41417 2009-12-22  Bruno Haible  <bruno@clisp.org>
41418
41419         wchar: Diagnose broken combination of glibc and gcc versions and flags.
41420         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
41421         (gl_WCHAR_H): Invoke it.
41422         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
41423         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
41424         Reported by Karl Berry <karl@freefriends.org>.
41425
41426 2009-12-22  Eric Blake  <ebb9@byu.net>
41427
41428         math, unistd: avoid redundant includes
41429         * lib/math.in.h (isnan): No need to re-include <math.h>.
41430         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
41431
41432         getsubopt: work around cygwin bug
41433         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
41434         avoid conflicting with system getsubopt.
41435         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
41436         bug.
41437
41438         getopt: synchronize from glibc
41439         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
41440         parameter order.  Adjust all callers.
41441         (_getopt_internal_r, main): Adjust quoting in error messages.
41442         Drop considerations for outdated POSIX 1003.2 error message.
41443         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
41444         callers.
41445         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
41446
41447         test-getopt: test stderr behavior
41448         * modules/getopt-posix-tests (Depends-on): Add dup2.
41449         * tests/test-getopt.c (ASSERT): Avoid stderr.
41450         (main): Move stderr to a temporary file.
41451         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
41452         Instead, add parameter to inform caller if output occurred.
41453         (test_getopt): Adjust all existing tests to expect silence, and
41454         add new tests of leading ":".
41455         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41456         glibc shortcomings with leading "-:" or "+:" in optstring.
41457         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41458         Likewise.
41459         * doc/posix-functions/getopt.texi (getopt): Likewise.
41460
41461         test-getopt: enhance test
41462         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
41463         supports optind=0.
41464         * tests/test-getopt.c (OPTIND_MIN): Move...
41465         * tests/test-getopt.h (OPTIND_MIN): ...here.
41466         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
41467         Require that optind=0 works, since modern BSD supports it in
41468         addition to optreset, and since coreutils expects it.
41469         (test_getopt_long_only): New test.
41470         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41471         glibc shortcomings with 'W;', and enforcement of optind=0.
41472         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41473         Likewise.
41474
41475 2009-12-21  Bruno Haible  <bruno@clisp.org>
41476
41477         localename: Improvements for MacOS X and Cygwin.
41478         * lib/localename.h (gl_locale_name_environ): New declaration.
41479         * lib/localename.c (gl_locale_name_environ): New function, extracted from
41480         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
41481         (gl_locale_name_posix): Invoke it.
41482         (gl_locale_name_default): Add comments. Use Windows native API also on
41483         Cygwin.
41484
41485 2009-12-21  Bruno Haible  <bruno@clisp.org>
41486
41487         Update list of Win32 locale ids.
41488         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
41489         (LANG_SAMI): Renamed from LANG_SAAMI.
41490         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
41491         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
41492         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
41493         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
41494         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
41495         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
41496         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
41497         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
41498         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
41499         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
41500         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
41501         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
41502         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
41503         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
41504         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
41505         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
41506         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
41507         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
41508         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
41509         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
41510         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
41511         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
41512         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
41513         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
41514         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
41515         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
41516         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
41517         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
41518         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
41519         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
41520         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
41521         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
41522         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
41523         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
41524         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
41525         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
41526         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
41527         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
41528         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
41529         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
41530         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
41531         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
41532         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
41533         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
41534         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
41535         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
41536         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
41537         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
41538         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
41539         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
41540         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
41541         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
41542         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
41543         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
41544         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
41545         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
41546         Add more languages and countries for Sami, Sorbian. Add more countries
41547         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
41548         for Pashto. Change country for Syriac, Tswana.
41549
41550 2009-12-21  Eric Blake  <ebb9@byu.net>
41551
41552         test-utimens: avoid spurious failure
41553         * tests/test-chown.h (nap): Factor...
41554         * tests/nap.h: ...into new file.
41555         * tests/test-lchown.h (nap): Avoid duplication.
41556         * tests/test-utimens-common.h (nap): Use shared implementation,
41557         necessary on file systems with 1-second resolution.
41558         * modules/chown-tests (Files): Include new file.
41559         * modules/fdutimensat-tests (Files): Likewise.
41560         * modules/futimens-tests (Files): Likewise.
41561         * modules/lchown-tests (Files): Likewise.
41562         * modules/openat-tests (Files): Likewise.
41563         * modules/utimens-tests (Files): Likewise.
41564         * modules/utimensat-tests (Files): Likewise.
41565
41566 2009-12-19  Eric Blake  <ebb9@byu.net>
41567
41568         futimens, utimensat: work around Linux bug
41569         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
41570         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41571         * lib/utimensat.c (rpl_utimensat): Work around it.
41572         * lib/futimens.c (rpl_futimens): Adjust comment.
41573
41574         utimens: work around Linux ctime bug
41575         * lib/utimens.c (detect_ctime_bug): New helper function.
41576         (update_timespec): Differentiate between workaround needed for
41577         this bug vs. what is needed for systems that lack utimensat.
41578         (fdutimens, lutimens): Work around bug.
41579
41580         utimens: check for ctime update
41581         * tests/test-utimens-common.h (check_ctime): Define.
41582         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
41583         * tests/test-futimens.h (test_futimens): Likewise.
41584         * tests/test-lutimens.h (test_lutimens): Likewise.
41585         * doc/posix-functions/futimens.texi (futimens): Document the bug.
41586         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41587
41588 2009-12-19  Bruno Haible  <bruno@clisp.org>
41589
41590         dprintf-posix: Check against memory leak fixed on 2009-12-15.
41591         * tests/test-dprintf-posix2.sh: New file.
41592         * tests/test-dprintf-posix2.c: New file.
41593         * modules/dprintf-posix-tests (Files): Add them.
41594         (configure.ac): Check for getrlimit and setrlimit.
41595         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41596
41597 2009-12-19  Bruno Haible  <bruno@clisp.org>
41598
41599         fprintf-posix: Check against memory leak fixed on 2009-12-15.
41600         * tests/test-fprintf-posix3.sh: New file.
41601         * tests/test-fprintf-posix3.c: New file.
41602         * modules/fprintf-posix-tests (Files): Add them.
41603         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41604
41605 2009-12-19  Eric Blake  <ebb9@byu.net>
41606
41607         dirfd: fix prototype
41608         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
41609         * lib/dirfd.c (dirfd): Likewise.
41610
41611         canonicalize: reduce memory usage
41612         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
41613         allocation to size.
41614         Reported by Solar Designer <solar@openwall.com>.
41615
41616 2009-12-19  Bruno Haible  <bruno@clisp.org>
41617
41618         New module attribute 'Applicability'.
41619         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
41620         * gnulib-tool: New option --extract-applicability.
41621         (func_usage): Document it.
41622         (sed_extract_prog): Recognize it.
41623         (func_get_applicability): New function.
41624         (func_import): Generalize handling of 'link-warning' module.
41625         * modules/link-warning (Applicability): New section.
41626         * modules/arg-nonnull (Applicability): New section.
41627         Repoted by Simon Josefsson <simon@josefsson.org>.
41628
41629 2009-12-19  Bruno Haible  <bruno@clisp.org>
41630
41631         fflush: tweak
41632         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
41633         * lib/fseeko.c (rpl_fseeko): Likewise.
41634
41635 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
41636
41637         * lib/gl_list.h: Fix typo in comment.
41638
41639 2009-12-16  Eric Blake  <ebb9@byu.net>
41640
41641         fcntl: use to simplify other modules
41642         * modules/cloexec (Depends-on): Add fcntl.
41643         * modules/fchdir (Depends-on): Likewise.
41644         * modules/fd-safer-flag (Depends-on): Likewise.
41645         * modules/unistd-safer (Depends-on): Likewise.
41646         * modules/dup3 (configure.ac): Set module indicator.
41647         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
41648         missing.
41649         * lib/fchdir.c (_gl_register_dup): Fix comment.
41650         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
41651         * lib/dup-safer.c (dup_safer): Likewise.
41652         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
41653         * lib/dup3.c (dup3): Likewise.
41654         * tests/test-fchdir.c (main): Enhance test.
41655         Fixes a dup_cloexec bug reported by Ondřej Vašík.
41656
41657         fcntl: port portions of fcntl to mingw
41658         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
41659         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
41660         replacement for mingw.
41661         * modules/fcntl (Description): Update.
41662         (Depends-on): Add dup2.
41663         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
41664         * modules/fcntl-h (Makefile.am): Substitute it.
41665         * lib/fcntl.in.h (fcntl): Update declaration.
41666         (F_DUPFD, F_GETFD): New macros, when needed.
41667         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41668         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
41669         * tests/test-fcntl.c (check_flags, main): Enhance test for items
41670         we now guarantee.
41671
41672         fcntl: work around cygwin bug in F_DUPFD
41673         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
41674         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
41675         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
41676         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
41677         * doc/posix-functions/fcntl.texi (fcntl): Document it.
41678
41679         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
41680         * modules/fcntl (Files): List new files.
41681         (configure.ac): Run a test.
41682         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
41683         * lib/fcntl.c (rpl_fcntl): Likewise.
41684         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
41685         (gl_FCNTL_H): Always replace fcntl.h.
41686         * modules/fcntl-h (Makefile.am): Substitute witnesses.
41687         * lib/fcntl.in.h (fcntl): Declare replacement.
41688         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
41689         needed, plus a witness.
41690         * doc/posix-functions/fcntl.texi (fcntl): Document this.
41691         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41692         * tests/test-fcntl.c: New file.
41693         * modules/fcntl-tests: Likewise.
41694
41695         binary-io: avoid potential compilation warning
41696         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
41697         directives.
41698
41699         fflush: avoid compilation error on NetBSD
41700         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
41701         between off_t and fpos_t, since the latter is sometimes a struct.
41702         * lib/fseeko.c (rpl_fseeko): Likewise.
41703         Reported by Alexander Nasonov <alnsn@yandex.ru>.
41704
41705 2009-12-15  Eric Blake  <ebb9@byu.net>
41706
41707         fcntl-h, stdio, sys_ioctl: fix declarations
41708         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
41709         function must not take arguments.
41710         * lib/sys_ioctl.in.h (ioctl): Likewise.
41711         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
41712         (open): Add a link warning.
41713
41714 2009-12-15  Jim Meyering  <meyering@redhat.com>
41715
41716         areadlink, areadlink-with-size: relax license to LGPLv2+
41717         * modules/areadlink (License): Relax to LGPLv2+.
41718         * modules/areadlink-with-size (License): Likewise.
41719
41720 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
41721             Bruno Haible  <bruno@clisp.org>
41722
41723         *printf: Fix memory leak.
41724         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
41725         * lib/vfprintf.c (vfprintf): Likewise.
41726         * lib/dprintf.c (dprintf): Likewise.
41727         * lib/vdprintf.c (vdprintf): Likewise.
41728
41729 2009-12-14  Eric Blake  <ebb9@byu.net>
41730
41731         accept4: adjust module dependencies
41732         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
41733
41734         utimens: one more try at avoiding compiler warning
41735         * lib/utimens.c (lutimens): Lower scope of result.
41736
41737 2009-12-13  Bruno Haible  <bruno@clisp.org>
41738
41739         Move the malloc checking from module 'list' to new module 'xlist'.
41740         * modules/xlist: New file.
41741         * lib/gl_xlist.h: New file.
41742         * lib/gl_xlist.c: New file.
41743         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
41744         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
41745         gl_list_add_last, gl_list_add_before, gl_list_add_after,
41746         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
41747         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
41748         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
41749         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
41750         gl_sortedlist_nx_add): New declarations.
41751         (struct gl_list_implementation): Rename and change methods accordingly.
41752         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
41753         (gl_list_nx_create): Renamed from gl_list_create.
41754         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41755         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41756         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41757         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41758         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41759         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41760         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41761         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41762         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
41763         gl_list_create_empty.
41764         (gl_list_nx_create): Renamed from gl_list_create.
41765         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41766         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41767         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41768         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41769         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41770         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41771         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41772         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41773         * lib/gl_array_list.c: Don't include xalloc.h.
41774         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
41775         NULL upon out-of-memory.
41776         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
41777         out-of-memory.
41778         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
41779         Change return type to 'int'.
41780         (gl_array_nx_set_at): Renamed from gl_array_set_at.
41781         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41782         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
41783         upon out-of-memory.
41784         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
41785         upon out-of-memory.
41786         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
41787         upon out-of-memory.
41788         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
41789         upon out-of-memory.
41790         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
41791         out-of-memory.
41792         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
41793         Update.
41794         (gl_array_list_implementation): Update.
41795         * lib/gl_carray_list.c: Don't include xalloc.h.
41796         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
41797         Return NULL upon out-of-memory.
41798         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
41799         out-of-memory.
41800         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
41801         Change return type to 'int'.
41802         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
41803         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41804         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
41805         upon out-of-memory.
41806         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
41807         upon out-of-memory.
41808         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
41809         out-of-memory.
41810         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
41811         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
41812         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
41813         Update.
41814         (gl_carray_list_implementation): Update.
41815         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
41816         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
41817         gl_linked_create_empty. Return NULL upon out-of-memory.
41818         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
41819         out-of-memory.
41820         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
41821         Change return type to 'int'. Return -1 upon out-of-memory.
41822         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
41823         out-of-memory.
41824         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
41825         upon out-of-memory.
41826         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
41827         upon out-of-memory.
41828         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
41829         NULL upon out-of-memory.
41830         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
41831         upon out-of-memory.
41832         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
41833         out-of-memory.
41834         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
41835         Update.
41836         * lib/gl_linked_list.c: Don't include xalloc.h.
41837         (gl_linked_list_implementation): Update.
41838         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
41839         (add_to_bucket): Change return type to 'int'.
41840         (gl_linkedhash_list_implementation): Update.
41841         * lib/gl_anytree_list1.h (free_subtree): New function.
41842         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
41843         gl_tree_create_empty. Return NULL upon out-of-memory.
41844         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
41845         Change return type to 'int'. Return -1 upon out-of-memory.
41846         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
41847         out-of-memory.
41848         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
41849         (gl_tree_remove_node): New function, moved here from
41850         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
41851         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
41852         Update.
41853         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
41854         malloc, not xmalloc. Return NULL upon out-of-memory.
41855         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41856         out-of-memory.
41857         (gl_tree_remove_node_from_tree): New function, extracted from
41858         gl_tree_remove_node.
41859         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41860         upon out-of-memory.
41861         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41862         out-of-memory.
41863         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41864         upon out-of-memory.
41865         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41866         upon out-of-memory.
41867         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41868         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
41869         not xmalloc. Return NULL upon out-of-memory.
41870         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41871         out-of-memory.
41872         (gl_tree_remove_node_from_tree): New function, extracted from
41873         gl_tree_remove_node.
41874         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41875         upon out-of-memory.
41876         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41877         out-of-memory.
41878         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41879         upon out-of-memory.
41880         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41881         upon out-of-memory.
41882         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41883         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
41884         gl_anytree_list1.h before gl_anyavltree_list2.h.
41885         (gl_avltree_list_implementation): Update.
41886         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
41887         gl_anytree_list1.h before gl_anyavltree_list2.h.
41888         (gl_rbtree_list_implementation): Update.
41889         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
41890         Change return type to 'int'. Return -1 upon out-of-memory. Use
41891         __builtin_expect.
41892         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
41893         (gl_avltreehash_list_implementation): Update.
41894         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
41895         (gl_rbtreehash_list_implementation): Update.
41896         * modules/array-list (Depends-on): Remove xalloc.
41897         * modules/carray-list (Depends-on): Likewise.
41898         * modules/linked-list (Depends-on): Likewise.
41899         * modules/linkedhash-list (Depends-on): Likewise.
41900         * modules/avltree-list (Depends-on): Likewise.
41901         * modules/rbtree-list (Depends-on): Likewise.
41902         * modules/avltreehash-list (Depends-on): Likewise.
41903         * modules/rbtreehash-list (Depends-on): Likewise.
41904
41905         * modules/xsublist: New file.
41906         * lib/gl_xsublist.h: New file.
41907         * lib/gl_xsublist.c: New file.
41908         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
41909         (gl_sublist_nx_create): New declaration.
41910         * lib/gl_sublist.c: Don't include xalloc.h.
41911         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
41912         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
41913         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
41914         Change return type to 'int'. Return -1 upon out-of-memory.
41915         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
41916         upon out-of-memory.
41917         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
41918         NULL upon out-of-memory.
41919         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
41920         upon out-of-memory.
41921         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
41922         NULL upon out-of-memory.
41923         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
41924         NULL upon out-of-memory.
41925         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
41926         upon out-of-memory.
41927         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
41928         (gl_sublist_list_implementation): Update.
41929         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
41930         upon out-of-memory.
41931         * modules/sublist (Depends-on): Remove xalloc.
41932
41933         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
41934         * tests/test-carray_list.c: Likewise.
41935         * tests/test-linked_list.c: Likewise.
41936         * tests/test-linkedhash_list.c: Likewise.
41937         * tests/test-avltree_list.c: Likewise.
41938         * tests/test-rbtree_list.c: Likewise.
41939         * tests/test-avltreehash_list.c: Likewise.
41940         * tests/test-rbtreehash_list.c: Likewise.
41941         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
41942         * modules/carray-list-tests (Makefile.am): Likewise.
41943         * modules/linked-list-tests (Makefile.am): Likewise.
41944         * modules/linkedhash-list-tests (Makefile.am): Likewise.
41945         * modules/avltree-list-tests (Makefile.am): Likewise.
41946         * modules/rbtree-list-tests (Makefile.am): Likewise.
41947         * modules/avltreehash-list-tests (Makefile.am): Likewise.
41948         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
41949
41950         * NEWS: Mention the changes.
41951
41952         * lib/clean-temp.c: Include gl_xlist.h.
41953         * modules/clean-temp (Depends-on): Add xlist.
41954
41955         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
41956         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
41957
41958         * tests/test-array_oset.c: Include gl_xlist.h.
41959         * modules/array-oset-tests (Depends-on): Add xlist.
41960
41961         Reported by José E. Marchesi <jemarch@gnu.org>.
41962
41963 2009-12-13  Bruno Haible  <bruno@clisp.org>
41964
41965         Move the malloc checking from module 'oset' to new module 'xoset'.
41966         * modules/xoset: New file.
41967         * lib/gl_xoset.h: New file.
41968         * lib/gl_xoset.c: New file.
41969         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
41970         declarations.
41971         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
41972         (struct gl_oset_implementation): Rename and change methods accordingly.
41973         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
41974         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41975         'int'. Mark as __warn_unused_result__.
41976         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
41977         gl_oset_create_empty.
41978         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41979         'int'.
41980         * lib/gl_array_oset.c: Don't include xalloc.h.
41981         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
41982         malloc, not xmalloc.
41983         (grow): Change return type to 'int'. Don't call xalloc_die.
41984         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
41985         to 'int'.
41986         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
41987         'int'.
41988         (gl_array_oset_implementation): Update.
41989         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
41990         gl_tree_create_empty.
41991         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
41992         'int'.
41993         * lib/gl_avltree_oset.c: Don't include xalloc.h.
41994         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41995         xmalloc.
41996         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41997         not xmalloc.
41998         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41999         xmalloc.
42000         (gl_avltree_oset_implementation): Update.
42001         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
42002         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
42003         xmalloc.
42004         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
42005         not xmalloc.
42006         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
42007         xmalloc.
42008         (gl_rbtree_oset_implementation): Update.
42009         * modules/array-oset (Depends-on): Remove xalloc.
42010         * modules/avltree-oset (Depends-on): Likewise.
42011         * modules/rbtree-oset (Depends-on): Likewise.
42012         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
42013         * tests/test-avltree_oset.c: Likewise.
42014         * tests/test-rbtree_oset.c: Likewise.
42015         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
42016         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
42017         * modules/rbtree-oset-tests (Makefile.am): Likewise.
42018         * NEWS: Mention the change.
42019
42020 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
42021
42022         maint.mk: allow a project to override release-prep commands
42023         * top/maint.mk (alpha, beta, stable): Move release-preparatory
42024         commands into a new rule.
42025         (release-prep): New rule.
42026         (release-prep-hook): New overridable variable.
42027
42028 2009-12-13  Bruno Haible  <bruno@clisp.org>
42029
42030         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
42031
42032 2009-12-13  Jim Meyering  <meyering@redhat.com>
42033
42034         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
42035         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
42036
42037 2009-12-12  Bruno Haible  <bruno@clisp.org>
42038
42039         duplocale: Tweak.
42040         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
42041
42042 2009-12-12  Karl Berry  <karl@gnu.org>
42043
42044         * config/srclist.txt (strtoll.c): tab changes, no more sync.
42045
42046 2009-12-12  Bruno Haible  <bruno@clisp.org>
42047
42048         * m4/po.m4: Undo incorrect untabification.
42049
42050 2009-12-12  Bruno Haible  <bruno@clisp.org>
42051
42052         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
42053         * modules/c-strtod (Depends-on): Add locale.
42054         * modules/c-strtold (Depends-on): Likewise.
42055
42056 2009-12-12  Bruno Haible  <bruno@clisp.org>
42057
42058         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
42059
42060 2009-12-11  Eric Blake  <ebb9@byu.net>
42061
42062         setenv: relax requirement in light of POSIX ruling
42063         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
42064         not NULL.
42065         * tests/test-setenv.c (main): Relax test.
42066         * tests/test-unsetenv.c (main): Likewise.
42067         * doc/posix-functions/setenv.texi (setenv): Document this.
42068         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
42069
42070 2009-12-11  Bruno Haible  <bruno@clisp.org>
42071
42072         New module 'fd-safer-flag'.
42073         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
42074         * lib/dup-safer.c (dup_safer_flag): Remove function.
42075         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
42076         * lib/fd-safer.c (fd_safer_flag): Remove function.
42077         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
42078         * modules/cloexec (configure.ac): Drop indicator macro.
42079         * modules/fd-safer-flag: New file.
42080         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
42081         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
42082         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
42083
42084 2009-12-11  Bruno Haible  <bruno@clisp.org>
42085
42086         Tests for module 'nl_langinfo'.
42087         * modules/nl_langinfo-tests: New file.
42088         * tests/test-nl_langinfo.sh: New file.
42089         * tests/test-nl_langinfo.c: New file.
42090
42091         New module 'nl_langinfo'.
42092         * lib/nl_langinfo.c: New file.
42093         * m4/nl_langinfo.m4: New file.
42094         * modules/nl_langinfo: New file.
42095         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
42096
42097 2009-12-11  Bruno Haible  <bruno@clisp.org>
42098
42099         Tests for module 'langinfo'.
42100         * modules/langinfo-tests: New file.
42101         * tests/test-langinfo.c: New file.
42102
42103         New module 'langinfo'.
42104         * lib/langinfo.in.h: New file.
42105         * m4/langinfo_h.m4: New file.
42106         * modules/langinfo: New file.
42107         * doc/posix-headers/langinfo.texi: Mention the new module.
42108
42109 2009-12-11  Bruno Haible  <bruno@clisp.org>
42110
42111         * lib/config.charset: Untabify.
42112
42113 2009-12-11  Bruno Haible  <bruno@clisp.org>
42114
42115         * modules/unistd-safer (configure.ac): Drop indicator macro.
42116
42117 2009-12-11  Bruno Haible  <bruno@clisp.org>
42118
42119         Move pipe2-safer code to its own file.
42120         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
42121         * lib/pipe-safer.c (pipe2_safer): Remove function.
42122         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
42123         (Makefile.am): Add it to lib_SOURCES.
42124
42125 2009-12-10  Bruno Haible  <bruno@clisp.org>
42126
42127         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
42128
42129 2009-12-10  Bruno Haible  <bruno@clisp.org>
42130
42131         Declare which arguments expect non-NULL values, for GCC and clang.
42132         * build-aux/arg-nonnull.h: New file.
42133         * modules/arg-nonnull: New file.
42134         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
42135         (inet_ntop, inet_pton): Use it.
42136         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
42137         (closedir, dirfd, opendir, scandir, alphasort): Use it.
42138         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
42139         (open, openat): Use it.
42140         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
42141         (fnmatch): Use it.
42142         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
42143         (getopt, getopt_long, getopt_long_only): Use it.
42144         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
42145         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
42146         Use it.
42147         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
42148         (iconv_open): Use it.
42149         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
42150         (strtoimax, strtoumax): Use it.
42151         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
42152         (duplocale): Use it.
42153         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
42154         (frexp, frexpl): Use it.
42155         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
42156         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
42157         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
42158         (tsearch, tfind, tdelete, twalk): Use it.
42159         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
42160         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
42161         sigpending): Use it.
42162         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
42163         (posix_spawn, posix_spawnp, posix_spawnattr_init,
42164         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
42165         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
42166         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
42167         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
42168         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
42169         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
42170         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
42171         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
42172         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
42173         Use it.
42174         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
42175         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
42176         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
42177         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
42178         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
42179         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
42180         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
42181         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
42182         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
42183         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
42184         strtoull, unsetenv): Use it.
42185         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
42186         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
42187         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
42188         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
42189         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
42190         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
42191         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
42192         (strcasecmp, strncasecmp): Use it.
42193         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
42194         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
42195         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
42196         rpl_setsockopt): Use it.
42197         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
42198         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
42199         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
42200         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
42201         (gettimeofday): Use it.
42202         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
42203         (times): Use it.
42204         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
42205         (uname): Use it.
42206         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
42207         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
42208         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
42209         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
42210         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
42211         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
42212         unlinkat, write): Use it.
42213         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
42214         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
42215         * lib/argv-iter.h: Include arg-nonnull.h.
42216         (_ATTRIBUTE_NONNULL_): Remove macro.
42217         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
42218         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
42219         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
42220         optimization.
42221         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
42222         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
42223         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
42224         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
42225         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
42226         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
42227         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
42228         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
42229         * modules/arpa_inet (Depends-on): Add arg-nonnull.
42230         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
42231         * modules/dirent (Depends-on): Add arg-nonnull.
42232         (Makefile.am): Insert arg-nonnull.h into dirent.h.
42233         * modules/fcntl-h (Depends-on): Add arg-nonnull.
42234         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
42235         * modules/fnmatch (Depends-on): Add arg-nonnull.
42236         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
42237         * modules/getopt-posix (Depends-on): Add arg-nonnull.
42238         (Makefile.am): Insert arg-nonnull.h into getopt.h.
42239         * modules/glob (Depends-on): Add arg-nonnull.
42240         (Makefile.am): Insert arg-nonnull.h into glob.h.
42241         * modules/iconv_open (Depends-on): Add arg-nonnull.
42242         (Makefile.am): Insert arg-nonnull.h into iconv.h.
42243         * modules/inttypes (Depends-on): Add arg-nonnull.
42244         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
42245         * modules/locale (Depends-on): Add arg-nonnull.
42246         (Makefile.am): Insert arg-nonnull.h into locale.h.
42247         * modules/math (Depends-on): Add arg-nonnull.
42248         (Makefile.am): Insert arg-nonnull.h into math.h.
42249         * modules/netdb (Depends-on): Add arg-nonnull.
42250         (Makefile.am): Insert arg-nonnull.h into netdb.h.
42251         * modules/search (Depends-on): Add arg-nonnull.
42252         (Makefile.am): Insert arg-nonnull.h into search.h.
42253         * modules/signal (Depends-on): Add arg-nonnull.
42254         (Makefile.am): Insert arg-nonnull.h into signal.h.
42255         * modules/spawn (Depends-on): Add arg-nonnull.
42256         (Makefile.am): Insert arg-nonnull.h into spawn.h.
42257         * modules/stdio (Depends-on): Add arg-nonnull.
42258         (Makefile.am): Insert arg-nonnull.h into stdio.h.
42259         * modules/stdlib (Depends-on): Add arg-nonnull.
42260         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
42261         * modules/string (Depends-on): Add arg-nonnull.
42262         (Makefile.am): Insert arg-nonnull.h into string.h.
42263         * modules/strings (Depends-on): Add arg-nonnull.
42264         (Makefile.am): Insert arg-nonnull.h into strings.h.
42265         * modules/sys_socket (Depends-on): Add arg-nonnull.
42266         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
42267         * modules/sys_stat (Depends-on): Add arg-nonnull.
42268         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
42269         * modules/sys_time (Depends-on): Add arg-nonnull.
42270         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
42271         * modules/sys_times (Depends-on): Add arg-nonnull.
42272         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
42273         * modules/sys_utsname (Depends-on): Add arg-nonnull.
42274         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
42275         * modules/time (Depends-on): Add arg-nonnull.
42276         (Makefile.am): Insert arg-nonnull.h into time.h.
42277         * modules/unistd (Depends-on): Add arg-nonnull.
42278         (Makefile.am): Insert arg-nonnull.h into unistd.h.
42279         * modules/wchar (Depends-on): Add arg-nonnull.
42280         (Makefile.am): Insert arg-nonnull.h into wchar.h.
42281         * modules/argv-iter (Depends-on): Add arg-nonnull.
42282         * tests/test-canonicalize.c (null_ptr): New function.
42283         (main): Use it.
42284         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
42285         (main): Use it.
42286         * tests/test-memmem.c (null_ptr): New function.
42287         (main): Use it.
42288         Reported by Jim Meyering.
42289
42290 2009-12-10  Bruno Haible  <bruno@clisp.org>
42291
42292         Use spaces for indentation, not tabs.
42293         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
42294         * m4/*.m4: Untabify.
42295         * build-aux/*.h: Untabify.
42296         * tests/**/*.[hc]: Untabify.
42297         * README: New section "Indent with spaces, not TABs", based on
42298         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
42299         * NEWS: Mention the change.
42300
42301 2009-12-10  Bruno Haible  <bruno@clisp.org>
42302
42303         pty test: Fix link error.
42304         * modules/pty-tests (Makefile.am): Add the default LDADD value to
42305         test_pty_LDADD.
42306
42307 2009-12-07  Simon Josefsson  <simon@josefsson.org>
42308
42309         * modules/pty: New file.
42310         * modules/pty-tests: New file.
42311         * m4/pty.m4: New file.
42312         * tests/test-pty.c: New file.
42313         * doc/glibc-headers/pty.texi: Modified.
42314         * doc/glibc-functions/forkpty.texi: Modified.
42315         * doc/glibc-functions/openpty.texi: Modified.
42316
42317 2009-12-10  Bruno Haible  <bruno@clisp.org>
42318
42319         Avoid syntax error in C++ mode.
42320         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
42321
42322 2009-12-10  Bruno Haible  <bruno@clisp.org>
42323
42324         Use sed with option -e.
42325         * gnulib-tool (func_version, func_emit_copyright_notice,
42326         func_emit_initmacro_end, func_import, func_create_testdir): Pass
42327         option -e to sed.
42328         * modules/link-warning (Makefile.am): Likewise.
42329
42330 2009-12-10  Jim Meyering  <meyering@redhat.com>
42331
42332         mgetgroups: do not write bytes beyond end of malloc'd buffer
42333         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
42334         username, we call getgroups with a one-element-shorter buffer,
42335         but still told it the length was original, max_n_groups.
42336
42337 2009-12-09  Eric Blake  <ebb9@byu.net>
42338
42339         cloexec: relax license
42340         * modules/cloexec (Maintainer): Add myself.
42341         (License): Use LGPL, not GPL.
42342
42343         link-warning: optimize generation
42344         * modules/link-warning (Makefile.am): Reduce process usage.
42345
42346 2009-12-09  Bruno Haible  <bruno@clisp.org>
42347
42348         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
42349         workaround was added on 2009-11-17.
42350
42351 2009-12-09  Jim Meyering  <meyering@redhat.com>
42352             Bruno Haible  <bruno@clisp.org>
42353
42354         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
42355         * modules/link-warning (Makefile.am): Make the comment-removing sed
42356         command more robust in the face of bootstrap-prepended comment lines.
42357
42358 2009-12-09  Bruno Haible  <bruno@clisp.org>
42359
42360         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
42361         most one group.
42362
42363 2009-12-09  Simon Josefsson <simon@josefsson.org>
42364             Bruno Haible  <bruno@clisp.org>
42365
42366         * build-aux/link-warning.h: Add copyright notice.
42367         * modules/link-warning (Makefile.am): Generate link-warning.h from
42368         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
42369         * NEWS: Mention change in link-warning module.
42370         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
42371         * modules/dirent (Makefile.am): Add dependency to dirent.h.
42372         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
42373         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
42374         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
42375         * modules/math (Makefile.am): Add dependency to math.h.
42376         * modules/search (Makefile.am): Add dependency to search.h.
42377         * modules/signal (Makefile.am): Add dependency to signal.h.
42378         * modules/spawn (Makefile.am): Add dependency to spawn.h.
42379         * modules/stdio (Makefile.am): Add dependency to stdio.h.
42380         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
42381         * modules/string (Makefile.am): Add dependency to string.h.
42382         * modules/strings (Makefile.am): Add dependency to strings.h.
42383         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
42384         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
42385         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
42386         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
42387         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
42388         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
42389         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
42390         * modules/unistd (Makefile.am): Add dependency to unistd.h.
42391         * modules/wchar (Makefile.am): Add dependency to wchar.h.
42392
42393 2009-12-09  Bruno Haible  <bruno@clisp.org>
42394
42395         fchdir: Optimize away rpl_fstat when possible.
42396         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
42397         REPLACE_OPEN_DIRECTORY.
42398         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
42399
42400 2009-12-09  Bruno Haible  <bruno@clisp.org>
42401
42402         * lib/fchdir.c: Update comment.
42403
42404 2009-12-09  Bruno Haible  <bruno@clisp.org>
42405
42406         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
42407
42408 2009-12-08  Eric Blake  <ebb9@byu.net>
42409
42410         fchdir: avoid memory leak on re-registration.
42411         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
42412
42413 2009-12-08  Jim Meyering  <meyering@redhat.com>
42414
42415         init.sh: avoid Solaris 10 /bin/sh portability problem
42416         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
42417         sourced script:
42418           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
42419           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
42420           bar
42421         tests/init.sh relied on that, accepting a --set-path=DIR argument,
42422         and two tests used that idiom.
42423         * tests/init.sh: Update suggested usage comments.
42424         (path_prepend_): New function, to be used in place
42425         of the --src-path=DIR option.
42426         (setup_): Move PATH-prepending code into path_prepend_.
42427         * tests/test-pread.sh: Adapt to new usage.
42428         * tests/test-xalloc-die.sh: Likewise.
42429
42430 2009-12-08  Simon Josefsson  <simon@josefsson.org>
42431
42432         * doc/gnulib.texi (Glibc pty.h): Add.
42433         * doc/glibc-functions/forkpty.texi: Add.
42434         * doc/glibc-functions/openpty.texi: Add.
42435         Suggested by Bruno Haible.
42436
42437 2009-12-08  Eric Blake  <ebb9@byu.net>
42438
42439         fchdir: fix logic bugs
42440         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
42441         * tests/test-fchdir.c (main): Enhance test.
42442         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
42443         is in use.
42444
42445         dup2: fix logic bugs
42446         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
42447         REPLACE_DUP2 to decide when rpl_dup2 is needed.
42448         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
42449         exists.
42450         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
42451
42452 2009-12-07  Eric Blake  <ebb9@byu.net>
42453
42454         unlink: fix m4 detection
42455         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
42456
42457         unistd-safer: add unit test
42458         * modules/unistd-safer-tests: New file.
42459         * tests/test-dup-safer.c: Likewise.
42460         * tests/test-cloexec.c (setmode): Avoid compiler warning.
42461         * tests/test-dup2.c (setmode): Likewise.
42462         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
42463
42464         cloexec: preserve text vs. binary across dup_cloexec
42465         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
42466         mode.
42467         * modules/dup2-tests (Depends-on): Add binary-io.
42468         * modules/cloexec-tests (Depends-on): Likewise.
42469         * tests/test-dup2.c (setmode, is_mode): New helpers.
42470         (main): Add tests that translation mode is preserved.
42471         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
42472         Reported by Bruno Haible.
42473
42474         mgetgroups: reduce duplicate listings
42475         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
42476         resulting array.
42477         * tests/test-chown.h (test_chown): Simplify client.
42478         * tests/test-lchown.h (test_lchown): Likewise.
42479
42480 2009-12-06  Bruno Haible  <bruno@clisp.org>
42481
42482         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
42483         value.
42484
42485 2009-12-06  Bruno Haible  <bruno@clisp.org>
42486
42487         * lib/progname.c: Include stdio.h, stdlib.h.
42488         (set_program_name): Reject a NULL argument.
42489
42490 2009-12-05  Eric Blake  <ebb9@byu.net>
42491
42492         pipe2-safer: new module
42493         * modules/pipe2-safer: New file.
42494         * lib/unistd-safer.h (pipe2_safer): New prototype.
42495         * lib/unistd--.h (pipe2): New wrapper.
42496         * lib/pipe-safer.c (pipe2_safer): New function.
42497         * modules/pipe (Depends-on): Add pipe2-safer.
42498         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
42499
42500         stdlib-safer: preserve cloexec flag for mkostemp[s]
42501         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
42502         fd_safer_flag.
42503
42504         unistd-safer: allow preservation of cloexec status via flag
42505         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
42506         prototypes.
42507         * lib/dup-safer.c (dup_safer_flag): New function.
42508         * lib/fd-safer.c (fd_safer_flag): Likewise.
42509         * modules/cloexec (configure.ac): Set witness.
42510
42511         test-dup2: enhance test
42512         * modules/dup2-tests (Depends-on): Add cloexec.
42513         * tests/test-dup2.c (main): Enhance test.
42514
42515         cloexec: add dup_cloexec
42516         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
42517         header and comments.
42518         * lib/cloexec.c (set_cloexec_flag): Add comments.
42519         (dup_cloexec): New function, with mingw implementation borrowed
42520         from...
42521         * lib/w32spawn.h (dup_noinherit): ...here.
42522         * modules/execute (Depends-on): Add cloexec.
42523         * modules/pipe (Depends-on): Likewise.
42524         * modules/cloexec (Depends-on): Add dup2.
42525         * modules/cloexec-tests (Files): New file.
42526         * tests/test-cloexec.c: Likewise.
42527
42528         test-xalloc-die: fix test for mingw
42529         * modules/xalloc-die-tests (Files): Add tests/init.sh.
42530         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
42531         directory and .exe suffix off argv[0] output.
42532
42533         test-fseeko: fix test for mingw
42534         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
42535         than undefining fseek, so test will pass on mingw.
42536
42537 2009-12-05  Bruno Haible  <bruno@clisp.org>
42538
42539         * lib/progname.h (set_program_name): Clarify specification.
42540         * lib/progname.c (set_program_name): Likewise.
42541         Reported by Jim Meyering.
42542
42543 2009-12-05  Jim Meyering  <meyering@redhat.com>
42544
42545         maint.mk: backslash-escape parens in default regexp
42546         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
42547         backslash-escape the literal parentheses.
42548
42549         maint.mk: news-date-check: use grep -E
42550         * top/maint.mk (today): Define a Make variable, not a...
42551         (news-date-check): ...shell variable.
42552         (news-date-regexp): Use the Make variable.
42553         Use grep's -E option.  Change the failing diagnostic to mention
42554         the variable, $(news-date-regexp).
42555
42556 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
42557
42558         maintainer-makefile: allow customization of NEWS entry format
42559         * top/maint.mk (news-date-regexp): New overridable variable.
42560         (news-date-check): Use it.
42561
42562 2009-12-04  Eric Blake  <ebb9@byu.net>
42563
42564         mgetgroups: add xgetgroups, and avoid ENOSYS failures
42565         * lib/mgetgroups.h (xgetgroups): New prototype.
42566         * lib/mgetgroups.c (xgetgroups): New wrapper.
42567         (mgetgroups): Handle ENOSYS.
42568         * modules/mgetgroups (Depends-on): Add realloc.
42569         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
42570
42571         mgetgroups: avoid argument promotion issues with -1
42572         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
42573         for invalid gid_t.
42574         * tests/test-chown.h (getegid, test_chown): Likewise.
42575         * tests/test-lchown.h (getegid, test_lchown): Likewise.
42576
42577 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
42578
42579         exclude: Fix header file problems.
42580         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
42581
42582 2009-12-01  Jim Meyering  <meyering@redhat.com>
42583
42584         fts: fts_open: do not let an empty string cause immediate failure
42585         This is required in support of GNU rm, for which the command
42586         "rm A '' B" must process and remove both A and B, in spite of
42587         the empty string argument.
42588         * lib/fts.c (fts_open): Do not let the presence of an empty string
42589         cause fts_open to fail immediately.  Most fts-using tools must be
42590         able to process all arguments, in order, and can be expected to
42591         diagnose such arguments themselves.
42592
42593 2009-11-30  Eric Blake  <ebb9@byu.net>
42594
42595         utimens: fix compilation error
42596         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
42597         Declare variable at right scope.
42598
42599 2009-11-29  Jim Meyering  <meyering@redhat.com>
42600
42601         bootstrap: handle perl-5.11's changed --version output
42602         * build-aux/bootstrap (get_version): Handle perl separately,
42603         since perl-5.11's --version output is different.
42604
42605 2009-11-28  Jim Meyering  <meyering@redhat.com>
42606
42607         userspec: depend on the inttostr module, too
42608         * modules/userspec (Depends-on): Add inttostr.
42609
42610         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
42611         * lib/userspec.c (parse_with_separator): Do not accept a user ID
42612         number of MAXUID when it evaluates to (uid_t) -1.
42613         Likewise for group ID.  Reported by Matt McCutchen in
42614         <http://savannah.gnu.org/bugs/?28113>
42615
42616         userspec: reformat to use spaces, not TABs
42617         * lib/userspec.c: Expand TABs to spaces.
42618         Add Emacs' "indent-tabs-mode: nil" hint.
42619
42620 2009-11-27  Eric Blake  <ebb9@byu.net>
42621
42622         getopt-gnu: flush out another BSD bug
42623         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
42624         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
42625         flush out BSD bug.
42626         * tests/test-getopt.h (test_getopt): End lists with NULL.
42627         * tests/test-getopt_long.h (test_getopt_long): Likewise.
42628         (test_getopt_long_posix): Enhance test.
42629         * modules/getopt-posix-tests (Depends-on): Add stdbool.
42630         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
42631         getopt-gnu.
42632         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
42633         Likewise.
42634
42635 2009-11-27  Simon Josefsson  <simon@josefsson.org>
42636
42637         * modules/idpriv-droptemp-tests (Notice): Fix text.
42638
42639 2009-11-27  Jim Meyering  <meyering@redhat.com>
42640
42641         test-xalloc-die: avoid spurious failure due to libtool argv difference
42642         In a libtool-enabled project, this test would fail due to a difference
42643         in the emitted program name, e.g.,
42644         -test-xalloc-die: memory exhausted
42645         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
42646         Use program to avoid that.
42647         * modules/xalloc-die-tests (Depends-on): Add progname.
42648         * tests/test-xalloc-die.c: Include progname.h".
42649         (program_name): Remove decl.
42650         (main): Call set_program_name.
42651         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
42652
42653 2009-11-26  Richard Jones  <rjones@redhat.com>
42654
42655         w32sock: leave win32 error in place.
42656         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
42657
42658 2009-11-26  Eric Blake  <ebb9@byu.net>
42659
42660         init.sh: suggest to use skip_ and fail_ functions in comments
42661         * tests/init.sh: Add a sentence.
42662
42663 2009-11-25  Bruno Haible  <bruno@clisp.org>
42664
42665         init.sh: add documentation in comments
42666         * tests/init.sh: Add some developer and user documentation.
42667
42668 2009-11-26  Jim Meyering  <meyering@redhat.com>
42669
42670         init.sh: accommodate even those who specify bogus srcdir manually
42671         * tests/init.sh: Normally, srcdir is guaranteed by automake and
42672         configure-time tests to be sanitized, so that there is no need to
42673         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
42674         (with no double quotes) suffices.  However, since tests may be
42675         invoked manually, and since you may explicitly set srcdir to the
42676         name of a directory containing spaces, do quote its uses here.
42677         * tests/test-pread.sh: Likewise.
42678         Suggested by Bruno Haible.
42679
42680         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
42681         * tests/test-pread.sh: Write no data into the pipe, because
42682         test-pread actually reads none.  This avoids a diagnostic,
42683         "bash: echo: write error: Broken pipe", that arises in the unusual
42684         event something is ignoring SIGPIPE, and might be interpreted
42685         as some sort of failure.  Reported by Bruno Haible.
42686
42687 2009-11-25  Jim Meyering  <meyering@redhat.com>
42688
42689         test-pread: cover failure with ESPIPE and EINVAL
42690         * tests/test-pread.c (main): Test for failure, too.
42691         * tests/test-pread.sh: Invoke with stdin on a pipe.
42692         Suggested by Eric Blake.
42693
42694         pread: improvement and fix
42695         * modules/pread (Depends-on): Depend on lseek, for portability to
42696         e.g., mingw.  Suggested by Eric Blake.
42697         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
42698
42699         unistd.in.h: correct declaration of pread
42700         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
42701         Reported by Richard W.M. Jones.
42702
42703         test-pread.sh: distribute the test script
42704         * modules/pread-tests (Files): Include test-pread.sh.
42705
42706         test-pread.sh: clean up
42707         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
42708         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
42709         That is unnecessary, since it's always ".".
42710         Suggestion from Eric Blake.
42711
42712         test-pread.sh: make executable
42713         * tests/test-pread.sh: Set executable bit.
42714         Reported by Eric Blake.
42715
42716         correct typo in test-pread.sh
42717         * tests/test-pread.sh: Add #! line.
42718
42719         test pread
42720         * tests/test-pread.c: New file.
42721         * tests/test-pread.sh: Likewise.
42722         * modules/pread-tests: Likewise.
42723
42724         pread: new module
42725         * modules/pread: New file.
42726         * lib/unistd.in.h (pread): Define/declare.
42727         * lib/pread.c (pread): New file.
42728         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
42729         * modules/unistd (Makefile.am): Substitute witnesses.
42730         * doc/posix-functions/pread.texi (pread): Update.
42731         * MODULES.html.sh: Add pread.
42732
42733 2009-11-25  Jim Meyering  <meyering@redhat.com>
42734
42735         tests/init.sh: new file to be used via most *.sh tests
42736         * tests/init.sh: New file.
42737
42738 2009-11-25  Eric Blake  <ebb9@byu.net>
42739
42740         utimens: work around older Linux failure with symlinks
42741         * lib/utimens.c (lutimensat_works_really): New variable.
42742         (fdutimens, lutimens): Use it to manage kernels that support
42743         nanosecond times on files, but not on symlinks.
42744         Reported by Ondřej Vašík.
42745
42746         utimes: fix configure grammar
42747         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
42748
42749 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
42750
42751         regex: Fix fastmap for multibyte character ranges.
42752         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
42753         characters when a multibyte character range is included.
42754
42755 2009-11-22  Andy Wingo  <wingo@pobox.com>
42756
42757         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
42758         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
42759
42760 2009-11-24  Bruno Haible  <bruno@clisp.org>
42761
42762         doc: Most *_l functions exist in MacOS X 10.5.
42763         * doc/posix-functions/duplocale.texi: Update platforms list.
42764         * doc/posix-functions/freelocale.texi: Likewise.
42765         * doc/posix-functions/newlocale.texi: Likewise.
42766         * doc/posix-functions/uselocale.texi: Likewise.
42767         * doc/posix-functions/isalnum_l.texi: Likewise.
42768         * doc/posix-functions/isalpha_l.texi: Likewise.
42769         * doc/posix-functions/isblank_l.texi: Likewise.
42770         * doc/posix-functions/iscntrl_l.texi: Likewise.
42771         * doc/posix-functions/isdigit_l.texi: Likewise.
42772         * doc/posix-functions/isgraph_l.texi: Likewise.
42773         * doc/posix-functions/islower_l.texi: Likewise.
42774         * doc/posix-functions/isprint_l.texi: Likewise.
42775         * doc/posix-functions/ispunct_l.texi: Likewise.
42776         * doc/posix-functions/isspace_l.texi: Likewise.
42777         * doc/posix-functions/isupper_l.texi: Likewise.
42778         * doc/posix-functions/iswalnum_l.texi: Likewise.
42779         * doc/posix-functions/iswalpha_l.texi: Likewise.
42780         * doc/posix-functions/iswblank_l.texi: Likewise.
42781         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42782         * doc/posix-functions/iswctype_l.texi: Likewise.
42783         * doc/posix-functions/iswdigit_l.texi: Likewise.
42784         * doc/posix-functions/iswgraph_l.texi: Likewise.
42785         * doc/posix-functions/iswlower_l.texi: Likewise.
42786         * doc/posix-functions/iswprint_l.texi: Likewise.
42787         * doc/posix-functions/iswpunct_l.texi: Likewise.
42788         * doc/posix-functions/iswspace_l.texi: Likewise.
42789         * doc/posix-functions/iswupper_l.texi: Likewise.
42790         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42791         * doc/posix-functions/isxdigit_l.texi: Likewise.
42792         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
42793         * doc/posix-functions/strcasecmp_l.texi: Likewise.
42794         * doc/posix-functions/strcoll_l.texi: Likewise.
42795         * doc/posix-functions/strfmon_l.texi: Likewise.
42796         * doc/posix-functions/strftime_l.texi: Likewise.
42797         * doc/posix-functions/strncasecmp_l.texi: Likewise.
42798         * doc/posix-functions/strxfrm_l.texi: Likewise.
42799         * doc/posix-functions/tolower_l.texi: Likewise.
42800         * doc/posix-functions/toupper_l.texi: Likewise.
42801         * doc/posix-functions/towctrans_l.texi: Likewise.
42802         * doc/posix-functions/towlower_l.texi: Likewise.
42803         * doc/posix-functions/towupper_l.texi: Likewise.
42804         * doc/posix-functions/wcscoll_l.texi: Likewise.
42805         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42806         * doc/posix-functions/wctrans_l.texi: Likewise.
42807         * doc/posix-functions/wctype_l.texi: Likewise.
42808         * doc/glibc-functions/strptime_l.texi: Likewise.
42809         * doc/glibc-functions/strtod_l.texi: Likewise.
42810         * doc/glibc-functions/strtof_l.texi: Likewise.
42811         * doc/glibc-functions/strtol_l.texi: Likewise.
42812         * doc/glibc-functions/strtold_l.texi: Likewise.
42813         * doc/glibc-functions/strtoll_l.texi: Likewise.
42814         * doc/glibc-functions/strtoul_l.texi: Likewise.
42815         * doc/glibc-functions/strtoull_l.texi: Likewise.
42816         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42817         * doc/glibc-functions/wcstod_l.texi: Likewise.
42818         * doc/glibc-functions/wcstof_l.texi: Likewise.
42819         * doc/glibc-functions/wcstol_l.texi: Likewise.
42820         * doc/glibc-functions/wcstold_l.texi: Likewise.
42821         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42822         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42823         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42824
42825 2009-11-24  Bruno Haible  <bruno@clisp.org>
42826
42827         duplocale: Fix logic bug.
42828         * lib/duplocale.c: Don't include <langinfo.h>.
42829         (_NL_LOCALE_NAME): Remove macro.
42830         (rpl_duplocale): Use setlocale instead of nl_langinfo.
42831         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
42832
42833 2009-11-23  Jim Meyering  <meyering@redhat.com>
42834
42835         test-update-copyright: don't hard-code /usr/bin/perl
42836         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
42837         perl to print the current year.  Gilles Espinasse reported that
42838         the replaced use of perl was hard-coded as /usr/bin/perl.
42839
42840 2009-11-23  Bruno Haible  <bruno@clisp.org>
42841
42842         duplocale: Add support for glibc 2.3.x.
42843         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
42844
42845 2009-11-22  Bruno Haible  <bruno@clisp.org>
42846
42847         vasnprintf: Tiny optimization.
42848         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
42849         MacOS X.
42850
42851 2009-11-22  Bruno Haible  <bruno@clisp.org>
42852
42853         Tests for module 'duplocale'.
42854         * modules/duplocale-tests: New file.
42855         * tests/test-duplocale.c: New file.
42856
42857         New module 'duplocale'.
42858         * m4/duplocale.m4: New file.
42859         * lib/locale.in.h (duplocale): New declaration.
42860         * lib/duplocale.c: New file.
42861         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
42862         gl_LOCALE_H_DEFAULTS): New macros.
42863         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
42864         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
42865         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
42866         REPLACE_DUPLOCALE.
42867         * modules/duplocale: New file.
42868         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
42869
42870 2009-11-22  Bruno Haible  <bruno@clisp.org>
42871
42872         * modules/locale-tests (configure.ac): Test for newlocale function.
42873         * tests/test-locale.c: When the system has extended locale functions,
42874         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
42875
42876         locale: Make locale_t available when possible.
42877         * lib/locale.in.h: Include <xlocale.h> when it exists.
42878         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
42879         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
42880         * modules/locale (Depends-on): Add extensions.
42881         (Makefile.am): Also substitute HAVE_XLOCALE_H.
42882         * doc/posix-headers/locale.texi: Document the problem with locale_t.
42883
42884 2009-11-22  Bruno Haible  <bruno@clisp.org>
42885
42886         Add comments.
42887         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
42888         invocation.
42889         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
42890         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
42891         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42892
42893 2009-11-22  Bruno Haible  <bruno@clisp.org>
42894
42895         error: account for the possibility of freopen (stdout).
42896         * lib/error.c: Include <unistd.h>.
42897         (flush_stdout): New function, extracted from error and error_at_line.
42898         Determine stdout's fd dynamically.
42899         (error, error_at_line): Invoke flush_stdout.
42900         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
42901         * modules/error (Depends-on): Add unistd.
42902
42903 2009-11-22  Bruno Haible  <bruno@clisp.org>
42904
42905         diffseq: Add comment.
42906         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
42907
42908 2009-11-22  Jim Meyering  <meyering@redhat.com>
42909
42910         c-stack: avoid defining an unused static function
42911         * lib/c-stack.c (find_stack_direction): Do not define this function
42912         when it will not be used.
42913
42914         diffseq: avoid spurious gcc warnings
42915         * lib/diffseq.h (IF_LINT2): Define.
42916         (compareseq): Use it to initialize two members of "part".
42917         This avoids two used-uninitialized warnings.
42918
42919 2009-11-21  Jim Meyering  <meyering@redhat.com>
42920
42921         c-stack: avoid "ignoring return value of `write'" warning
42922         * lib/c-stack.c: Include "ignore-value.h".
42923         (die): Explicitly ignore each write return value.
42924         * modules/c-stack (Depends-on): Add ignore-value.
42925
42926 2009-11-21  Bruno Haible  <bruno@clisp.org>
42927
42928         diffseq: reduce scope of variable 'best'.
42929         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
42930         variable, earlier used for two different purposes.
42931
42932 2009-11-21  Jim Meyering  <meyering@redhat.com>
42933
42934         diffseq: remove useless assignment to "best"
42935         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
42936         assignment.  At that point "best" is already guaranteed to be zero.
42937
42938 2009-11-20  Eric Blake  <ebb9@byu.net>
42939
42940         build: mention ftp redirector in release announcements
42941         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
42942         values that used to come from cfg.mk; mention FTP redirect URL.
42943         * build-aux/announce-gen: Mention the mirror list.
42944         Suggested by Karl Berry.
42945
42946         nanosleep: improve port to mingw
42947         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
42948         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
42949         LIB_NANOSLEEP, but only when needed.
42950         * modules/select (Link): Document LIBSOCKET.
42951         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
42952         enough.
42953
42954         nanosleep: work around cygwin bug
42955         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
42956         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
42957         bug.
42958         (getnow): Delete, not needed.
42959         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
42960         LIB_CLOCK_GETTIME.
42961         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
42962         clock-time, gettime.
42963         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
42964         bug.
42965         * modules/nanosleep-tests: New test.
42966         * tests/test-nanosleep.c: New file.
42967
42968         sleep: work around cygwin bug
42969         * lib/sleep.c (rpl_sleep): Work around the bug.
42970         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
42971         (gl_PREREQ_SLEEP): Delete unused macro.
42972         * modules/sleep (Depends-on): Add verify.
42973         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42974         * modules/unistd (Makefile.am): Substitute witness.
42975         * lib/unistd.in.h (sleep): Update prototype.
42976         * doc/posix-functions/sleep.texi (sleep): Document the bug.
42977         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
42978         * modules/sleep-tests (Depends-on): Check for alarm.
42979
42980 2009-11-20  Jim Meyering  <meyering@redhat.com>
42981
42982         maint.mk: improve sc_prohibit_magic_number_exit
42983         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
42984         so it does not match uses like System.exit(1).
42985         Add comments showing how to correct all offenders.
42986
42987 2009-11-19  Eric Blake  <ebb9@byu.net>
42988
42989         xalloc-die-tests: add missing library
42990         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
42991
42992         test-xvasprintf: silence compiler warnings
42993         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
42994         empty string from gcc.
42995
42996 2009-11-19  Jim Meyering  <meyering@redhat.com>
42997
42998         xfreopen: new module, from coreutils
42999         * modules/xfreopen: New module.
43000         * lib/xfreopen.c: New file.
43001         * lib/xfreopen.h: New file.
43002         * MODULES.html.sh (File stream based Input/Output"): Add it.
43003
43004 2009-11-19  Eric Blake  <ebb9@byu.net>
43005
43006         manywarnings: depend on warnings
43007         * modules/manywarnings (Depends-on): Add warnings.
43008
43009         build: avoid compiler warnings
43010         * lib/select.c (rpl_select): Delete unused variable.
43011         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
43012
43013 2009-11-18  Eric Blake  <ebb9@byu.net>
43014
43015         tests: avoid false negative with --with-packager
43016         * tests/test-version-etc.sh: Discard packager information.
43017         * tests/test-argp-version-etc-1.sh: Likewise.
43018         Reported by Mike Frysinger.
43019
43020         utimens: fix regression on Solaris
43021         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
43022         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
43023         can only change fd timestamps via futimesat.  Instead, use an
43024         additional witness macro to avoid BSD bug.
43025         Reported by Jim Meyering.
43026
43027 2009-11-17  Eric Blake  <ebb9@byu.net>
43028
43029         usleep: use it to simplify tests
43030         * modules/stat-time-tests (Depends-on): Add usleep.
43031         (configure.ac): Drop usleep check.
43032         * modules/chown-tests (Depends-on, configure.ac): Likewise.
43033         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
43034         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
43035         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
43036         * modules/openat-tests (Depends-on, configure.ac): Likewise.
43037         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
43038         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
43039         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
43040         Likewise.
43041         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
43042         * tests/test-lchown.h (nap): Likewise.
43043         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
43044         * tests/test-stat-time.c (nap): Likewise.
43045         * tests/test-utimens-common.h (nap): Update comments.
43046
43047         usleep: new module
43048         * modules/usleep: New file.
43049         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
43050         * lib/usleep.c (usleep): Likewise.
43051         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
43052         * modules/unistd (Makefile.am): Substitute witnesses.
43053         * lib/unistd.in.h (usleep): Add declaration.
43054         * doc/pastposix-functions/usleep.texi (usleep): Document this.
43055         * MODULES.html.sh (Date and time): Likewise.
43056         * modules/usleep-tests (Depends-on): New test.
43057         * tests/test-usleep.c: New file.
43058
43059         chown: work around OpenBSD bug
43060         * lib/chown.c (rpl_chown): Work around the bug.
43061         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
43062         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
43063         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
43064         * modules/chown (Depends-on): Add stdbool.
43065         * modules/lchown (Depends-on): Likewise.
43066         * doc/posix-functions/chown.texi (chown): Document the bug.
43067         * doc/posix-functions/lchown.texi (lchown): Likewise.
43068         * tests/test-lchown.h (test_chown): Relax test.
43069
43070         mkstemp: avoid conflict with C++ keyword template
43071         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
43072         * lib/mkostemp.c (mkostemp): Likewise.
43073         * lib/mkostemps.c (mkostemps): Likewise.
43074         * lib/mkstemp.c (mkstemp): Likewise.
43075         * lib/mkstemps.c (mkstemps): Likewise.
43076
43077         xalloc-die-tests: optimize
43078         * tests/test-xalloc-die.sh: Reduce number of processes.
43079
43080 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43081
43082         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
43083         patch from ludo@gnu.org (Ludovic Courtès).
43084
43085 2009-11-17  Jim Meyering  <meyering@redhat.com>
43086
43087         version-etc: use proper license string
43088         * modules/version-etc (License): Use LGPL, not LGPLv3+.
43089         * modules/version-etc-fsf: Likewise.
43090
43091 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43092
43093         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
43094         printed to stdout.  Deal with EOL differences.
43095
43096 2009-11-17  Eric Blake  <ebb9@byu.net>
43097
43098         unsetenv: work around Solaris bug
43099         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
43100         * lib/unsetenv.c (rpl_unsetenv): Work around it.
43101         Reported by Jim Meyering.
43102
43103         vasnprintf: avoid compiler warnings
43104         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
43105         variables.
43106         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
43107
43108 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43109
43110         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
43111         settings since xalloc-die is no longer the self test,
43112         xalloc-die.sh is.
43113
43114 2009-11-17  Jim Meyering  <meyering@redhat.com>
43115
43116         test-xalloc-die.sh: make the code agree with the commit log
43117         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
43118         at the end, just in case you happen to have a test-xalloc-die
43119         program in some other PATH directory.
43120
43121         test-xalloc-die.sh: fix a portability bug
43122         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
43123         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
43124         Otherwise, argv[0] (as often seen in diagnostics) would be too
43125         system-dependent, sometimes with, and sometimes without the leading "./".
43126
43127         version-etc-fsf: relax license to LGPLv3+
43128         * modules/version-etc-fsf (License): Relax license.
43129
43130 2009-11-16  Eric Blake  <ebb9@byu.net>
43131
43132         xalloc-die-tests: avoid printing null pointer
43133         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
43134         shell script.
43135         * tests/test-xalloc-die.c (program_name): Declare.
43136         * tests/test-xalloc-die.sh (tmpfiles): New file.
43137
43138         setenv, unsetenv: work around various bugs
43139         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
43140         (setenv) [HAVE_SETENV]: Work around bugs.
43141         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
43142         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
43143         for bugs.
43144         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
43145         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
43146         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
43147         * modules/stdlib (Makefile.am): Update substitutions.
43148         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
43149         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
43150         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
43151         * modules/setenv-tests: New test.
43152         * modules/unsetenv-tests: Likewise.
43153         * tests/test-setenv.c: New file.
43154         * tests/test-unsetenv.c: Likewise.
43155
43156 2009-11-16  Jim Meyering  <meyering@redhat.com>
43157
43158         version-etc: relax license to LGPLv3+
43159         * modules/version-etc (License): Relax license.
43160
43161         better AC_REQUIRE expanded-before-required-warning avoidance
43162         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
43163         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
43164         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
43165         which is no longer needed.
43166
43167 2009-11-16  Eric Blake  <ebb9@byu.net>
43168
43169         test-freading: clean up temporary file
43170         * tests/test-freading.c (main): Remove file on success, and use
43171         ASSERT more liberally.
43172         Reported by Jim Meyering.
43173
43174 2009-11-16  Jim Meyering  <meyering@redhat.com>
43175
43176         avoid new AC_REQUIRE expanded-before-required warnings
43177         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
43178         merely using it.
43179         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
43180         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
43181
43182 2009-11-15  Simon Josefsson  <simon@josefsson.org>
43183
43184         * tests/test-xalloc-die.c: New file.
43185         * modules/xalloc-die-tests: New file.
43186         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
43187         XFAIL_TESTS so it can be appended by modules.
43188
43189 2009-11-15  Simon Josefsson  <simon@josefsson.org>
43190
43191         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
43192         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
43193
43194 2009-11-14  Eric Blake  <ebb9@byu.net>
43195
43196         fnmatch: avoid compiler warning
43197         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
43198         to silence compiler warning about mismatch signedness in ?:.
43199         Reported by Robert Millan.
43200
43201         intprops: add double-inclusion guard
43202         * lib/intprops.h: Allow idempotent includes.
43203         Suggested by Bruce Korb.
43204
43205         openat: detect Solaris fchownat bug
43206         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
43207         penalizing glibc chownat when only lchownat is broken.
43208         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
43209         trailing slash bugs.
43210         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
43211         * modules/openat-tests (Files): Include more files.
43212         (Depends-on): Add mgetgroups, sleep, stat-time.
43213         (configure.ac): Add additional checks.
43214         (Makefile.am): Build new test.
43215         * tests/test-fchownat.c: New file.
43216
43217         lchown: detect Solaris and FreeBSD bug
43218         * lib/lchown.c (rpl_lchown): Work around bug.
43219         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
43220         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43221         * modules/unistd (Makefile.am): Populate it.
43222         * lib/unistd.in.h (lchown): Update declaration.
43223         * doc/posix-functions/lchown.texi (lchown): Document the bug.
43224         * modules/lchown-tests: New file.
43225         * tests/test-lchown.h (test_lchown): Likewise.
43226         * tests/test-lchown.c (main): Likewise.
43227
43228         chown: detect Solaris and FreeBSD bug
43229         * lib/chown.c (rpl_chown): Work around bug.
43230         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
43231         (gl_PREREQ_CHOWN): Delete.
43232         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43233         * modules/unistd (Makefile.am): Populate it.
43234         * lib/unistd.in.h (chown): Update declaration.
43235         * lib/lchown.c (chown): Update client.
43236         * modules/lchown (Depends-on): Add lstat.
43237         * doc/posix-functions/chown.texi (chown): Document the bug.
43238         * doc/posix-functions/getgroups.texi (getgroups): Document
43239         getgroups pitfall.
43240         * modules/chown-tests: New file.
43241         * tests/test-chown.h (test_chown): Likewise.
43242         * tests/test-chown.c (main): Likewise.
43243
43244 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
43245
43246         gnulib-tool: correctly detect absence of m4 directories
43247         * gnulib-tool: Avoid extra newline on data passed to wc -l.
43248
43249 2009-11-14  Jim Meyering  <meyering@redhat.com>
43250
43251         maint.mk: Prohibit inclusion of "xalloc.h" without use.
43252         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43253
43254 2009-11-14  John W. Eaton  <jwe@gnu.org>
43255
43256         strftime.h: wrap function declaration in extern "C" block
43257         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
43258
43259 2009-11-13  Eric Blake  <ebb9@byu.net>
43260
43261         getgroups: avoid compiler warning
43262         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
43263
43264         getgroups: work around FreeBSD bug
43265         * lib/getgroups.c (rpl_getgroups): Work around the bug.
43266         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
43267         * doc/posix-functions/getgroups.texi (getgroups): Document it.
43268         * tests/test-getgroups.c (main): Fix buffer overrun.
43269
43270         getgroups: avoid compilation failure
43271         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
43272         * modules/getgroups (Depends-on): Add stdint.
43273
43274 2009-11-13  Jim Meyering  <meyering@redhat.com>
43275
43276         test-getgroups: avoid compilation failure
43277         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
43278
43279 2009-11-13  Eric Blake  <ebb9@byu.net>
43280
43281         mgetgroups: new module, taken from coreutils
43282         * modules/mgetgroups: New file.
43283         * lib/mgetgroups.h: Likewise.
43284         * lib/mgetgroups.c (mgetgroups): Likewise.
43285         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
43286         * MODULES.html.sh (Users and groups): Mention it.
43287
43288         getgroups: don't expose GETGROUPS_T to user
43289         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
43290         an element at a time if GETGROUPS_T is wrong size.
43291         * lib/getugroups.h (getugroups): Change signature.
43292         * lib/unistd.in.h (getgroups): Likewise.
43293         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
43294         signature needs fixing.
43295         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
43296         AC_TYPE_GETGROUPS.
43297         * modules/group-member (Depends-on): Add getgroups.
43298         * lib/group-member.c (group_info, get_group_info): Use gid_t.
43299         (group_member): Rely on getgroups replacement.
43300         * lib/getugroups.c (getugroups): Use gid_t.
43301         * tests/test-getgroups.c (main): Likewise.
43302         * NEWS: Mention the signature change.
43303         * doc/posix-functions/getgroups.texi (getgroups): Mention the
43304         problem with signature.
43305         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
43306         GETGROUPS_T is still useful for setgroups.
43307
43308         getgroups, getugroups: provide stubs for mingw
43309         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
43310         * lib/getugroups.c (getugroups): Likewise.
43311         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
43312         function.  Modernize replacement scheme.
43313         (gl_PREREQ_GETGROUPS): Delete.
43314         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
43315         * modules/getgroups (configure.ac): Declare witness.
43316         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
43317         * modules/unistd (Depends-on): Substitute witness.
43318         * lib/unistd.in.h (getgroups): Declare replacement.
43319
43320         getgroups: avoid calling exit
43321         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
43322         drop xalloc.
43323         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
43324         dependencies.
43325         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
43326         exiting, in the rare case of malloc failure.
43327
43328         getgroups: fix logic error
43329         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
43330         has more than 20 groups.
43331         * modules/getgroups-tests: New test.
43332         * tests/test-getgroups.c: New file.
43333
43334 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43335
43336         * tests/test-base64.c: Improve.
43337
43338 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43339
43340         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
43341         Blake <ebb9@byu.net>.
43342
43343 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43344
43345         * tests/test-xvasprintf.c: Add %s%s related checks.
43346
43347 2009-11-12  Eric Blake  <ebb9@byu.net>
43348
43349         version-etc: match standards.texi style
43350         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
43351         and use <> only for URLs.
43352
43353 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
43354
43355         fts: do not fail on a submount during traversal
43356         * lib/fts.c (fts_build): Read the stat info again after opening
43357         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
43358         Original report at http://bugzilla.redhat.com/501848.
43359
43360 2009-11-12  Jim Meyering  <meyering@redhat.com>
43361
43362         bootstrap: sync from coreutils
43363         * build-aux/bootstrap (bootstrap_epilogue): New function.
43364         Use git_modules_config in one more place.  This make bootstrap's
43365         --gnulib-srcdir option more useful for testing.
43366
43367         bootstrap: generalize autoheader check
43368         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
43369         AC_CONFIG_HEADERS.
43370
43371 2009-11-11  Eric Blake  <ebb9@byu.net>
43372
43373         mkfifoat: use new modules for Solaris and BSD bugs
43374         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
43375         * lib/mkfifoat.c (mknodat): Split...
43376         * lib/mknodat.c (mknodat): ...into new file.
43377         * modules/mkfifoat (Files): Ship new file.
43378         (Depends-on): Add mkfifo, mknod.
43379         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
43380         (Depends-on): Add symlink.
43381         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
43382         redundant with test_mkfifo.h.
43383         (do_mkfifoat, do_mknodat): New helpers.
43384
43385         mknod: new module
43386         * modules/mknod: New file.
43387         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
43388         * lib/mknod.c (mknod): Likewise.
43389         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43390         defaults.
43391         * modules/sys_stat (Makefile.am): Substitute them.
43392         * lib/sys_stat.in.h (mknod): Declare replacement.
43393         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43394         Document it.
43395         * doc/posix-functions/mknod.texi (mknod): Likewise.
43396         * modules/mknod-tests: New test.
43397         * tests/test-mknod.c: Likewise.
43398
43399         mkfifo: new module
43400         * modules/mkfifo: New file.
43401         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
43402         * lib/mkfifo.c (mkfifo): Likewise.
43403         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43404         defaults.
43405         * modules/sys_stat (Makefile.am): Substitute them.
43406         * lib/sys_stat.in.h (mkfifo): Declare replacement.
43407         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43408         Document it.
43409         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
43410         * modules/mkfifo-tests: New test.
43411         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
43412         from test-mkfifoat.c.
43413         * tests/test-mkfifo.c: New file.
43414
43415         readlink: detect FreeBSD bug
43416         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
43417         slash on symlink.
43418         * doc/posix-functions/readlink.texi (readlink): Document the bug.
43419         * tests/test-readlink.h (test_readlink): Enhance test.
43420
43421         symlink: detect FreeBSD bug
43422         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
43423         slash on symlink.
43424         * doc/posix-functions/symlink.texi (symlink): Document the bug.
43425         * tests/test-symlink.h (test_symlink): Enhance test.
43426
43427 2009-11-10  Eric Blake  <ebb9@byu.net>
43428
43429         link: detect FreeBSD bug
43430         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
43431         symlink.
43432         * doc/posix-functions/link.texi (link): Document the bug.
43433         * tests/test-link.h (test_link): Enhance test.
43434         * tests/test-linkat.c (main): Update caller.
43435
43436         unlink, remove: detect FreeBSD bug
43437         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
43438         slash on symlink.
43439         * doc/posix-functions/unlink.texi (unlink): Document the bug.
43440         * doc/posix-functions/remove.texi (remove): Likewise.
43441         * tests/test-unlink.h (test_unlink): Enhance test.
43442         * tests/test-remove.c (main): Likewise.
43443
43444 2009-11-09  Eric Blake  <ebb9@byu.net>
43445
43446         rename: detect FreeBSD bug
43447         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
43448         slash on symlink.
43449         * modules/renameat-tests (Depends-on): Add filenamecat.
43450         * tests/test-rename.h (test_rename): Allow one more errno.
43451         * tests/test-renameat.c (main): Likewise.
43452         * doc/posix-functions/rename.texi (rename): Document the bug.
43453
43454         open: detect FreeBSD bug
43455         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
43456         symlink.
43457         * doc/posix-functions/open.texi (open): Document the bug.
43458         * doc/posix-functions/utimes.texi (utimes): Likewise.
43459         * tests/test-open.h (test_open): Add parameters, and test symlink
43460         handling.
43461         * tests/test-open.c (main): Adjust caller.
43462         * tests/test-fcntl-safer.c (main): Likewise.
43463         * modules/open-tests (Depends-on): Add stdbool, symlink.
43464         * modules/fcntl-safer-tests (Depends-on): Likewise.
43465         * tests/test-openat.c (main): Add test-open tests.
43466
43467         stat: detect FreeBSD bug
43468         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
43469         symlink.
43470         * doc/posix-functions/stat.texi (stat): Document the bug.
43471         * tests/test-stat.h (test_stat_func): Add argument.
43472         * tests/test-stat.c (main): Adjust caller.
43473         * tests/test-fstatat.c (main): Likewise.
43474         * modules/stat-tests (Depends-on): Add stdbool, symlink.
43475         Reported by Jim Meyering.
43476
43477 2009-11-09  James Youngman  <jay@gnu.org>
43478
43479         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
43480         * lib/strftime.c: Correct placement of #include "ignore-value.h".
43481
43482 2009-11-08  Jim Meyering  <meyering@redhat.com>
43483
43484         utimens: remove invalid futimesat call
43485         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
43486         It used the file descriptor of the target file as the DIR_FD
43487         parameter and NULL as the file name.  That caused failure with
43488         errno == EFAULT on FreeBSD-8.0-rc2
43489
43490 2009-11-07  Eric Blake  <ebb9@byu.net>
43491
43492         fflush, freadseek: use fseeko, not fseek
43493         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
43494         (clear_ungetc_buffer): Avoid potential problems on large files.
43495         * lib/freadseek.c (freadseek): Likewise.
43496         * modules/freadseek (Depends-on): Add fseeko.
43497         * modules/fseek (configure.ac): Set a witness.
43498         * tests/test-fflush.c (main): Use fseeko.
43499         * tests/test-fpurge.c (fseek): Disable link warning.
43500         * tests/test-freadable.c (fseek): Likewise.
43501         * tests/test-freading.c (fseek): Likewise.
43502         * tests/test-fseeko.c (fseek): Likewise.
43503         * tests/test-ftell.c (fseek): Likewise.
43504         * tests/test-ftello.c (fseek): Likewise.
43505         * tests/test-fwritable.c (fseek): Likewise.
43506         * tests/test-fwriting.c (fseek): Likewise.
43507
43508 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43509
43510         * modules/memchr (Depends-on): Drop getpagesize dependency.
43511
43512 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43513
43514         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
43515         Reported by Ludovic Courtès.
43516         * build-aux/pmccabe2html: Improve example usage.
43517         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
43518
43519 2009-11-06  Jim Meyering  <meyering@redhat.com>
43520
43521         do-release-commit-and-tag: New module.
43522         Automate the release-commit and tag process.
43523         * build-aux/do-release-commit-and-tag: New script, from coreutils.
43524         * modules/do-release-commit-and-tag: New file.
43525         * MODULES.html.sh (Support for maintaining and releasing): Add it.
43526
43527 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43528
43529         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
43530         because test-select.c uses inet_pton.
43531
43532 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43533
43534         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
43535         GETADDRINFO_LIB.  Bump serial number.
43536         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
43537         Suggested by Eric Blake <ebb9@byu.net>.
43538
43539 2009-11-05  Eric Blake  <ebb9@byu.net>
43540
43541         strtod: detect darwin bug
43542         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
43543         Reported by Leo Davis.
43544
43545         freopen-safer: new module
43546         * modules/freopen-safer: New module.
43547         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
43548         * lib/freopen-safer.c (freopen_safer): New file.
43549         * lib/stdio-safer.h (freopen_safer): New declaration.
43550         * lib/stdio--.h (freopen): New override.
43551         * MODULES.html.sh (File stream based Input/Output): Mention it.
43552         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
43553         freopen-safer module.
43554         * doc/posix-functions/stderr.texi (stderr): Likewise.
43555         * doc/posix-functions/stdin.texi (stdin): Likewise.
43556         * doc/posix-functions/stdout.texi (stdout): Likewise.
43557         * modules/freopen-safer-tests: New test.
43558         * tests/test-reopen-safer.c: New file.
43559
43560 2009-11-05  Jim Meyering  <meyering@redhat.com>
43561
43562         maint.mk: Prohibit inclusion of "close-stream.h" without use.
43563         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43564
43565 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43566
43567         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
43568
43569 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43570
43571         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
43572
43573 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43574
43575         Fix link error.
43576         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43577         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43578
43579 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43580
43581         * tests/test-func.c: Also test value of __func__.
43582
43583 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43584
43585         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
43586         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
43587
43588 2009-11-05  Bruno Haible  <bruno@clisp.org>
43589
43590         Fix link error.
43591         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43592         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43593         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
43594
43595 2009-11-05  Bruno Haible  <bruno@clisp.org>
43596
43597         Tests for module 'inet_pton'.
43598         * modules/inet_pton-tests: New file.
43599         * tests/test-inet_pton.c: New file.
43600
43601 2009-11-05  Bruno Haible  <bruno@clisp.org>
43602
43603         Tests for module 'inet_ntop'.
43604         * modules/inet_ntop-tests: New file.
43605         * tests/test-inet_ntop.c: New file.
43606
43607 2009-11-04  Eric Blake  <ebb9@byu.net>
43608
43609         stdlib-safer: wrap all mkstemp variants
43610         * modules/mkostemp (configure.ac): Set witness.
43611         * modules/mkostemps (configure.ac): Likewise.
43612         * modules/mkstemps (configure.ac): Likewise.
43613         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
43614         (mkstemps_safer): Wrap more functions.
43615         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
43616         wrapping.
43617         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
43618         (mkstemps_safer): Implement the wrappers.
43619
43620         mkstemps, mkostemps: new modules
43621         * modules/mkostemps: New module.
43622         * modules/mkstemps: Likewise.
43623         * lib/mkostemps.c (mkostemps): New file.
43624         * lib/mkstemps.c (mkstemps): Likewise.
43625         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
43626         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
43627         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
43628         * modules/stdlib (Makefile.am): Substitute them.
43629         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
43630         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
43631         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
43632         * doc/gnulib.texi (Glibc stdlib.h): Include them.
43633         * MODULES.html.sh (File system functions): Mention them.
43634
43635         tempname: resync from glibc
43636         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
43637         same values for __GT_FILE as glibc.  Abort even when assertions
43638         are disabled.
43639         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
43640         match its value otherwise.  Allow idempotent inclusion.
43641         * lib/mkdtemp.c (mkdtemp): Adjust caller.
43642         * lib/mkostemp.c (mkostemp): Likewise.
43643         * lib/mkstemp.c (mkstemp): Likewise.
43644         * lib/tmpfile.c (tmpfile): Likewise.
43645         * NEWS: Document this.
43646
43647         utimens: fix use of futimens on older Linux
43648         * lib/utimens.c (fdutimens): Use updated, rather than original,
43649         timespec to avoid bug in older Linux kernel.
43650         Reported by Simon Josefsson.
43651
43652 2009-11-04  Bruno Haible  <bruno@clisp.org>
43653
43654         Make num_processors more flexible and consistent.
43655         * lib/nproc.h (enum nproc_query): New type.
43656         (num_processors): Add a 'query' argument.
43657         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
43658         (num_processors): Add a 'query' argument. Test the value of the
43659         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
43660         mingw, count the number of CPUs available for the current process.
43661         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
43662         Check for sched_getaffinity and sched_getaffinity_np.
43663         * modules/nproc (Depends-on): Add c-ctype, extensions.
43664         * NEWS: Mention the change.
43665
43666 2009-11-03  Bruno Haible  <bruno@clisp.org>
43667
43668         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
43669
43670 2009-11-03  Jim Meyering  <meyering@redhat.com>
43671
43672         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
43673         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
43674         if it is defined.
43675
43676 2009-11-02  Eric Blake  <ebb9@byu.net>
43677
43678         mktime, timegm: share common declaration
43679         * lib/mktime-internal.h: New file.
43680         * lib/mktime.c: Use it rather than open-coding a declaration.
43681         * lib/timegm.c: Likewise.
43682         * modules/mktime (Files): Ship it.
43683         * modules/timegm (Files): Likewise.
43684         Suggested by Bruno Haible.
43685
43686         test-update-copyright: update test to match script changes
43687         * tests/test-update-copyright.sh: Avoid hard-coding perl
43688         location.  Don't update *.bak created by earlier runs.
43689
43690 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
43691             Simon Josefsson  <simon@josefsson.org>
43692             Bruno Haible  <bruno@clisp.org>
43693
43694         Fix link error on Solaris 8.
43695         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
43696         also in libnsl. Define also INET_PTON_LIB.
43697         * modules/inet_pton (Link): New section.
43698
43699 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43700             Bruno Haible  <bruno@clisp.org>
43701
43702         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
43703         * modules/inet_ntop (Link): New section.
43704         Reported by Boyan Kasarov <bkasarov@gmail.com>.
43705
43706 2009-11-02  Eric Blake  <ebb9@byu.net>
43707
43708         maint: avoid compiler warnings in m4 macros
43709         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
43710         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
43711
43712 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43713
43714         * m4/pmccabe2html.m4: Remove file.
43715         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
43716         function.  Change maintainer.
43717         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
43718         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
43719         Courtès).
43720
43721 2009-10-31  Eric Blake  <ebb9@byu.net>
43722
43723         fseeko: fix m4 regression
43724         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
43725         regression from 2009-10-27.
43726         Reported by Ralf Wildenhues.
43727
43728 2009-10-31  Jim Meyering  <meyering@redhat.com>
43729
43730         inttostr: aesthetics and improved (compile-time) safety
43731         Define inttype_is_signed rather than inttype_is_unsigned,
43732         since the sole use is via "#if inttype_is_signed".
43733         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
43734         inttype_is_unsigned.
43735         * lib/offtostr.c (inttype_is_signed): Likewise.
43736         * lib/uinttostr.c (inttype_is_signed): Likewise.
43737         * lib/umaxtostr.c (inttype_is_signed): Likewise.
43738         * lib/inttostr.c (inttostr): Use verify to cross-check the
43739         inttype_is_signed value and the signedness of the actual type.
43740         * modules/inttostr (Depends-on): Add verify.
43741
43742 2009-10-30  Eric Blake  <ebb9@byu.net>
43743
43744         build: avoid compiler warnings
43745         * lib/fchmodat.c (lchmod): Mark unused variables.
43746         * lib/getopt.c (_getopt_initialize): Likewise.
43747         * lib/mktime.c (__mktime_internal): Provide prototype.
43748         * lib/inttostr.c (inttostr): Avoid compiler warning even with
43749         older gcc that do not understand #pragma GCC diagnostic.
43750         * lib/uinttostr.c (inttype_is_unsigned): Define.
43751         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
43752
43753 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
43754
43755         stat: fix compilation on AIX
43756         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
43757         only see struct stat64.
43758
43759 2009-10-30  Eric Blake  <ebb9@byu.net>
43760
43761         exclude: make more robust
43762         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
43763         rather than masking a coding bug.
43764         Suggested by Bruno Haible.
43765
43766 2009-10-30  Jim Meyering  <meyering@redhat.com>
43767
43768         perl scripts: remove #!/usr/bin/perl in favor of more portable...
43769         Rather than putting #!/usr/bin/perl on the first line,
43770         start with a variant of what's recommended by "man perlrun" that
43771         invokes the first "perl" program from your shell's search path.
43772         * build-aux/gitlog-to-changelog: Replace #!... as above.
43773         Add a "Local Variables" perl mode setting.
43774         Prompted by a patch from Ludovic Courtès.
43775         Improved by Eric Blake.
43776         * build-aux/useless-if-before-free: Likewise.
43777         * build-aux/announce-gen: Likewise.
43778         * build-aux/update-copyright: Likewise.
43779
43780 2009-10-29  Eric Blake  <ebb9@byu.net>
43781
43782         filenamecat-lgpl: adjust clients
43783         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
43784         filenamecat.
43785         * modules/renameat (Depends-on): Likewise.
43786
43787         filenamecat: split into filenamecat-lgpl
43788         * modules/filenamecat-lgpl: New module.
43789         * modules/filenamecat (Files): Move library-safe files into
43790         filenamecat-lgpl.
43791         (Depends-on): Add filenamecat-lgpl.
43792         (configure.ac): Declare witness.
43793         * lib/filenamecat.h (file_name_concat): Only declare when using
43794         GPL module.
43795         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
43796         Move...
43797         * lib/filenamecat-lgpl.c: ...into new file.
43798         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
43799         (gl_FILE_NAME_CONCAT): Use it.
43800         * MODULES.html.sh (File system functions): Mention new module.
43801
43802         argp: avoid memory leak
43803         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
43804         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
43805         base_name, since the latter malloc()s and can call exit().
43806         Leak introduced 2006-07-03.
43807
43808         dirname-lgpl: adjust clients that don't need full dirname
43809         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
43810         * modules/filenamecat (Depends-on): Likewise.
43811         * modules/linkat (Depends-on): Likewise.
43812         * modules/mkancesdirs (Depends-on): Likewise.
43813         * modules/mkdir (Depends-on): Likewise.
43814         * modules/openat (Depends-on): Likewise.
43815         * modules/savewd (Depends-on): Likewise.
43816         * modules/rename (Depends-on): Likewise.
43817         (License): Relax license.
43818         * modules/mkdir-tests (Depends-on): Drop progname.
43819         (Makefile.am): Delete unneeded LDADD.
43820         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
43821
43822         dirname: split into dirname-lgpl
43823         * modules/dirname-lgpl: New module.
43824         * modules/dirname (Files): Move library-safe files into
43825         dirname-lgpl.
43826         (Depends-on): Add dirname-lgpl.
43827         (configure.ac): Declare witness.
43828         * modules/double-slash-root (License): Relax license.
43829         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
43830         module.
43831         * lib/dirname.c (dir_len, mdir_name): Move...
43832         * lib/dirname-lgpl.c: ...into new file.
43833         * lib/basename.c (last_component, base_len): Move...
43834         * lib/basename-lgpl.c: ...into new file.
43835         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
43836         (gl_DIRNAME): Use it.
43837         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
43838         Mention new module.
43839         * modules/dirname-tests (Depends-on): Add progname.
43840         * tests/test-dirname.c (program_name): Delete.
43841
43842         mkdir: make safe for libraries
43843         * modules/mkdir (Depends-on): Drop xalloc.
43844         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
43845         exit.
43846
43847         tests: avoid some compiler warnings
43848         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
43849         literals.
43850         * tests/test-memchr.c (main): Avoid type mismatch.
43851         * tests/test-arpa_inet.c (main): Avoid unused parameters.
43852         * tests/test-base64.c (main): Likewise.
43853         * tests/test-getdelim.c (main): Likewise.
43854         * tests/test-gethostname.c (main): Likewise.
43855         * tests/test-getline.c (main): Likewise.
43856         * tests/test-netinet_in.c (main): Likewise.
43857         * tests/test-select.c (open_server_socket, main): Likewise.
43858         * tests/test-select-stdin.c (main): Likewise.
43859         * tests/test-sockets.c (main): Likewise.
43860         * tests/test-strsignal.c (main): Likewise.
43861         * tests/test-sys_select.c (main): Likewise.
43862         * tests/test-sys_socket.c (main): Likewise.
43863         * tests/test-u64.c (main): Likewise.
43864         * tests/test-xfprintf-posix.c (main): Likewise.
43865         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
43866
43867         sockets: avoid compiler warning
43868         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
43869
43870         maint: detect usage(1) and other suspicious exits
43871         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
43872
43873 2009-10-29  Jim Meyering  <meyering@redhat.com>
43874
43875         timespec: long-to-int truncation could make timespec_cmp malfunction
43876         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
43877         a multiple of 2^32 nanoseconds as no difference.
43878
43879 2009-10-28  Jim Meyering  <meyering@redhat.com>
43880
43881         fprintftime: wrap macro code argument in "do {...} while(0)"
43882         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
43883         cpy macro must be a statement that can be followed by a semicolon.
43884         Now that the else clause contains a comment and is hence longer
43885         than one line, I require curly braces.  That in turn requires
43886         that we wrap this code block in the standard do...while(0).
43887
43888         fprintftime: remove stray semicolon from previous change
43889         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
43890
43891         fprintftime: avoid a warning about ignored fwrite return value
43892         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
43893         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
43894         that is unsafe.
43895         * modules/fprintftime (Depends-on): Add ignore-value.
43896
43897         exclude: avoid an unwarranted warning
43898         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
43899
43900 2009-10-27  Eric Blake  <ebb9@byu.net>
43901
43902         fseek: avoid compilation failure when fflush is replaced
43903         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
43904         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
43905         module is in use.
43906         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
43907         module is not in use; since REPLACE_FSEEK worked otherwise.
43908         (GNULIB_FTELLO): Likewise for ftell.
43909         Reported by Ian Beckwith and others.
43910
43911 2009-10-27  Bruno Haible  <bruno@clisp.org>
43912
43913         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
43914         Reported by Jim Meyering.
43915
43916 2009-10-27  Jim Meyering  <jim@meyering.net>
43917             Bruno Haible  <bruno@clisp.org>
43918
43919         Avoid warning despite dropping the return value of fwrite.
43920         * lib/unicodeio.c: Include ignore-value.h.
43921         (fwrite_success_callback): Explicitly ignore fwrite's return value.
43922         * modules/unicodeio (Depends-on): Add ignore-value.
43923
43924 2009-10-26  Eric Blake  <ebb9@byu.net>
43925
43926         areadlinkat: fix fallback path
43927         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
43928         pointer and zero.
43929
43930 2009-10-22  Pádraig Brady  <P@draigBrady.com>
43931
43932         Use a better IO block size for modern systems
43933         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
43934         * lib/md2.c: Likewise.
43935         * lib/md4.c: Likewise.
43936         * lib/md5.c: Likewise.
43937         * lib/sha1.c: Likewise.
43938         * lib/sha256.c: Likewise.
43939         * lib/sha512.c: Likewise.
43940
43941 2009-10-22  Eric Blake  <ebb9@byu.net>
43942
43943         tests: avoid several compiler warnings
43944         * tests/test-getcwd.c (main): Avoid buffer underflow.
43945         * tests/test-getdate.c (main): String literals are not safe with
43946         putenv, so use setenv.  Declare unused argument.
43947         * modules/getdate-tests (Depends-on): Add setenv.
43948         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
43949         problems with string literals in char *.
43950         * tests/test-hash.c (main): Avoid shadowing declaration.
43951         (insert_new): Treat string literals as char const *.
43952         * tests/test-getopt.h (test_getopt): Likewise.
43953         (getopt_loop): Alter types to minimize casting elsewhere.
43954         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
43955         (test_getopt_long_posix): Likewise.
43956         (do_getopt_long): Add wrapper to minimize casting.
43957         * tests/test-atexit.c (clear_temp_file): Use void.
43958         * tests/test-areadlink-with-size.c (main): Declare unused
43959         arguments.
43960         * tests/test-areadlink.c (main): Likewise.
43961         * tests/test-areadlinkat-with-size.c (main): Likewise.
43962         * tests/test-areadlinkat.c (main): Likewise.
43963         * tests/test-canonicalize-lgpl.c (main): Likewise.
43964         * tests/test-canonicalize.c (main): Likewise.
43965         * tests/test-dirent-safer.c (main): Likewise.
43966         * tests/test-dirname.c (main): Likewise.
43967         * tests/test-dup2.c (main): Likewise.
43968         * tests/test-fchdir.c (main): Likewise.
43969         * tests/test-fcntl-h.c (main): Likewise.
43970         * tests/test-fcntl-safer.c (main): Likewise.
43971         * tests/test-fdopendir.c (main): Likewise.
43972         * tests/test-fdutimensat.c (main): Likewise.
43973         * tests/test-fflush.c (main): Likewise.
43974         * tests/test-filenamecat.c (main): Likewise.
43975         * tests/test-filevercmp.c (main): Likewise.
43976         * tests/test-fopen-safer.c (main): Likewise.
43977         * tests/test-fopen.c (main): Likewise.
43978         * tests/test-fpending.c (main): Likewise.
43979         * tests/test-fpurge.c (main): Likewise.
43980         * tests/test-freading.c (main): Likewise.
43981         * tests/test-fstatat.c (main): Likewise.
43982         * tests/test-fsync.c (main): Likewise.
43983         * tests/test-futimens.c (main): Likewise.
43984         * tests/test-getndelim2.c (main): Likewise.
43985         * tests/test-gettimeofday.c (main): Likewise.
43986         * tests/test-getopt.c (main): Likewise.
43987         * tests/test-i-ring.c (main): Likewise.
43988         * tests/test-inttypes.c (main): Likewise.
43989         * tests/test-link.c (main): Likewise.
43990         * tests/test-lstat.c (main): Likewise.
43991         * tests/test-math.c (main): Likewise.
43992         * tests/test-md5.c (main): Likewise.
43993         * tests/test-memchr2.c (main): Likewise.
43994         * tests/test-memrchr.c (main): Likewise.
43995         * tests/test-mkdir.c (main): Likewise.
43996         * tests/test-mkdirat.c (main): Likewise.
43997         * tests/test-mkfifoat.c (main): Likewise.
43998         * tests/test-open.c (main): Likewise.
43999         * tests/test-openat-safer.c (main): Likewise.
44000         * tests/test-openat.c (main): Likewise.
44001         * tests/test-quotearg.c (main): Likewise.
44002         * tests/test-rawmemchr.c (main): Likewise.
44003         * tests/test-readlink.c (main): Likewise.
44004         * tests/test-remove.c (main): Likewise.
44005         * tests/test-rename.c (main): Likewise.
44006         * tests/test-renameat.c (main): Likewise.
44007         * tests/test-rmdir.c (main): Likewise.
44008         * tests/test-sha1.c (main): Likewise.
44009         * tests/test-signal.c (main): Likewise.
44010         * tests/test-sigaction.c (main): Likewise.
44011         * tests/test-stat.c (main): Likewise.
44012         * tests/test-stat-time.c (main): Likewise.
44013         * tests/test-stddef.c (main): Likewise.
44014         * tests/test-stdint.c (main): Likewise.
44015         * tests/test-stdio.c (main): Likewise.
44016         * tests/test-stdlib.c (main): Likewise.
44017         * tests/test-strchrnul.c (main): Likewise.
44018         * tests/test-strerror.c (main): Likewise.
44019         * tests/test-string.c (main): Likewise.
44020         * tests/test-strtod.c (main): Likewise.
44021         * tests/test-strverscmp.c (main): Likewise.
44022         * tests/test-symlink.c (main): Likewise.
44023         * tests/test-symlinkat.c (main): Likewise.
44024         * tests/test-sys_stat.c (main): Likewise.
44025         * tests/test-sys_time.c (main): Likewise.
44026         * tests/test-time.c (main): Likewise.
44027         * tests/test-unistd.c (main): Likewise.
44028         * tests/test-unlink.c (main): Likewise.
44029         * tests/test-unlinkat.c (main): Likewise.
44030         * tests/test-utimens.c (main): Likewise.
44031         * tests/test-utimensat.c (main): Likewise.
44032         * tests/test-version-etc.c (main): Likewise.
44033         * tests/test-wchar.c (main): Likewise.
44034         * tests/test-wctype.c (main): Likewise.
44035         * tests/test-xprintf-posix.c (main): Likewise.
44036         * tests/test-posixtm.c (main): Likewise.
44037         (STREQ): Delete unused macro.
44038         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
44039         shadowed variables.
44040         * tests/test-memchr.c (main): Likewise.
44041
44042 2009-10-21  Eric Blake  <ebb9@byu.net>
44043
44044         areadlinkat: avoid failure on older glibc
44045         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
44046         rather than mis-comparing 0 against FUNC_RESULT of char*.
44047
44048 2009-10-21  Bruno Haible  <bruno@clisp.org>
44049
44050         * modules/stpncpy (License): Relicense under LGPLv2+.
44051         Reported by David Lutterkort <lutter@redhat.com>.
44052
44053 2009-10-20  Eric Blake  <ebb9@byu.net>
44054
44055         utimensat: work around Solaris 9 bug
44056         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
44057         has trailing slash bugs.
44058         * tests/test-lutimens.h (test_lutimens): Enhance test.
44059         * tests/test-utimens.h (test_utimens): Likewise.
44060         * doc/posix-functions/utime.texi (utime): Enhance documentation.
44061         * doc/posix-functions/utimes.texi (utimes): Likewise.
44062         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44063         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
44064         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
44065         * doc/posix-functions/futimens.texi (futimens): Likewise.
44066
44067         fdutimensat: new module
44068         * modules/fdutimensat: New file.
44069         * lib/fdutimensat.c (fdutimensat): Likewise.
44070         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
44071         * MODULES.html.sh (File system functions): Mention module.
44072         * modules/fdutimensat-tests: New test.
44073         * tests/test-fdutimensat.c: Likewise.
44074
44075         doc: regenerate INSTALL
44076         * doc/INSTALL: Reflect recent autoconf update.
44077         * doc/INSTALL.ISO: Likewise.
44078         * doc/INSTALL.UTF-8: Likewise.
44079
44080 2009-10-20  Pádraig Brady  <P@draigBrady.com>
44081
44082         acl: warn if ACL support is not detected
44083         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
44084
44085 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
44086
44087         * lib/nproc.h: Add extern "C" block for C++.
44088
44089 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
44090             Bruno Haible  <bruno@clisp.org>
44091
44092         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
44093         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
44094         * doc/posix-functions/isalpha.texi: Likewise.
44095         * doc/posix-functions/isblank.texi: Likewise.
44096         * doc/posix-functions/iscntrl.texi: Likewise.
44097         * doc/posix-functions/isdigit.texi: Likewise.
44098         * doc/posix-functions/isgraph.texi: Likewise.
44099         * doc/posix-functions/islower.texi: Likewise.
44100         * doc/posix-functions/isprint.texi: Likewise.
44101         * doc/posix-functions/ispunct.texi: Likewise.
44102         * doc/posix-functions/isspace.texi: Likewise.
44103         * doc/posix-functions/isupper.texi: Likewise.
44104         * doc/posix-functions/isxdigit.texi: Likewise.
44105
44106 2009-10-18  Bruno Haible  <bruno@clisp.org>
44107
44108         Tests for module 'isblank'.
44109         * modules/isblank-tests: New file.
44110         * tests/test-isblank.c: New file.
44111
44112         New module 'isblank'.
44113         * lib/isblank.c: New file.
44114         * m4/isblank.m4: New file.
44115         * modules/isblank: New file.
44116         * doc/posix-functions/isblank.texi: Mention the new module.
44117
44118 2009-10-18  Bruno Haible  <bruno@clisp.org>
44119
44120         New module 'ctype'.
44121         * lib/ctype.in.h: New file.
44122         * m4/ctype.m4: New file.
44123         * modules/ctype: New file.
44124         * doc/posix-headers/ctype.texi: Mention the new module.
44125
44126 2009-10-18  Jim Meyering  <meyering@redhat.com>
44127
44128         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
44129         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
44130         right after its initialization, rather than farther down.
44131         Keeping these in close proximity makes it easier to ensure
44132         that each such variable is initialized.  E.g.,
44133
44134             LIB_CLOCK_GETTIME=
44135             AC_SUBST([LIB_CLOCK_GETTIME])
44136
44137         This change also increments these serial numbers.
44138         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
44139         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44140         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44141
44142 2009-10-18  Bruno Haible  <bruno@clisp.org>
44143
44144         Don't let environment variables perturb build.
44145         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
44146         (gl_PREREQ_GETHRXTIME): ... not here.
44147
44148 2009-10-18  Bruno Haible  <bruno@clisp.org>
44149
44150         Avoid symlink attack in localcharset module.
44151         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
44152         (O_NOFOLLOW): Define fallback.
44153         (get_charset_aliases): Don't open the file if it is a symbolic link.
44154         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
44155         gl_FCNTL_H.
44156         (gl_FCNTL_H): Require it.
44157         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
44158         * modules/localcharset (Files): Add m4/fcntl_h.m4.
44159         Reported by Fergal Glynn <fglynn@veracode.com>.
44160
44161 2009-10-18  Bruno Haible  <bruno@clisp.org>
44162
44163         Implement nproc for mingw.
44164         * lib/nproc.c: Include <windows.h>
44165         (num_processors): On native Windows platforms, try GetSystemInfo.
44166
44167 2009-10-18  Bruno Haible  <bruno@clisp.org>
44168
44169         Implement nproc for IRIX.
44170         * lib/nproc.c: Include <sys/sysmp.h>.
44171         (num_processors): On IRIX systems, try sysmp.
44172         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
44173
44174 2009-10-18  Bruno Haible  <bruno@clisp.org>
44175
44176         Implement nproc for HP-UX.
44177         * lib/nproc.c: Include <sys/pstat.h>
44178         (num_processors): On HP-UX systems, try pstat_getdynamic.
44179         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
44180         pstat_getdynamic.
44181
44182 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
44183             Bruno Haible  <bruno@clisp.org>
44184
44185         Implement nproc for NetBSD, OpenBSD.
44186         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
44187         (ARRAY_SIZE): New macro.
44188         (num_processors): On BSD systems, try sysctl of HW_NCPU.
44189         * m4/nproc.m4: New file.
44190         * modules/nproc (Files): Add m4/nproc.m4.
44191         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
44192         (Makefile.am): Instead, augment lib_SOURCES.
44193
44194 2009-10-18  Bruno Haible  <bruno@clisp.org>
44195
44196         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
44197         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
44198         sys/param.h.
44199
44200 2009-10-16  Eric Blake  <ebb9@byu.net>
44201
44202         utimensat: new module
44203         * modules/utimensat: New file.
44204         * lib/utimensat.c (utimensat): Likewise.
44205         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
44206         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
44207         so we can work around Linux bugs.
44208         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44209         * modules/sys_stat (Makefile.am): Substitute them.
44210         * lib/sys_stat.in.h (utimensat): Declare it.
44211         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44212         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44213         * modules/utimensat-tests: New test.
44214         * tests/test-utimensat.c: Likewise.
44215
44216         utimens: let lutimens work on non-symlinks
44217         * lib/utimens.c (lutimens): Fall back to utimens rather than
44218         failing with ENOSYS, when file is not a symlink.
44219         (utimens): Reduce redirection.
44220         * tests/test-lutimens.h (test_lutimens): Update test to cover
44221         non-symlinks.
44222         * tests/test-utimens.h (test_utimens): Update test to cover
44223         symlinks.
44224         * tests/test-utimens.c (main): Update caller.
44225
44226         utimens: cache whether utimensat syscall works
44227         * lib/utimens.c (utimensat_works_really): New cache variable.
44228         (fdutimens, lutimens): Use it to avoid failing syscall.
44229
44230         test-stat-time, test-utimens: improve portability
44231         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
44232         ext4 on alpha, and for cygwin.
44233         * tests/test-utimens-common.h: New file.
44234         (nap): Factor delays into single function.
44235         * tests/test-lutimens.h (test_lutimens): Use new header.
44236         * tests/test-futimens.h (test_futimens): Likewise.
44237         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
44238         timestamps to occur from same machine, as was done previously for
44239         test_utimens.
44240         * modules/utimens-tests (Files): Ship new file.
44241         * modules/futimens-tests (Files): Likewise.
44242         Reported in part by Jim Meyering.
44243
44244         sys_stat: sort replacement declarations
44245         * lib/sys_stat.in.h: Sort declarations.
44246         * lib/futimens.c (futimens): Fix typo.
44247
44248 2009-10-15  Jim Meyering  <meyering@redhat.com>
44249
44250         don't let environment settings perturb build
44251         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
44252         could cause a configure-time and/or build-time malfunction.
44253         Typically, a configure-time function-in-library test is performed
44254         via code like this:
44255
44256           LIB_VAR=
44257           AC_SUBST([LIB_VAR])
44258           prefix_saved_LIBS=$LIBS
44259             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
44260                        [test "$ac_cv_search_FUNC" = "none required" ||
44261                         LIB_VAR=$ac_cv_search_FUNC])
44262           LIBS=$prefix_saved_LIBS
44263
44264         However, in each of the files affected by this change, the LIB_VAR=
44265         initialization was omitted.  Thus, when set in the environment, its
44266         value would propagate into generated Makefiles when FUNC is not found
44267         in LIB_NAME.
44268         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
44269         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44270         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44271
44272 2009-10-14  Eric Blake  <ebb9@byu.net>
44273
44274         fchdir: avoid infinite recursion in mingw
44275         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
44276         recursing.
44277
44278         test-stat-time: port to mingw
44279         * tests/test-stat-time.c (force_unlink): Return a value.
44280         (test_ctime) [W32]: Fix compilation error.
44281         (nap): Don't call usleep with too large an argument.  Use
44282         force_unlink.
44283         * doc/pastposix-functions/usleep.texi (usleep): Document the
44284         portability issue.
44285
44286 2009-10-13  Jim Meyering  <meyering@redhat.com>
44287
44288         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
44289         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
44290         * modules/pipe-filter-ii: Likewise.
44291         * modules/sys_socket-tests: Likewise.
44292         * modules/tsearch-tests: Likewise.
44293         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
44294         (check): Depend on it.
44295
44296 2009-10-12  Eric Blake  <ebb9@byu.net>
44297
44298         utimens-tests: port to NFS file systems
44299         * tests/test-utimens.h (test_utimens): Refactor utimecmp
44300         comparisons to avoid spurious failures from timestamp drift
44301         between NFS machines.
44302
44303 2009-10-12  Eric Blake  <ebb9@byu.net>
44304
44305         stat-time-tests: minor cleanups
44306         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
44307         * tests/test-stat-time.c (nap): Separate assignment from call.
44308         Suggested by Paolo Bonzini and Bruno Haible.
44309
44310         sys_stat: guarantee struct timespec
44311         * lib/sys_stat.in.h (includes): Always include <time.h>
44312         * modules/sys_stat (Depends-on): Add time.
44313         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
44314         mode_t permission values.
44315         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
44316         get at subsecond timestamps.
44317
44318 2009-10-10  Eric Blake  <ebb9@byu.net>
44319
44320         futimens: new module
44321         * modules/futimens: New file.
44322         * lib/futimens.c (futimens): Likewise.
44323         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
44324         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
44325         we can work around Linux bugs.
44326         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44327         * modules/sys_stat (Makefile.am): Substitute them.
44328         * lib/sys_stat.in.h (futimens): Declare it.
44329         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44330         * doc/posix-functions/futimens.texi (futimens): Likewise.
44331         * modules/futimens-tests: New test.
44332         * tests/test-futimens.c: Likewise.
44333
44334         utimens: introduce fdutimens
44335         * lib/utimens.h (fdutimens): New prototype.
44336         * lib/utimens.c (gl_futimens): Move guts...
44337         (fdutimens): ...to new interface.
44338         * tests/test-utimens.c (do_fdutimens): Use it.
44339
44340         utimens: add UTIME_NOW and UTIME_OMIT support
44341         * lib/utimens.c (validate_timespec, update_timespec): New helper
44342         functions.
44343         (gl_futimens, lutimens): Use them.
44344         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
44345         stdbool, sys_stat.
44346         (Link): Mention resulting library dependency.
44347         * modules/utimecmp (Link): Likewise.
44348         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
44349         (Makefile.am): Pick up library dependency.
44350         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
44351         definition.
44352         * tests/test-sys_stat.c: Test the definitions.
44353         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
44354         * NEWS: Document library dependency.
44355
44356         utimecmp: support symlink timestamps
44357         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
44358         hashing when possible.  Use pathconf when available.
44359         (SYSCALL_RESOLUTION): Recognize tighter resolution.
44360         * modules/utimecmp (Depends-on): Add lstat.
44361
44362         utimens: add lutimens interface
44363         * lib/utimens.c (lutimens): New function.
44364         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
44365         * lib/utimens.h (lutimens): Declare new interface.
44366         * tests/test-utimens.c (main): Enhance test.
44367         * tests/test-lutimens.h (test_lutimens): New file.
44368         * modules/utimens-tests (Files): Distribute it.
44369         (Depends-on): Add symlink.
44370         (configure.ac): Check for usleep.
44371
44372         utimens: validate futimens usage
44373         * lib/utimens.c (gl_futimens): Require valid fd up front, using
44374         fewer syscalls on failure later on.  Avoid compiler warning on
44375         mingw.
44376         * modules/utimens (Depends-on): Add dup2.
44377
44378         utimens: add test
44379         * modules/utimens-tests: New test.
44380         * tests/test-utimens.h: New file.
44381         * tests/test-futimens.h: Likewise.
44382         * tests/test-utimens.c: Likewise.
44383
44384         doc: mention timestamp portability issues
44385         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
44386         instead.
44387         * doc/posix-functions/utime.texi (utime): Likewise.
44388         * doc/posix-functions/utimes.texi (utimes): Likewise.
44389         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
44390         instead.
44391         * doc/posix-functions/futimens.texi (futimens): Mention utimens
44392         module.
44393         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44394         Mention weakness with symlink timestamps.
44395         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
44396         to utimensat/futimens instead.
44397         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
44398
44399         test-dup2: enhance test
44400         * tests/test-dup2.c (main): Also check AT_FDCWD.
44401
44402         test-stat-time: avoid more spurious failures
44403         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
44404         xfs; and avoid race if the two timestamps cross quantization edge.
44405
44406         relocatable: prefer 'file system' over 'filesystem'
44407         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
44408         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
44409         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
44410         * doc/relocatable.texi (Enabling Relocatability): Likewise.
44411         * lib/relocatable.c (compute_curr_prefix): Likewise.
44412
44413 2009-10-10  Jim Meyering  <meyering@redhat.com>
44414
44415         stat-time-tests: check for the usleep function
44416         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
44417
44418 2009-10-10  Bruno Haible  <bruno@clisp.org>
44419
44420         * modules/xnanosleep: Put the Link section after the Include section.
44421
44422 2009-10-09  Eric Blake  <ebb9@byu.net>
44423
44424         dup2: work around FreeBSD 6.1 bug
44425         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
44426         * doc/posix-functions/dup2.texi (dup2): Document it.
44427         Reported by Nelson H. F. Beebe and Jim Meyering.
44428
44429         test-stat-time: port to buggy NFS clients
44430         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
44431         (test_ctime): Also skip test if mtime and ctime are skewed.
44432
44433         maint: prefer 'file system' over 'filesystem'
44434         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44435         * doc/posix-functions/lstat.texi (lstat): Likewise.
44436         * lib/file-has-acl.c (file_has_acl): Likewise.
44437         * lib/fwriteerror.c [TEST]: Likewise.
44438         * tests/test-areadlink.h (test_areadlink): Likewise.
44439         * tests/test-areadlinkat-with-size.c (main): Likewise.
44440         * tests/test-areadlinkat.c (main): Likewise.
44441         * tests/test-canonicalize-lgpl.c (main): Likewise.
44442         * tests/test-canonicalize.c (main): Likewise.
44443         * tests/test-fstatat.c (main): Likewise.
44444         * tests/test-linkat.c (main): Likewise.
44445         * tests/test-lstat.h (test_lstat_func): Likewise.
44446         * tests/test-mkdir.h (test_mkdir): Likewise.
44447         * tests/test-readlink.h (test_readlink): Likewise.
44448         * tests/test-remove.c (main): Likewise.
44449         * tests/test-rename.h (test_rename): Likewise.
44450         * tests/test-renameat.c (main): Likewise.
44451         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44452         * tests/test-symlink.h (test_symlink): Likewise.
44453         * tests/test-symlinkat.c (main): Likewise.
44454         * tests/test-unlink.h (test_unlink_func): Likewise.
44455         * tests/test-unlinkat.c (main): Likewise.
44456
44457         maint: make realtime library usage explicit
44458         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
44459         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
44460         * modules/settime (Link): Likewise.
44461         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
44462
44463         test-stat-time: speed up execution
44464         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
44465         warning on mingw.
44466         (nap): New helper function.
44467         (prepare_test): Use it to reduce sleep time.
44468         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
44469         execution.
44470         * modules/stat-time-tests (configure.ac): Check for usleep.
44471
44472 2009-10-09  Jim Meyering  <meyering@redhat.com>
44473
44474         selinux-h: always use getfilecon wrappers
44475         * lib/getfilecon.c: New file.
44476         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
44477         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
44478         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
44479         (fgetfilecon): Provide a stub.
44480         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
44481         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
44482         file unconditionally.
44483         When <selinux/selinux.h> is found, arrange to use wrappers.
44484         * modules/selinux-h (Files): Add getfilecon.c.
44485         (Makefile.am): Substitute include-next-related bits
44486         into the now-always-generated selinux/selinux.h file.
44487         * doc/glibc-functions/lgetfilecon.texi: New file.
44488         * doc/glibc-functions/fgetfilecon.texi: New file.
44489         * doc/glibc-functions/getfilecon.texi: New file.
44490         * doc/glibc-functions/getfilecon-desc.texi: New file.
44491         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
44492         which to pull in the new files.
44493         * MODULES.html.sh (Misc): Add selinux-h.
44494
44495 2009-10-08  Jim Meyering  <meyering@redhat.com>
44496
44497         unistd: fix comment typo
44498         * lib/unistd.in.h (euidaccess): Fix a comment typo.
44499
44500 2009-10-08  Eric Blake  <ebb9@byu.net>
44501
44502         areadlink: use SIZE_MAX consistently
44503         * modules/areadlink (Depends-on): Add stdint.
44504         * modules/areadlink-with-size (Depends-on): Likewise.
44505         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
44506         gives NULL; drop sys/types, since unistd gives size_t; and add
44507         stdint for SIZE_MAX.
44508         (SIZE_MAX): Rely on headers.
44509         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
44510         and add stdint.
44511         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
44512         (SIZE_MAX): Likewise.
44513         (INITIAL_BUF_SIZE): Turn into enum.
44514         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
44515
44516 2009-10-08  Jim Meyering  <meyering@redhat.com>
44517
44518         areadlinkat: avoid compilation failure
44519         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
44520         Fix typo in comment.
44521
44522 2009-10-07  Eric Blake  <ebb9@byu.net>
44523
44524         areadlinkat-with-size: new module
44525         * modules/areadlinkat-with-size: New module.
44526         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
44527         * lib/areadlink.h (areadlinkat): Declare it.
44528         * MODULES.html.sh (File system functions): Mention it.
44529         * modules/areadlinkat-with-size-tests: New test.
44530         * tests/test-areadlinkat-with-size.c: New file.
44531
44532         xreadlinkat: new module
44533         * modules/xreadlinkat: New module.
44534         * lib/xreadlinkat.c (xreadlinkat): New file.
44535         * lib/xreadlink.h (xreadlinkat): Declare it.
44536         * MODULES.html.sh (File system functions): Mention it.
44537
44538         areadlinkat: new module
44539         * lib/at-func.c (FUNC_FAIL): New define.
44540         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
44541         * modules/areadlinkat: New module.
44542         * lib/linkat.c (areadlinkat): Move...
44543         * lib/areadlinkat.c (areadlinkat): ...to new file.
44544         * lib/areadlink.h (areadlinkat): Declare it.
44545         * modules/linkat (Depends-on): Add areadlinkat.
44546         * MODULES.html.sh (File system functions): Mention it.
44547         * modules/areadlinkat-tests: New test.
44548         * tests/test-areadlinkat.c: New file.
44549
44550         areadlink, areadlink-with-size: add tests
44551         * modules/areadlink-tests: New test.
44552         * modules/areadlink-with-size-tests: Likewise.
44553         * tests/test-areadlink.h: New file.
44554         * tests/test-areadlink.c: Likewise.
44555         * tests/test-areadlink-with-size.c: Likewise.
44556
44557         maint: minor cleanups
44558         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
44559         _UNUSED_PARAMETER_ instead.
44560         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
44561         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
44562         * modules/linkat-tests (Files): Distribute test-link.h.
44563
44564         openat, utimens: whitespace cleanup
44565         * lib/openat.c: Prefer space throughout, rather than mix of 8
44566         spaces vs. tabs.
44567         * lib/at-func.c: Likewise.
44568         * lib/utimens.c: Likewise.
44569
44570         openat: avoid using wrong fd
44571         * lib/openat.c (openat_permissive): Reject user's fd if saving the
44572         working directory chooses same fd.
44573         * lib/at-func.c (AT_FUNC_NAME): Likewise.
44574
44575         mkdir, mkdirat: fix cygwin 1.5.x bug
44576         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
44577         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
44578         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
44579         bug.
44580         (gl_PREREQ_MKDIR): Delete unused macro.
44581         * modules/mkdir (Files): Track file rename.
44582         (configure.ac): Update macro name.
44583         * modules/openat (Depends-on): Add mkdir.
44584         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
44585
44586         mkdir, mkdirat: add tests
44587         * modules/mkdir-tests: New test.
44588         * tests/test-mkdir.h: New file.
44589         * tests/test-mkdir.c: Likewise.
44590         * tests/test-mkdirat.c: Likewise.
44591         * modules/openat-tests (Files): Add new files.
44592         (Makefile.am): Run new test.
44593
44594 2009-10-06  Eric Blake  <ebb9@byu.net>
44595
44596         doc: tweak *at function documentation
44597         * doc/posix-functions/faccessat.texi (faccessat): Mention
44598         known issue with replacement.
44599         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
44600         * doc/posix-functions/linkat.texi (linkat): Likewise.
44601         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
44602         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
44603         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44604         * doc/posix-functions/renameat.texi (renameat): Likewise.
44605         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
44606
44607         openat: fix GNU/Hurd bug in unlinkat
44608         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
44609         broken.
44610         * doc/posix-functions/unlink.texi (unlink): Document this.
44611         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
44612
44613         fdopendir: fix GNU/Hurd bug
44614         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
44615         allowing non-directory fds.
44616         * lib/fdopendir.c (rpl_fdopendir): Work around it.
44617         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
44618         * modules/dirent (Makefile.am): Substitute it.
44619         * lib/dirent.in.h (fdopendir): Declare replacement.
44620         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
44621         * tests/test-fdopendir.c (main): Test something other than
44622         /dev/null, since on Hurd that behaves like a directory.
44623
44624         test-symlink: port to GNU/Hurd
44625         * tests/test-symlink.h (test_symlink): Relax expected errno.
44626
44627         doc: tweak more cygwin information
44628         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
44629         now compatible with glibc.
44630         * doc/posix-functions/getopt.texi (getopt): Likewise.
44631
44632         getopt-gnu: add another test
44633         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
44634         guarantee behavior relied on by m4.
44635         * tests/test-getopt.c (main): Use it.
44636         * modules/getopt-posix-tests (Depends-on): Add setenv.
44637         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
44638
44639         getopt: fix compilation on darwin
44640         * lib/getopt.in.h (includes): Leave breadcrumbs during system
44641         include.
44642         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
44643         Reported by Ludovic Courtès.
44644
44645 2009-10-06  Bruno Haible  <bruno@clisp.org>
44646
44647         * modules/size_max (Description): Discourage its use.
44648         Reported by Simon Josefsson.
44649
44650 2009-10-06  Jim Meyering  <meyering@redhat.com>
44651
44652         linkat: avoid compilation failure
44653         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
44654
44655 2009-10-05  Eric Blake  <ebb9@byu.net>
44656
44657         linkat: support Linux 2.6.17
44658         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
44659         linkat on Linux, but allow cache variable override.
44660         * lib/linkat.c (rpl_linkat): Define override.
44661         * modules/linkat (Depends-on): Add symlinkat.
44662         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
44663         * modules/unistd (Makefile.am): Substitute it.
44664         * lib/unistd.in.h (linkat): Declare replacement.
44665         Reported by Pádraig Brady.
44666
44667         quotearg: port test to systems with C.UTF-8 locale
44668         * tests/test-quotearg.c (struct result_strings): Add another
44669         member, differentiating between C.ASCII and C.UTF-8 handling.
44670         (compare_strings): Add parameter.
44671         (main): Adjust all callers.
44672
44673         getopt: avoid clash with FreeBSD _getopt_internal
44674         * lib/getopt.in.h (_getopt_internal): Override the name.
44675         * lib/getopt_int.h (includes): Pick up any overrides.
44676         Reported by Reuben Thomas.
44677
44678         hash: allow C89 compilation
44679         * lib/hash.c (check_tuning): Move declaration before statement.
44680         Reported by Reuben Thomas.
44681
44682 2009-10-05  Karl Berry  <karl@gnu.org>
44683
44684         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
44685
44686 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
44687             Bruno Haible  <bruno@clisp.org>
44688
44689         * lib/uname.c (uname): Use a table-driven algorithm to compute
44690         Windows NT versions.
44691
44692 2009-10-04  Bruno Haible  <bruno@clisp.org>
44693
44694         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
44695         program_invocation_short_name.
44696         * modules/progname (configure.ac): Test for presence of
44697         program_invocation_short_name.
44698         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44699
44700 2009-10-04  Bruno Haible  <bruno@clisp.org>
44701
44702         * lib/progname.c (set_program_name): Fix comment.
44703         Reported by Jim Meyering.
44704
44705 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44706             Bruno Haible  <bruno@clisp.org>
44707
44708         * lib/uname.c: Include <string.h>.
44709         (uname): Do only one call to GetVersionEx in the common case.
44710
44711 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44712             Bruno Haible  <bruno@clisp.org>
44713
44714         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
44715         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
44716         (uname): Add support for Windows CE and various non-x86 CPU types.
44717
44718 2009-10-03  Bruno Haible  <bruno@clisp.org>
44719
44720         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
44721         invocation to tests/configure.ac.
44722         Reported by Ian Beckwith <ianb@erislabs.net>.
44723
44724 2009-10-02  Eric Blake  <ebb9@byu.net>
44725
44726         fchdir: avoid compiler warning
44727         * lib/fchdir.c (canonicalize_file_name)
44728         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
44729
44730         test-open: support mingw errno values
44731         * tests/test-open.h (test_open): Relax test.
44732         * tests/test-fopen.h (test_fopen): Likewise.
44733         * tests/test-openat-safer.c (main): Likewise.
44734
44735         open: fix opening directory on mingw
44736         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
44737
44738         test-open: on GNU/Hurd, /dev/null is a directory
44739         * tests/test-fopen.h (main): Rename...
44740         (test_fopen): ...to this.  Use a guaranteed non-directory when
44741         confirming open behavior on trailing slash.
44742         * tests/test-openat-safer.c (main): Likewise.
44743         * tests/test-open.h (main): Likewise....
44744         (test_open): ...to this.
44745         * tests/test-fopen.c (main): Adjust caller.
44746         * tests/test-fopen-safer.c (main): Likewise.
44747         * tests/test-open.c (main): Likewise.
44748         * tests/test-fcntl-safer.c (main): Likewise.
44749         Reported by Samuel Thibault.
44750
44751         rename, fchdir: don't ignore chdir failure
44752         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
44753         * lib/rename.c (rpl_rename) [W32]: Likewise.
44754         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
44755         an empty destination directory if source cannot be renamed,
44756         although there is still possibility for failure.
44757         * doc/posix-functions/rename.texi (rename): Document the race.
44758         Reported by Jim Meyering.
44759
44760         maint: cleanup whitespace in recent commits
44761         * lib/rename.c (rpl_rename): Remove tabs.
44762         * tests/test-link.h (test_link): Likewise.
44763         * lib/fchdir.c (get_name): Likewise.
44764         Reported by Jim Meyering.
44765
44766 2009-10-02  Ben Pfaff  <blp@gnu.org>
44767
44768         relocatable-prog-wrapper: Add missing dependency on
44769         double-slash-root.
44770         * modules/relocatable-prog-wrapper: Add dependency.
44771         Reported by Ian Beckwith <ianb@erislabs.net>.
44772
44773 2009-10-02  Eric Blake  <ebb9@byu.net>
44774
44775         renameat: fix Solaris bugs
44776         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
44777         needed fixing.
44778         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
44779         * modules/stdio (Makefile.am): Substitute it.
44780         * lib/stdio.in.h (renameat): Declare replacement.
44781         * lib/renameat.c (rpl_renameat): Implement fix.
44782
44783         renameat: new module
44784         * modules/renameat: New file.
44785         * lib/renameat.c (renameat): Likewise.
44786         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
44787         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44788         * modules/stdio (Makefile.am): Substitute them.
44789         * lib/stdio.in.h (renameat): Declare it.
44790         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44791         * doc/posix-functions/renameat.texi (renameat): Likewise.
44792         * modules/renameat-tests: New test.
44793         * tests/test-renameat.c: Likewise.
44794
44795         rename: fix mingw bugs
44796         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
44797         directory overwrite bugs.
44798
44799         rename: fix another cygwin 1.5 bug
44800         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
44801         checks.
44802         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
44803         unnecessary cygwin workarounds.  Also work around bug with moving
44804         full directory onto an empty one.
44805         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
44806
44807         rename-dest-slash: merge into rename module
44808         * modules/rename-dest-slash (Status): Mark obsolete.
44809         (Depends-on): Add rename.
44810         (Files): Let rename do it all.
44811         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
44812         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
44813         * m4/rename-dest-slash.m4: ...so this file can be deleted.
44814         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
44815         * lib/rename.c (rpl_rename): Update comments.
44816
44817         rename: fix cygwin 1.5.x bugs
44818         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
44819         * lib/rename.c (rpl_rename): Work around them.
44820         * modules/rename (Depends-on): Add same-inode.
44821
44822         rename: fix Solaris 10 bug
44823         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44824         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
44825         was the only bug.
44826
44827         rename: fix Solaris 9 bug
44828         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
44829         on non-directory.  Avoid calling exit.
44830         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
44831         strdup.
44832         * modules/rename-tests (Depends-on): Drop lstat.
44833         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44834         (gl_PREREQ_RENAME): Delete unused macro.
44835
44836         rename-dest-slash: fix NetBSD bug
44837         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
44838         links.
44839         * modules/rename-dest-slash (Depends-on): Add same-inode.
44840
44841         rename-tests: new test, exposes several platform bugs
44842         * modules/rename-tests: New file.
44843         * tests/test-rename.h: Likewise.
44844         * tests/test-rename.c: Likewise.
44845         * doc/posix-functions/rename.texi (rename): Improve documentation,
44846         including bugs that will eventually be fixed in gnulib.
44847
44848 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
44849
44850         * lib/uname.c: Include <stdlib.h>
44851         (uname): Assume version info is available.
44852
44853 2009-10-02  Jim Meyering  <meyering@redhat.com>
44854
44855         gnu-web-doc-update: correct --help output
44856         * build-aux/gnu-web-doc-update: Make --help output relevant.
44857
44858         gnu-web-doc-update: add standard options
44859         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
44860
44861         gnu-web-doc-update: New module.
44862         Use this script to automatically update the on-line web documentation
44863         for your GNU project at http://www.gnu.org/software/$pkg/manual/
44864         * modules/gnu-web-doc-update: New file, from coreutils.
44865         * build-aux/gnu-web-doc-update: New script.
44866
44867 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
44868
44869         link: LoadLibrary is not needed.
44870         * lib/link.c: Use GetModuleHandle.
44871
44872 2009-10-01  Eric Blake  <ebb9@byu.net>
44873
44874         getopt: bump serial number
44875         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
44876         change.
44877
44878         tests: tighten link, rmdir, and remove tests
44879         * tests/test-link.h (includes): No need to use <config.h> here.
44880         Clean up if directory hard link was created, otherwise test for
44881         trailing '.'.
44882         * tests/test-linkat.c (main): Simplify.
44883         * tests/test-remove.c (main): Enhance test for trailing '.'.
44884         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44885
44886 2009-10-01  Jim Meyering  <meyering@redhat.com>
44887
44888         maint.mk: requiring "make major" was annoying, for a "minor" release.
44889         What is intended is "stable", to contrast with alpha and beta,
44890         so require "make stable", not "make major".
44891         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
44892         (get_tool_versions): Likewise.
44893         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
44894
44895 2009-09-30  Ben Pfaff  <blp@gnu.org>
44896
44897         Fix broken build of replacement for Windows tmpfile().
44898         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
44899         flags argument added along with the 'mkostemp' module.
44900
44901 2009-09-28  Bruno Haible  <bruno@clisp.org>
44902
44903         Avoid identifier clash with POSIX function 'remove' defined as a macro.
44904         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
44905         to 'remove_elt'.
44906         (gl_list_remove): Update.
44907         * lib/gl_list.c (gl_list_remove): Update.
44908         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
44909         to 'remove_elt'.
44910         (gl_oset_remove): Update.
44911         * lib/gl_list.c (gl_oset_remove): Update.
44912         Reported by Eric Blake.
44913
44914 2009-09-28  Eric Blake  <ebb9@byu.net>
44915
44916         doc: mention yet more cygwin 1.7 status
44917         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
44918         cygwin.
44919         * doc/glibc-functions/execvpe.texi (execvpe): New file.
44920         * doc/gnulib.texi (Glibc unistd.h): Mention it.
44921
44922         argp: fix test failure
44923         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
44924         that are not upper-case.  Pass correct range to tolower.
44925
44926 2009-09-27  Jim Meyering  <meyering@redhat.com>
44927
44928         test-yesno: work around sparc-dash here-document infelicity
44929         Without this change, the literal \177 byte in a here document
44930         would make dash 0.5.5.1-3 access uninitialized memory.
44931         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
44932         Instead, use a marker, "@", and filter through tr to create the desired
44933         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
44934
44935 2009-09-27  Bruno Haible  <bruno@clisp.org>
44936
44937         Disable untested support for new flavours of ACLs on AIX.
44938         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
44939         progress.
44940         * lib/set-mode-acl.c (qset_acl): Likewise.
44941
44942 2008-12-07  Bruno Haible  <bruno@clisp.org>
44943
44944         Add support for new flavours of ACLs on AIX. (Untested.)
44945         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
44946         (file_has_acl): Add support for newer AIX.
44947         * lib/set-mode-acl.c (qset_acl): Likewise.
44948         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
44949         Rainer Tammer <tammer@tammer.net>.
44950
44951 2009-09-26  Eric Blake  <ebb9@byu.net>
44952
44953         argp: fix compilation of getopt
44954         * lib/getopt.in.h (includes): Use different guard than glibc.
44955         Reported by Sergey Poznyakoff.
44956
44957         doc: mention more cygwin 1.7 status
44958         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
44959         bug.
44960         * doc/posix-functions/execl.texi (execl): Likewise.
44961         * doc/posix-functions/execle.texi (execle): Likewise.
44962         * doc/posix-functions/execlp.texi (execlp): Likewise.
44963         * doc/posix-functions/execv.texi (execv): Likewise.
44964         * doc/posix-functions/execve.texi (execve): Likewise.
44965         * doc/posix-functions/execvp.texi (execvp): Likewise.
44966         * doc/glibc-functions/canonicalize_file_name.texi
44967         (canonicalize_file_name): Cygwin 1.7 now provides this.
44968         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
44969         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
44970         on AT_SYMLINK_NOFOLLOW.
44971
44972 2009-09-24  Eric Blake  <ebb9@byu.net>
44973
44974         test-linkat: make test more robust
44975         * tests/test-linkat.c (main): Avoid collision with EEXIST.
44976
44977         getopt: fix inclusion guards for cygwin
44978         * modules/getopt-posix (Depends-on): Add include-next.
44979         (Makefile.am): Substitute more items in replacement header.
44980         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
44981         <getopt.h>.
44982         * lib/getopt.in.h (includes): Use split inclusion guard, and
44983         prefer <getopt.h> over include <unistd.h> when one is present.
44984         (option): Also override name of 'struct option'.
44985
44986         same-inode: revert prior change; it is not yet ready
44987         * NEWS: Undo mention of this change.
44988         * lib/same-inode.h (same-inode.h): Undo tri-state change.
44989         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44990         * lib/cycle-check.c (cycle_check): Likewise.
44991         * lib/same.c (same_name): Likewise.
44992         * lib/at-func2.c (at_func2): Likewise.
44993
44994 2009-09-23  Eric Blake  <ebb9@byu.net>
44995
44996         linkat: new module
44997         * modules/linkat: New file.
44998         * lib/at-func2.c (at_func2): Likewise.
44999         * lib/linkat.c (linkat): Likewise.
45000         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
45001         * lib/openat-priv.h (at_func2): Add declaration.
45002         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45003         * modules/unistd (Makefile.am): Substitute them.
45004         * lib/unistd.in.h (linkat): Declare it.
45005         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45006         * doc/posix-functions/linkat.texi (linkat): Likewise.
45007         * doc/posix-functions/link.texi (link): Tweak wording.
45008         * tests/test-link.c (main): Move guts...
45009         * tests/test-link.h (test_link): ...into new file.
45010         * modules/linkat-tests: New test.
45011         * tests/test-linkat.c: Likewise.
45012         * modules/link-tests (Files): Ship new file.
45013         (Depends-on): Add stdbool.
45014
45015         dirname: add library-safe mdir_name
45016         * lib/dirname.h (mdir_name): New prototype.
45017         * lib/dirname.c (dir_name): Move guts...
45018         (mdir_name): ...to new function that avoids xalloc_die.
45019
45020         fchdir: another mingw fix
45021         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
45022         * lib/fchdir.c (get_name): New helper method; skips canonicalize
45023         on mingw (where it has not yet been ported), and make it optional
45024         elsewhere.
45025         (_gl_register_fd): Use it.
45026
45027         same-inode: make SAME_INODE tri-state, to port to mingw
45028         * NEWS: Mention this change.
45029         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
45030         st_ino always being 0.
45031         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
45032         * lib/cycle-check.c (cycle_check): Likewise.
45033         * lib/same.c (same_name): Likewise.
45034
45035         lstat: avoid mingw compilation error
45036         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
45037         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
45038         lstat ourselves.
45039         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
45040         was adequate.
45041         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
45042         the checks for lstat.
45043         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
45044
45045         link: fix test failure on Solaris 9
45046         * lib/link.c (rpl_link): Don't assume link will catch bogus
45047         trailing slash on source.
45048
45049         test-symlinkat: enhance test
45050         * tests/test-readlink.c (main): Move guts...
45051         * tests/test-readlink.h (test_readlink): ...into new file.
45052         * tests/test-symlink.c (main): Move guts...
45053         * tests/test-symlink.h (test_symlink): ...into new file.
45054         * tests/test-symlinkat.c (main): Use new files for further
45055         coverage.
45056         (do_symlink, do_readlink): New helper functions.
45057         * modules/symlink-tests (Files): Ship new file.
45058         (Depends-on): Add stdbool.
45059         * modules/readlink-tests (Files): Ship new file.
45060         (Depends-on): Add stdbool.
45061         * modules/symlinkat-tests (Files): Use new files.
45062
45063 2009-09-23  Eric Blake  <ebb9@byu.net>
45064
45065         readlink: document portability issue with symlink length
45066         * doc/posix-functions/lstat.texi (lstat): Mention that some file
45067         systems have bogus st_size on symlinks, and mention the
45068         areadlink-with-size module.
45069         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
45070         * doc/posix-functions/readlink.texi (readlink): Mention the
45071         areadlink module, and ERANGE failure.
45072         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45073         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
45074
45075         readlink: fix Solaris 9 bug with trailing slash
45076         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
45077         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
45078         * doc/posix-functions/readlink.texi (readlink): Document this.
45079         * modules/readlink-tests: New test.
45080         * tests/test-readlink.c: Likewise.
45081
45082         readlink: fix cygwin 1.5.x bug with return type
45083         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
45084         * lib/unistd.in.h (readlink): Use ssize_t.
45085         * lib/readlink.c (readlink): Likewise.
45086         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45087         * modules/unistd (Makefile.am): Substitute it.
45088         * lib/unistd.in.h (readlink): Declare replacement.
45089         * doc/posix-functions/readlink.texi (readlink): Document this.
45090
45091         symlink: use throughout gnulib
45092         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
45093         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
45094         symlink is not used.
45095         * modules/symlinkat (Depends-on): Add symlink.
45096         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
45097         * modules/canonicalize-tests (Depends-on): Likewise.
45098         * modules/lstat-tests (Depends-on): Likewise.
45099         * modules/openat-tests (Depends-on): Likewise.
45100         * modules/remove-tests (Depends-on): Likewise.
45101         * modules/rmdir-tests (Depends-on): Likewise.
45102         * modules/unlink-tests (Depends-on): Likewise.
45103         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
45104         * tests/test-canonicalize.c (symlink): Likewise.
45105         * tests/test-fstatat.c (symlink): Likewise.
45106         * tests/test-lstat.c (symlink): Likewise.
45107         * tests/test-remove.c (symlink): Likewise.
45108         * tests/test-rmdir.c (symlink): Likewise.
45109         * tests/test-unlink.c (symlink): Likewise.
45110         * tests/test-unlinkat.c (symlink): Likewise.
45111
45112         symlink: new module, for Solaris 9 bug
45113         * modules/symlink: New file.
45114         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
45115         * lib/symlink.c: Likewise.
45116         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
45117         * modules/unistd (Makefile.am): Substitute them.
45118         * lib/unistd.in.h (symlink): Declare replacement.
45119         * MODULES.html.sh (File system functions): Mention it.
45120         * doc/posix-functions/symlink.texi (symlink): Likewise.
45121         * modules/symlink-tests: New test.
45122         * tests/test-symlink.c: Likewise.
45123
45124 2009-09-23  Bruno Haible  <bruno@clisp.org>
45125
45126         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
45127         when needed.
45128         Test case: gnulib-tool --import --with-tests atexit inttypes.
45129         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
45130
45131 2009-09-23  Bruno Haible  <bruno@clisp.org>
45132
45133         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
45134         subcommand, not in a subshell.
45135
45136 2009-09-22  Eric Blake  <ebb9@byu.net>
45137
45138         unistd: sort replacement declarations
45139         * lib/unistd.in.h: Sort declarations.
45140
45141         open, openat: minor optimization
45142         * lib/open.c (open): If open succeeded, len is non-zero.
45143         * lib/openat.c (rpl_openat): Likewise.
45144
45145         link-follow: ensure correct result
45146         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
45147         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
45148         distinguish between possible failures.
45149
45150 2009-09-21  Eric Blake  <ebb9@byu.net>
45151
45152         fts: avoid compiler warning
45153         * lib/fts.c (dirent_inode_sort_may_be_useful)
45154         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
45155
45156 2009-09-19  Bruno Haible  <bruno@clisp.org>
45157
45158         * lib/progreloc.c (canonicalize_file_name): New declaration.
45159
45160 2009-09-19  Eric Blake  <ebb9@byu.net>
45161
45162         link: fix quoting
45163         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
45164
45165         openat: fix openat bugs on Solaris 9
45166         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
45167         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
45168         * modules/openat (Depends-on): Add open.
45169         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
45170         * modules/fcntl-h (Makefile.am): Substitute it.
45171         * lib/fcntl.in.h (openat): Declare replacement.
45172         * doc/posix-functions/openat.texi (openat): Document this.
45173
45174         openat: move fstatat and unlinkat into correct files
45175         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
45176         compiled.
45177         * lib/openat.c (fstatat, unlinkat): Move...
45178         * lib/fstatat.c (fstatat): ...into correct files.
45179         * lib/unlinkat.c (unlinkat): Likewise.
45180
45181         openat: fix unlinkat bugs on Solaris 9
45182         * lib/unlinkat.c (unlinkat): New file.
45183         * modules/openat (Depends-on): Add unlink.
45184         (Files): Distribute it.
45185         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
45186         trailing slash behavior is broken.
45187         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45188         * modules/unistd (Makefile.am): Substitute it.
45189         * lib/unistd.in.h (unlinkat): Declare replacement.
45190         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
45191
45192         openat: fix fstatat bugs on Solaris 9
45193         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
45194         stat.
45195         * doc/posix-functions/fstatat.texi (fstatat): Document this.
45196
45197         test-unlinkat: enhance test, to expose Solaris 9 bug
45198         * tests/test-unlink.c (main): Factor guts...
45199         * tests/test-unlink.h (test_rmdir_func): ...into new file.
45200         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
45201         * tests/test-rmdir.c (main): Adjust caller.
45202         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
45203         (unlinker): New helper function.
45204         (rmdirat): Enhance check.
45205         * modules/rmdir-tests (Depends-on): Add stdbool.
45206         * modules/unlink-tests (Depends-on): Likewise.
45207         (Files): Add test-unlink.h.
45208         * modules/openat-tests (Files): Likewise.
45209         (Depends-on): Add unlinkdir.
45210
45211         test-fstatat: new test, to expose Solaris 9 bugs
45212         * tests/test-stat.c (main): Factor guts...
45213         * tests/test-stat.h (test_stat_func): ...into new file.
45214         * tests/test-lstat.c (main): Factor guts...
45215         * tests/test-lstat.h (test_lstat_func): ...into new file.
45216         * tests/test-fstatat.c: New file.
45217         * modules/stat-tests (Files): Add test-stat.h.
45218         * modules/lstat-tests (Files): Add test-lstat.h.
45219         (Depends-on): Add stdbool.
45220         * modules/openat-tests (Depends-on): Add pathmax.
45221         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
45222         (Makefile.am): Run new test.
45223
45224         remove: new module, for mingw and Solaris 9 bugs
45225         * modules/remove: New file.
45226         * lib/remove.c: Likewise.
45227         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
45228         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
45229         * modules/stdio (Makefile.am): Use them.
45230         * lib/stdio.in.h (remove): Declare replacement.
45231         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45232         * doc/posix-functions/remove.texi (remove): Likewise.
45233         * modules/remove-tests: New test.
45234         * tests/test-remove.c: Likewise.
45235
45236         unlink: new module, for Solaris 9 bug
45237         * modules/unlink: New file.
45238         * lib/unlink.c: Likewise.
45239         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
45240         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45241         * modules/unistd (Makefile.am): Use them.
45242         * lib/unistd.in.h (stat): Declare replacement.
45243         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45244         * doc/posix-functions/unlink.texi (unlink): Likewise.
45245         * modules/unlink-tests: New test.
45246         * tests/test-unlink.c: Likewise.
45247
45248         lstat: fix Solaris 9 bug
45249         * lib/lstat.c (lstat): Also check for trailing slash on
45250         non-symlink, non-directories.  Use stat module to simplify logic.
45251         * doc/posix-functions/lstat.texi (lstat): Document it.
45252         * modules/lstat-tests (Depends-on): Add errno, same-inode.
45253         (configure.ac): Check for symlink.
45254         * tests/test-lstat.c (main): Add more tests.
45255
45256         stat: add as dependency to other modules
45257         * modules/chown (Depends-on): Add stat.
45258         * modules/euidaccess (Depends-on): Likewise.
45259         * modules/fchdir (Depends-on): Likewise.
45260         * modules/isdir (Depends-on): Likewise.
45261         * modules/link (Depends-on): Likewise.
45262         * modules/lstat (Depends-on): Likewise.
45263         * modules/mkdir-p (Depends-on): Likewise.
45264         * modules/modechange (Depends-on): Likewise.
45265         * modules/open (Depends-on): Likewise.
45266         * modules/readlink (Depends-on): Likewise.
45267         * modules/same (Depends-on): Likewise.
45268
45269         stat: fix Solaris 9 bug
45270         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
45271         slash.
45272         * lib/stat.c (rpl_stat): Work around it.
45273         * doc/posix-functions/stat.texi (stat): Update documentation.
45274
45275         stat: new module, for mingw bug
45276         * modules/stat: New file.
45277         * lib/stat.c: Likewise.
45278         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
45279         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45280         * modules/sys_stat (Makefile.am): Use them.
45281         * lib/sys_stat.in.h (stat): Declare replacement.
45282         * lib/openat.c (fstatat): Deal with lstat and stat being function
45283         macros.
45284         * modules/openat (Depends-on): Add inline.
45285         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45286         * doc/posix-functions/stat.texi (stat): Likewise.
45287         * modules/stat-tests: New test.
45288         * tests/test-stat.c: Likewise.
45289
45290 2009-09-19  Jim Meyering  <meyering@redhat.com>
45291
45292         syntax-check: detect unnecessary inclusion of canonicalize.h
45293         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
45294
45295 2009-09-19  Eric Blake  <ebb9@byu.net>
45296
45297         canonicalize-lgpl: adjust clients to use correct header
45298         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45299         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
45300         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
45301         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
45302         * lib/progreloc.c (includes): Likewise.
45303
45304 2009-09-19  Jim Meyering  <meyering@redhat.com>
45305
45306         test-posixtm.c: correct a comment
45307         * tests/test-posixtm.c: Correct first-line comment.
45308         Spotted by Eric Blake.
45309
45310 2009-09-16  Jim Meyering  <meyering@redhat.com>
45311
45312         posixtm-tests: make T const-correct; add a test case
45313         * tests/test-posixtm.c (T): Declare const.
45314         Add a test for -(2^31+1).
45315         Remove useless can-succeed-only-in-2002 test.
45316
45317         posixtm-tests: adjust the sole failing test
45318         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
45319         expected output matches what mktime now produces.  Cross-checked via
45320         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
45321
45322         posixtm: move #ifdef'd tests into a new module
45323         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
45324         * tests/test-posixtm.c: ... this new file.
45325         * modules/posixtm-tests: New module.
45326
45327 2009-09-19  Eric Blake  <ebb9@byu.net>
45328
45329         openat: simplify use of at-func.c
45330         * lib/at-func.c (includes): Include prerequisites here, to
45331         simplify requirements on client files.
45332         * lib/openat-priv.h: Add double-inclusion guard.
45333         * lib/faccessat.c (includes): Simplify.
45334         * lib/fchmodat.c (includes): Likewise.
45335         * lib/fchownat.c (includes): Likewise.
45336         * lib/mkdirat.c (includes): Likewise.
45337         * lib/mkfifoat.c (includes): Likewise.
45338         * lib/symlinkat.c (includes): Likewise.
45339
45340         openat: allow return of fd 0
45341         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
45342         * modules/save-cwd (Depends-on): Replace fcntl-safer with
45343         unistd-safer.
45344         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
45345         <fcntl.h>; this module does not leak fds.
45346         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
45347         must be allowed to return 0, leaving openat_safer to add the
45348         safety.
45349         (openat_permissive): Avoid writing to just-opened fd 2 if
45350         restoring the current directory fails.
45351         * lib/openat-die.c (openat_restore_fail): Add comment.
45352         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
45353         (save_cwd): Guarantee safe fd, but without use of open_safer.
45354         * tests/test-openat.c: New test.
45355         * modules/openat-tests (Files, Makefile.am): Distribute and build
45356         new file.
45357
45358         relocatable-prog-wrapper: fix build
45359         * modules/relocatable-prog-wrapper (Files): Update name of
45360         canonicalize m4 file, broken on 2009-09-17.
45361         Reported by emad hajjar <aleppos@hotmail.com>.
45362
45363 2009-09-19  Bruno Haible  <bruno@clisp.org>
45364
45365         * lib/safe-alloc.h: Use the standard header with GPL copyright.
45366         * lib/safe-alloc.c: Likewise.
45367         Reported by Ian Beckwith <ianb@erislabs.net>.
45368
45369 2009-09-18  Bruno Haible  <bruno@clisp.org>
45370
45371         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
45372         Reported by <erobles@sensacd.com.mx>.
45373
45374 2009-09-17  Eric Blake  <ebb9@byu.net>
45375
45376         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
45377         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
45378         slashes when checking if last component is missing.
45379         * tests/test-canonicalize.c (main): Test this.
45380
45381         canonicalize, canonicalize-lgpl: honor // if distinct from /
45382         * modules/canonicalize (Files): Add double-slash-root.m4.
45383         * modules/canonicalize-lgpl (Files): Likewise.
45384         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45385         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
45386         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
45387         fallback definition.
45388         (canonicalize_filename_mode): Use it to protect //.
45389         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
45390         (__realpath): Likewise.
45391         * tests/test-canonicalize.c (main): Test this.
45392         * tests/test-canonicalize-lgpl.c (main): Likewise.
45393         * modules/canonicalize-tests (Depends-on): Add same-inode.
45394         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
45395
45396         canonicalize-lgpl: fix glibc bug with trailing slash
45397         * m4/canonicalize-lgpl.m4: Move contents...
45398         * m4/canonicalize.m4: ...here.
45399         (gl_CANONICALIZE_LGPL): Factor realpath check...
45400         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
45401         glibc 2.3.5 bug, fixed 2005-04-27.
45402         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
45403         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
45404         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
45405         * modules/canonicalize-lgpl (Files): Manage file rename.
45406         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45407         * modules/stdlib (Makefile.am): Substitute witness.
45408         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
45409         is needed.
45410         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
45411         replacement is required.
45412         * lib/canonicalize.c (canonicalize_file_name): Likewise.
45413         * doc/glibc-functions/canonicalize_file_name.texi
45414         (canonicalize_file_name): Document this.
45415         * doc/posix-functions/realpath.texi (realpath): Likewise.
45416
45417         canonicalize-lgpl: reject non-directory with trailing slash
45418         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
45419         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
45420         catches failures in glibc 2.3.5.
45421         * tests/test-canonicalize.c (main): Likewise.
45422
45423         canonicalize-lgpl: use native realpath if it works
45424         * lib/canonicalize-lgpl.c (realpath): Guard with
45425         FUNC_REALPATH_WORKS.
45426         * lib/stdlib.in.h (realpath): Make declaration optional based on
45427         HAVE_REALPATH.
45428         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
45429         native realpath works.
45430         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45431         * modules/stdlib (Makefile.am): Substitute witness.
45432
45433         canonicalize, canonicalize-lgpl: use <stdlib.h>
45434         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
45435         (Include): Mention <stdlib.h>.
45436         (configure.ac): Mention functions we provide.
45437         * modules/canonicalize (configure.ac): Likewise.
45438         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
45439         realpath if canonicalize_file_name is missing.
45440         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
45441         * modules/stdlib (Makefile.am): Substitute witnesses.
45442         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
45443         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
45444         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
45445         * NEWS: Document this.
45446         * doc/glibc-functions/canonicalize_file_name.texi
45447         (canonicalize_file_name): Likewise.
45448         * doc/posix-functions/realpath.texi (realpath): Likewise.
45449         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
45450
45451         test-canonicalize: consolidate into single C program
45452         * tests/test-canonicalize.sh: Delete; move setup into...
45453         * tests/test-canonicalize.c (main): ...the program, making it
45454         easier to run in debugger.  Add some tests.
45455         * modules/canonicalize-tests (Files): Remove unused file.
45456         (Depends-on): Add progname.
45457         (configure.ac, Makefile.am): Simplify.
45458
45459         test-canonicalize-lgpl: consolidate into single C program
45460         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
45461         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
45462         easier to run in debugger.  Add some tests.
45463         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
45464         (configure.ac, Makefile.am): Simplify.
45465
45466         canonicalize: avoid resolvepath
45467         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
45468         unnecessary checks.
45469         * lib/canonicalize.c (includes): Simplify.
45470         (canonicalize_file_name): Drop resolvepath implementation.
45471         * modules/canonicalize (Depends-on): Drop filenamecat.
45472
45473         canonicalize: don't lose errno
45474         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
45475         over calls to free.
45476
45477         canonicalize: simplify errno handling
45478         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
45479         assignment.
45480
45481         canonicalize, canonicalize-lgpl: update module dependencies
45482         * modules/canonicalize (Depends-on): Add extensions, lstat,
45483         pathmax, stdlib.
45484         (Files): Drop pathmax.h.
45485         (configure.ac): Adjust macro name.
45486         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
45487         lstat, stdlib, sys_stat.
45488         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
45489         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
45490         extensions.
45491         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
45492         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
45493         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
45494         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
45495         declaration, if available.
45496         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
45497         we can rely on the readlink module.
45498         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
45499         (includes): Use <unistd.h> unconditionally.
45500
45501 2009-09-17  Eric Blake  <ebb9@byu.net>
45502
45503         maint: make Include sections of modules consistent
45504         * modules/alloca: Use only header name; no need to list #include.
45505         * modules/alloca-opt: Likewise.
45506         * modules/arpa_inet: Likewise.
45507         * modules/canon-host: Likewise.
45508         * modules/configmake: Likewise.
45509         * modules/dirent: Likewise.
45510         * modules/eealloc: Likewise.
45511         * modules/environ: Likewise.
45512         * modules/fchdir: Likewise.
45513         * modules/fcntl: Likewise.
45514         * modules/fcntl-h: Likewise.
45515         * modules/gethrxtime: Likewise.
45516         * modules/gettime: Likewise.
45517         * modules/ignore-value: Likewise.
45518         * modules/inet_ntop: Likewise.
45519         * modules/inet_pton: Likewise.
45520         * modules/inttypes: Likewise.
45521         * modules/isnand-nolibm: Likewise.
45522         * modules/isnanf-nolibm: Likewise.
45523         * modules/mbchar: Likewise.
45524         * modules/mbfile: Likewise.
45525         * modules/mbiter: Likewise.
45526         * modules/mbuiter: Likewise.
45527         * modules/netdb: Likewise.
45528         * modules/netinet_in: Likewise.
45529         * modules/nproc: Likewise.
45530         * modules/pagealign_alloc: Likewise.
45531         * modules/poll: Likewise.
45532         * modules/printf-frexp: Likewise.
45533         * modules/pthread: Likewise.
45534         * modules/putenv: Likewise.
45535         * modules/random_r: Likewise.
45536         * modules/relocatable-prog: Likewise.
45537         * modules/search: Likewise.
45538         * modules/select: Likewise.
45539         * modules/selinux-h: Likewise.
45540         * modules/settime: Likewise.
45541         * modules/signal: Likewise.
45542         * modules/size_max: Likewise.
45543         * modules/socklen: Likewise.
45544         * modules/ssize_t: Likewise.
45545         * modules/stdarg: Likewise.
45546         * modules/stdbool: Likewise.
45547         * modules/stddef: Likewise.
45548         * modules/stdint: Likewise.
45549         * modules/stdio: Likewise.
45550         * modules/stdlib: Likewise.
45551         * modules/string: Likewise.
45552         * modules/strings: Likewise.
45553         * modules/sys_file: Likewise.
45554         * modules/sys_ioctl: Likewise.
45555         * modules/sys_select: Likewise.
45556         * modules/sys_socket: Likewise.
45557         * modules/sys_stat: Likewise.
45558         * modules/sys_time: Likewise.
45559         * modules/sys_times: Likewise.
45560         * modules/sys_utsname: Likewise.
45561         * modules/sys_wait: Likewise.
45562         * modules/sysexits: Likewise.
45563         * modules/time: Likewise.
45564         * modules/times: Likewise.
45565         * modules/tmpfile: Likewise.
45566         * modules/trim: Likewise.
45567         * modules/unistd: Likewise.
45568         * modules/wchar: Likewise.
45569         * modules/wctype: Likewise.
45570
45571 2009-09-17  Bruno Haible  <bruno@clisp.org>
45572
45573         Make getdate.y compile on QNX and NetBSD 5 / i386.
45574         * m4/getdate.m4 (gl_GETDATE): Conditionally define
45575         TIME_T_FITS_IN_LONG_INT.
45576         * lib/getdate.y (long_time_t): New type.
45577         (relative_time): Change type of 'seconds' field to long_time_t.
45578         (get_date): Update types of local variables. Check against overflow
45579         during conversion from long_time_t to time_t.
45580         Reported by Matt Kraai <kraai@ftbfs.org>
45581         and Hasso Tepper <hasso@netbsd.org>.
45582
45583 2009-09-17  Bruno Haible  <bruno@clisp.org>
45584
45585         * modules/COPYING: Update copyright years.
45586         * modules/README: Likeiwse.
45587         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
45588         Reported by Ian Beckwith <ianb@erislabs.net>.
45589
45590 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45591
45592         * users.txt: Update references for gnuit package.
45593
45594 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45595
45596         * m4/getdelim.m4: Fix typo in copyright line.
45597
45598 2009-09-17  Bruno Haible  <bruno@clisp.org>
45599
45600         * lib/atoll.c: Use the standard header with GPL copyright.
45601         * lib/argz.in.h: Likewise.
45602         * lib/glob.c: Likewise.
45603         * lib/glob-libc.h: Likewise.
45604         * lib/random_r.c: Likewise.
45605         * lib/siglist.h: Likewise.
45606         * lib/strsignal.c: Likewise.
45607         Reported by Ian Beckwith <ianb@erislabs.net>.
45608
45609 2009-09-17  Eric Blake  <ebb9@byu.net>
45610
45611         rmdir: ensure correct dependency order
45612         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
45613
45614 2009-09-17  Bruno Haible  <bruno@clisp.org>
45615
45616         Disable assertion that fails on NetBSD 5 / i386.
45617         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
45618         Reported by Sam Steingold <sds@gnu.org>
45619         and Hasso Tepper <hasso@netbsd.org>.
45620
45621 2009-09-16  Eric Blake  <ebb9@byu.net>
45622
45623         unlinkdir: port to mingw
45624         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
45625         on which no one can unlink a directory.
45626
45627         stdlib: sort witness names
45628         * modules/stdlib (Makefile.am): Sort replacements.
45629         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
45630         * lib/stdlib.in.h: Likewise.
45631
45632         parse-duration-tests: avoid link failure
45633         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
45634         LIBINTL.
45635         Reported by Tom G. Christensen.
45636
45637         openat-tests: ensure unlinkat behaves like rmdir
45638         * tests/test-rmdir.c (main): Factor guts...
45639         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
45640         * modules/rmdir-tests (Files): Ship new file.
45641         * modules/openat-tests: New test.
45642         * tests/test-unlinkat.c: Likewise.
45643
45644         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
45645         * modules/rmdir-errno (Status, Notice): Now obsolete.
45646
45647         rmdir: work around cygwin 1.5.x and mingw bugs
45648         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
45649         * lib/rmdir.c (rmdir): Work around it.
45650         * modules/rmdir (Status, Notice): No longer obsolete.
45651         (Files): Add dos.m4.
45652         (Depends-on): Add unistd.
45653         (configure.ac): Set witnesses.
45654         (License): Relax to LGPLv2+.
45655         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
45656         * modules/unistd (Makefile.am): Substitute witnesses.
45657         * lib/unistd.in.h (rmdir): Declare replacement.
45658         * doc/posix-functions/rmdir.texi (rmdir): Document this.
45659         * modules/rmdir-tests: New tests.
45660         * tests/test-rmdir.c: Likewise.
45661
45662 2009-09-15  Eric Blake  <ebb9@byu.net>
45663
45664         fchdir: improve use of replacement functions
45665         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
45666         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
45667         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
45668         REPLACE_CLOSEDIR.
45669         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
45670         * modules/sys_stat (Makefile.am): Substitute correct witness.
45671         * modules/dirent (Makefile.am): Likewise.
45672         * modules/unistd (Makefile.am): Likewise.
45673         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
45674         * lib/unistd.in.h (dup): Likewise.
45675         * lib/sys_stat.in.h (fstat): Likewise.
45676
45677         maint: ignore gnulib-tool temp files
45678         * .gitignore: Ignore files created during gnulib-tool --test.
45679
45680 2009-09-13  Jim Meyering  <meyering@redhat.com>
45681
45682         posixtm: don't reject a time that specify "60" as the number of seconds
45683         * lib/posixtm.c (posixtime): The code to reject invalid dates
45684         would also reject a time specified with the .60 suffix.
45685         But POSIX allows that, in order to accommodate leap seconds.
45686         So don't reject it.
45687         (main): Adjust tests accordingly.
45688         * modules/posixtm (Depends-on): Add stpcpy.
45689
45690 2009-09-11  Jim Meyering  <meyering@redhat.com>
45691
45692         announce-gen: include [$release_type] in emitted Subject:
45693         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
45694         e.g., [stable] in the emitted Subject: line.
45695
45696 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45697
45698         Remove obsolete macros from several modules.
45699         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
45700         obsolete Autoconf macros with their modern counterparts.
45701         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
45702         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
45703         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
45704         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
45705         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
45706         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45707         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45708         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45709         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
45710         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
45711         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
45712         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
45713         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
45714         * m4/sockets.m4 (gl_SOCKETS): Likewise.
45715         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
45716         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
45717         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
45718         * m4/time_r.m4 (gl_TIME_R): Likewise.
45719         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
45720         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
45721         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
45722
45723         Fix copyright header in build-aux scripts.
45724         * build-aux/git-version-gen: Fix copyright header to match GPLv3
45725         recommendation.
45726         * build-aux/ncftpput-ftp: Likewise.
45727         * build-aux/update-copyright: Likewise.
45728
45729 2009-09-09  Eric Blake  <ebb9@byu.net>
45730
45731         test-link: allow Linux choice of errno
45732         * tests/test-link.c (main): Relax test for alternate error.
45733
45734         strndup: fix improper m4 caching
45735         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
45736         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
45737         (gl_PREREQ_STRNDUP): Delete.
45738         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
45739         * modules/string (Makefile.am): Substitute it.
45740         * lib/string.in.h (strndup): Modernize prototype.
45741
45742         getcwd: port to mingw
45743         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
45744         different from the POSIX assumptions made throughout the getcwd
45745         module; fortunately, the mingw getcwd does not need replacement.
45746         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
45747         * modules/getcwd-tests: New test.
45748         * tests/test-getcwd.c: Likewise.
45749
45750         link: fix platform bugs
45751         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
45752         * lib/link.c (link): Work around them.  Fix related mingw bug.
45753         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
45754         * modules/unistd (Makefile.am): Substitute it.
45755         * lib/unistd.in.h (link): Declare replacement.
45756         * doc/posix-functions/link.texi (link): Document this.
45757         * modules/link (Depends-on): Add strdup-posix, sys_stat.
45758
45759         test-link: consolidate into single C program, test more cases
45760         * tests/test-link.sh: Delete.
45761         * tests/test-link.c: Test more error conditions.  Exposes bugs on
45762         at least Cygwin and Solaris.
45763         * modules/link-tests (Files): Remove unused file.
45764         (Depends-on): Add errno, sys_stat.
45765         (Makefile.am): Simplify.
45766
45767 2009-09-08  Bruno Haible  <bruno@clisp.org>
45768
45769         Work around towlower, towupper bug on mingw.
45770         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
45771         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
45772         * doc/posix-functions/towlower.texi: Mention the mingw bug.
45773         * doc/posix-functions/towupper.texi: Likewise.
45774         Reported by Eric Blake.
45775
45776 2009-09-08  Jim Meyering  <meyering@redhat.com>
45777
45778         build: don't try to run autoheader if we don't use it
45779         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
45780         is not used in configure.ac.
45781
45782 2009-09-08  Eric Blake  <ebb9@byu.net>
45783
45784         euidaccess: fix compilation error
45785         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
45786
45787         rawmemchr: relax license
45788         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
45789         okay.
45790         Reported by Jim Meyering.
45791
45792         mkfifoat: new module
45793         * modules/mkfifoat: New file.
45794         * lib/mkfifoat.c: Likewise.
45795         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
45796         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45797         * modules/sys_stat (Makefile.am): Use them.
45798         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
45799         * MODULES.html.sh (File system functions): Mention module.
45800         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
45801         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
45802         * modules/mkfifoat-tests: New test.
45803         * tests/test-mkfifoat.c: Likewise.
45804
45805         strchrnul: relax license
45806         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
45807         okay.
45808         Reported by Jim Meyering.
45809
45810 2009-09-08  Eric Blake  <ebb9@byu.net>
45811
45812         fstatat: fix compilation on Solaris
45813         * lib/fstatat.c (includes): Add fcntl.h.
45814         Reported by Pádraig Brady.
45815
45816 2009-09-07  Eric Blake  <ebb9@byu.net>
45817
45818         rename: modernize replacement
45819         * modules/rename (Depends-on): Add stdio.
45820         (configure.ac): Declare witness.
45821         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
45822         stdio take care of replacement.
45823         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45824         * modules/stdio (Makefile.am): Substitute them.
45825         * lib/stdio.in.h (rename): Declare replacement.
45826         * lib/rename.c (includes): Allow cross-compilation to non-windows
45827         machines.
45828         * doc/posix-functions/rename.texi (rename): Improve
45829         documentation.
45830
45831         stdio: sort witness names
45832         * modules/stdio (Makefile.am): Sort replacements.
45833         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45834         * lib/stdio.in.h: Likewise.
45835
45836         getcwd: minor cleanups
45837         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
45838         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
45839
45840         openat: provide more convenience names
45841         * modules/faccessat (configure.ac): Add C witness.
45842         * lib/unistd.in.h (readlinkat): Fix typo.
45843         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
45844         convenience wrappers.
45845         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
45846         wrappers in syntax checks.
45847
45848 2009-09-06  Eric Blake  <ebb9@byu.net>
45849
45850         doc: fix comments in recent patches
45851         * lib/faccessat.c: Mention correct function.
45852         * lib/fchmodat.c: Likewise.
45853         * lib/fchownat.c: Likewise.
45854         * lib/symlinkat.c: Likewise.
45855         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
45856         constants.
45857
45858         faccessat, symlinkat: continue cleanup of previous patch
45859         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
45860         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45861         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
45862         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
45863         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
45864         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
45865         set.
45866
45867 2009-09-06  Bruno Haible  <bruno@clisp.org>
45868
45869         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
45870         (fstatat): Declare if GNULIB_FSTATAT is set.
45871         (mkdirat): Declare if GNULIB_MKDIRAT is set.
45872         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
45873         (unlinkat): Declare if GNULIB_UNLINKAT is set.
45874         * modules/fcntl-h (Files): Remove m4/openat.m4.
45875         * modules/sys_stat (Files): Remove m4/openat.m4.
45876         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
45877         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
45878         * modules/unistd (Files): Remove m4/openat.m4.
45879         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
45880         GNULIB_OPENAT.
45881         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
45882         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
45883         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
45884         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
45885         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
45886         gl_OPENAT_DEFAULTS.
45887         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
45888         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
45889         Don't require gl_OPENAT_DEFAULTS.
45890         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
45891         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
45892         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
45893         (gl_OPENAT_DEFAULTS): Remove macro.
45894
45895 2009-09-06  Bruno Haible  <bruno@clisp.org>
45896
45897         * modules/openat (configure.ac): Remove unneeded witness.
45898
45899 2009-09-06  Bruno Haible  <bruno@clisp.org>
45900
45901         Set errno to ENOSYS when a function is entirely unsupported.
45902         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
45903         EOPNOTSUPP.
45904         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45905         * modules/chown (Depends-on): Remove errno.
45906
45907 2009-09-06  Bruno Haible  <bruno@clisp.org>
45908
45909         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
45910
45911 2009-09-06  Bruno Haible  <bruno@clisp.org>
45912
45913         * lib/sys_stat.in.h: Fix preprocessor command indentation.
45914
45915 2009-09-06  Ben Pfaff  <blp@gnu.org>
45916             Bruno Haible  <bruno@clisp.org>
45917
45918         Work around a glibc bug in strtok_r.
45919         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
45920         Undefine if UNDEFINE_STRTOK_R is set.
45921         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
45922         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45923         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
45924         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
45925         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
45926         UNDEFINE_STRTOK_R.
45927         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
45928
45929 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
45930
45931         exclude: minor fix
45932         * lib/exclude.c: Include wctype.h
45933
45934 2009-09-06  Akim Demaille  <demaille@gostai.com>
45935
45936         bootstrap: improve error message
45937         * build-aux/bootstrap (find_tool): Upon failure, report the list
45938         of candidates.
45939         Honor the initial value of the envvar.
45940
45941 2009-09-05  Eric Blake  <ebb9@byu.net>
45942
45943         symlinkat: new module
45944         * modules/symlinkat: New file.
45945         * lib/symlinkat.c: Likewise.
45946         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
45947         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45948         * modules/unistd (Makefile.am): Use them.
45949         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
45950         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
45951         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
45952         * MODULES.html.sh (File system functions): Mention module.
45953         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
45954         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45955         * modules/symlinkat-tests: New test.
45956         * tests/test-symlinkat.c: Likewise.
45957
45958         test-openat-safer: add more checks
45959         * tests/test-openat-safer.c (main): Check more code paths.
45960
45961 2009-09-05  Jim Meyering  <meyering@redhat.com>
45962
45963         syntax-check: detect unnecessary inclusion of openat.h
45964         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
45965
45966 2009-09-05  Bruno Haible  <bruno@clisp.org>
45967
45968         Support towlower, towupper.
45969         * doc/posix-functions/towlower.texi: Mention module wctype.
45970         * doc/posix-functions/towupper.texi: Likewise.
45971         * lib/wctype.in.h (towlower, towupper): New functions.
45972         * tests/test-wctype.c: Include stdio.h, stdlib.h.
45973         (ASSERT): New macro.
45974         (e): New variable.
45975         (main): Test also towlower, towupper. Test WEOF argument.
45976         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45977
45978 2009-09-05  Bruno Haible  <bruno@clisp.org>
45979
45980         Fix conversion behaviour when the input is invalid.
45981         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
45982         mark occurring in first pass of indirect conversion.
45983         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
45984         input.
45985         Found by clang's static analyzer.
45986
45987 2009-09-05  Bruno Haible  <bruno@clisp.org>
45988
45989         * tests/test-striconveh.c (main): Test indirect conversion on platforms
45990         where direct conversion is possible.
45991
45992 2009-09-04  Eric Blake  <ebb9@byu.net>
45993
45994         openat: fail with ENOENT on empty name
45995         * lib/openat-proc.c (openat_proc_name): Special-case the empty
45996         buffer.
45997
45998         link-follow: fix logic bug in prior patch
45999         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
46000         reversed sense of yes and no in prior patch.  Avoid confusing
46001         compilation failure with desired semantics.
46002
46003         link-follow: accommodate mingw and cross-compilation
46004         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
46005         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
46006         cross-compilation results to -1, to make linkat easier to
46007         implement when cross-compiling.  Trivially support mingw.
46008         * modules/link-follow (configure.ac): Call new name.
46009         * NEWS: Mention this.
46010
46011 2009-09-03  Eric Blake  <ebb9@byu.net>
46012
46013         faccessat: compile replacement
46014         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
46015         needed.
46016
46017         fts: fix compilation error
46018         * lib/fts.c (includes): Re-add "openat.h", for
46019         openat_needs_fchdir.
46020
46021         faccessat: new module
46022         * modules/faccessat: New file.
46023         * lib/faccessat.c: Likewise.
46024         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
46025         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
46026         * modules/unistd (Makefile.am): Use it.
46027         * lib/unistd.in.h (faccessat): Declare it.
46028         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
46029         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
46030         * MODULES.html.sh (File system functions): Mention it.
46031         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
46032         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
46033
46034         euidaccess: prefer POSIX over non-standard implementation
46035         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
46036         * lib/euidaccess.c (euidaccess): Use it if available.
46037
46038         openat: make template easier to use
46039         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
46040         AT_FUNC_F2 to be undefined.
46041         (VALIDATE_FLAG): New macro; use it to reject bad flags.
46042         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
46043         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
46044         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
46045         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
46046         Likewise.
46047         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
46048         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
46049         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
46050         Likewise.
46051
46052         openat: declare in POSIX headers
46053         * NEWS: Mention this.
46054         * modules/openat (configure.ac): Declare witnesses.
46055         (Depends-on): Add fcntl-h, sys_stat, unistd.
46056         (Include): Mention correct headers.
46057         * modules/fcntl-h (Depends-on): Add link-warning.
46058         (Files): Add openat.m4.
46059         (Makefile.am): Substitute witnesses.
46060         * modules/sys_stat (Files, Makefile.am): Likewise.
46061         * modules/unistd (Files, Makefile.am): Likewise.
46062         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
46063         (gl_OPENAT_DEFAULTS): New macro.
46064         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
46065         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
46066         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
46067         (SYS_STAT_H): Remove unused variable.
46068         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
46069         * lib/fcntl--.h (includes): Remove unneeded header.
46070         * lib/openat-safer.c (includes): Likewise.
46071         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
46072         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
46073         appropriate headers.
46074         (__OPENAT_PREFIX): Delete.
46075         * lib/fcntl.in.h (openat): Provide declaration.
46076         (AT_FDCWD): Fix Solaris bug.
46077         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
46078         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
46079         * lib/fchmodat.c (includes):  Adjust to find declaration.
46080         * lib/fchownat.c (includes): Likewise.
46081         * lib/mkdirat.c (includes): Likewise.
46082         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
46083         still visible.
46084
46085 2009-09-02  Eric Blake  <ebb9@byu.net>
46086
46087         errno: use consistently
46088         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
46089         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
46090         * lib/canonicalize.c (ELOOP): Likewise.
46091         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
46092         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
46093         * lib/lchown.c (EOPNOTSUPP): Likewise.
46094         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
46095         * lib/savewd.c (ESTALE): Likewise.
46096         * lib/settime.c (ENOSYS): Likewise.
46097         * lib/utimens.c (ENOSYS): Likewise.
46098         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
46099         * lib/chdir-safer.c (ELOOP): Likewise.
46100         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
46101         * modules/c-stack (Depends-on): Add errno.
46102         * modules/canonicalize (Depends-on): Likewise.
46103         * modules/chdir-safer (Depends-on): Likewise.
46104         * modules/fdopendir (Depends-on): Likewise.
46105         * modules/inet_ntop (Depends-on): Likewise.
46106         * modules/inet_pton (Depends-on): Likewise.
46107         * modules/lchown (Depends-on): Likewise.
46108         * modules/openat (Depends-on): Likewise.
46109         * modules/savewd (Depends-on): Likewise.
46110         * modules/settime (Depends-on): Likewise.
46111         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
46112
46113         fts: avoid leaking fds
46114         * modules/fts (Depends-on): Add cloexec.
46115         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
46116         flag.
46117
46118         fts: make directory fds more robust
46119         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
46120         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
46121
46122         backupfile, chdir-long, fts, savedir: make safer
46123         * lib/backupfile.c (includes): Use "dirent--.h", since
46124         numbered_backup can write to stderr during readdir.
46125         * lib/savedir.c (includes): Likewise.
46126         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
46127         emulation can write to stderr on failure.
46128         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
46129         * lib/getcwd.c: Document why opendir_safer is unused.
46130         * lib/glob.c: Likewise.
46131         * lib/scandir.c: Likewise.
46132         * lib/openat-proc.c: Likewise, for open_safer.
46133         * modules/backupfile (Depends-on): Add dirent-safer.
46134         * modules/savedir (Depends-on): Likewise.
46135         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
46136         * modules/chdir-long (Depends-on): Add openat-safer.
46137
46138         openat-safer: new module
46139         * modules/openat-safer: New file.
46140         * lib/openat-safer.c: Likewise.
46141         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
46142         * lib/fcntl-safer.h (openat_safer): Declare.
46143         * lib/fcntl--.h (openat): Override.
46144         * MODULES.html.sh (File descriptor based I/O): Mention it.
46145         * lib/openat.h: Add double-inclusion guards.
46146         * lib/openat.c (includes): Only include "fcntl-safer.h", not
46147         "fcntl--.h", so we can implement openat.
46148         * modules/openat-safer-tests: New test.
46149         * tests/test-openat-safer.c: New file.
46150
46151         dirent-safer: new module
46152         * modules/dirent-safer: New file.
46153         * lib/dirent--.h: Likewise.
46154         * lib/dirent-safer.h: Likewise.
46155         * lib/opendir-safer.c: Likewise.
46156         * m4/dirent-safer.m4: Likewise.
46157         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
46158         * modules/dirent-safer-tests: New test.
46159         * tests/test-dirent-safer.c: New file.
46160         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
46161
46162         fdopendir: optimize on mingw
46163         * lib/unistd.in.h (_gl_directory_name): New prototype.
46164         * lib/fchdir.c (_gl_directory_name): Implement it.
46165         (fchdir): Use it to simplify implementation.
46166         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
46167         fchdir, when available, to avoid calling [f]chdir().
46168
46169         fdopendir: split into its own module
46170         * lib/openat.c (fdopendir): Move...
46171         * lib/fdopendir.c: ...into new file.
46172         * modules/fdopendir: New module.
46173         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
46174         * modules/openat (Depends-on): Add fdopendir.
46175         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
46176         fdopendir here.
46177         * modules/savedir (Depends-on): Only need fdopendir, not full
46178         openat.
46179         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
46180         * lib/openat.h (fdopendir): Drop prototype.
46181         * lib/dirent.in.h (fdopendir): Provide prototype.
46182         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
46183         * modules/dirent (Makefile.am): Substitute them.
46184         * MODULES.html.sh (File system functions): Mention it.
46185         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
46186         * modules/fdopendir-tests: New file.
46187         * tests/test-fdopendir.c: Likewise.
46188
46189         fchdir: use more consistent macro convention
46190         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
46191         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
46192         REPLACE_FCHDIR, rather than relying on config.h macros.
46193         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
46194         inside a single make-time REPLACE_FCHDIR block, rather than using
46195         the config.h FCHDIR_REPLACEMENT.
46196         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
46197         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
46198         Manage fstat replacement.
46199         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
46200         REPLACE_FCHDIR.
46201         * modules/sys_stat (Files): Add m4/unistd_h.m4.
46202         (Makefile.am): Substitute REPLACE_FCHDIR.
46203         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
46204         FCHDIR_REPLACEMENT.
46205         * lib/dup-safer.c (dup_safer): Likewise.
46206         * lib/dup2.c (rpl_dup2): Likewise.
46207         * lib/dup3.c (rpl_dup3): Likewise.
46208         * lib/open.c (rpl_open): Likewise.
46209
46210         fchdir: simplify error handling, and support dup3
46211         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
46212         stdbool, malloc-posix, realloc-posix.
46213         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
46214         (ensure_dirs_slot): Return false on allocation failure.
46215         (rpl_dup2): Delete.
46216         (_gl_register_dup): New function.
46217         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
46218         (_gl_register_fd): Close fd on allocation failure.
46219         * lib/fcntl.in.h (_gl_register_fd): Update signature.
46220         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
46221         prototype.
46222         (rpl_dup2_fchdir): Delete prototype.
46223         * lib/open.c (open): Update caller.
46224         * lib/dup2.c (dup2): Track fchdir metadata.
46225         * lib/dup3.c (dup3): Likewise.
46226         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
46227         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
46228
46229 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46230
46231         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
46232         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
46233         don't pass arguments to AC_OUTPUT.
46234
46235 2009-09-02  Bruno Haible  <bruno@clisp.org>
46236
46237         * modules/mkdtemp (License): Relicense under LGPLv2+.
46238         Reported by Paolo Bonzini.
46239
46240 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46241
46242         Replace uses of obsolete autoconf macros in Jim's modules.
46243         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
46244         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
46245         can evoke a warning from autoconf when run with -Wobsolete
46246         enabled.  They were declared obsolete for good reasons (see
46247         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
46248         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
46249         should not continue using the deprecated macros.
46250         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
46251         obsolete Autoconf macros with modern counterparts.
46252         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46253         * m4/dos.m4 (gl_AC_DOS): Likewise.
46254         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
46255         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
46256         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
46257         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
46258         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
46259         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
46260         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
46261         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
46262         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
46263         Likewise.
46264         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
46265         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
46266         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
46267         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
46268         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
46269         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
46270
46271 2009-09-01  Eric Blake  <ebb9@byu.net>
46272
46273         fchdir: fix off-by-one bug in previous patch
46274         * lib/fchdir.c (rpl_fstat): Use correct bounds.
46275         (_gl_unregister_fd): Delete useless if.
46276
46277 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
46278
46279         maint.mk: sort the list of syntax-check rules
46280         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
46281         easier to get a sense of progress when the rules are run sequentially
46282         and take a long time.
46283
46284 2009-09-01  Simon Josefsson  <simon@josefsson.org>
46285
46286         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
46287         * modules/netinet_in: Likewise.
46288         * modules/sys_file: Likewise.
46289         * modules/sys_ioctl: Likewise.
46290         * modules/sys_select: Likewise.
46291         * modules/sys_socket: Likewise.
46292         * modules/sys_stat: Likewise.
46293         * modules/sys_time: Likewise.
46294         * modules/sys_times: Likewise.
46295         * modules/sys_utsname: Likewise.
46296         * modules/sys_wait: Likewise.
46297
46298 2009-09-01  Jim Meyering  <meyering@redhat.com>
46299
46300         fts: help ensure that return values are not ignored
46301         * lib/fts_.h (__GNUC_PREREQ): Define.
46302         (__attribute_warn_unused_result__): Define.
46303         (fts_children, fts_close, fts_open, fts_read): Declare with
46304         __attribute_warn_unused_result__.
46305
46306         fts: fts_close now fails also when closing a dir file descriptor fails
46307         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
46308         and propagate to caller, along with errno.
46309
46310         announce-gen: correct formatting in --help output
46311         * build-aux/announce-gen (usage): Move the one-line description in
46312         --help output "up", to where it belongs, just after Usage:.
46313
46314 2009-08-31  Eric Blake  <ebb9@byu.net>
46315
46316         fchdir: port to mingw
46317         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
46318         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
46319         opened, then use a substitute.
46320         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
46321         replacement.
46322         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
46323         (_gl_register_fd): No need to check stat if open already filters
46324         all directories.
46325         (fchdir): Fix error condition to match POSIX.
46326         * modules/fchdir (Depends-on): Add sys_stat.
46327         * doc/posix-functions/open.texi (open): Document the limitation.
46328         * modules/fchdir-tests: New file.
46329         * tests/test-fchdir.c: Likewise.
46330
46331         canonicalize: allow cross-testing from cygwin to mingw
46332         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
46333         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
46334         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
46335         Likewise.
46336         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
46337         target does not support symlinks.
46338         * tests/test-canonicalize-lgpl.sh: Likewise.
46339
46340         chown: avoid compilation warning on mingw
46341         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
46342         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
46343         mingw.
46344         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
46345         * modules/chown (Depends-on): Add errno.
46346
46347 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
46348
46349         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
46350         command.
46351
46352 2009-08-31  Jim Meyering  <meyering@redhat.com>
46353
46354         canonicalize: remove useless initialization
46355         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
46356         initialization of local, "end".
46357
46358 2009-08-30  Bruno Haible  <bruno@clisp.org>
46359
46360         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
46361         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
46362         ENOSYS.
46363
46364 2009-08-30  Bruno Haible  <bruno@clisp.org>
46365
46366         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
46367         /usr/xpg4/bin/tr when it exists.
46368         * tests/test-pipe-filter-gi1.sh: Likewise.
46369
46370 2009-08-30  Bruno Haible  <bruno@clisp.org>
46371
46372         Work around deficient /usr/bin/id program on Solaris.
46373         * tests/test-file-has-acl.sh (ID): New variable.
46374         * tests/test-set-mode-acl.sh (ID): Likewise.
46375         * tests/test-copy-acl.sh (ID): Likewise.
46376         * tests/test-copy-file.sh (ID): Likewise.
46377
46378 2009-08-30  Bruno Haible  <bruno@clisp.org>
46379
46380         New module 'xstriconveh'.
46381         * lib/xstriconveh.h: New file.
46382         * lib/xstriconveh.c: New file.
46383         * modules/xstriconveh: New file.
46384
46385 2009-08-30  Bruno Haible  <bruno@clisp.org>
46386
46387         Make it easier to use mem_cd_iconveh.
46388         * lib/striconveh.h (iconveh_t): New type.
46389         (iconveh_open, iconveh_close): New declarations.
46390         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46391         with a single 'const iconveh_t *' argument.
46392         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
46393         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46394         with a single 'const iconveh_t *' argument.
46395         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
46396         * tests/test-striconveh.c (main): Update.
46397         * NEWS: Mention the change.
46398
46399 2009-08-30  Bruno Haible  <bruno@clisp.org>
46400
46401         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
46402         problem.
46403
46404 2009-08-30  Bruno Haible  <bruno@clisp.org>
46405
46406         Work around iconv_open problem on Solaris.
46407         * lib/iconv_open-solaris.gperf: New file.
46408         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
46409         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
46410         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
46411         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
46412         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
46413         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
46414
46415 2009-08-29  Jim Meyering  <meyering@redhat.com>
46416
46417         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
46418         * top/maint.mk (cvs-check): Remove target; it was just an alias
46419         to the better-named vc-diff-check.
46420         (maintainer-distcheck): Remove rule.  It was used only from
46421         the (alpha/beta/major) target, and all of its commands but one
46422         were coreutils-specific.
46423         (vc-dist): Remove rule.
46424         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
46425         Run vc-diff-check, not vc-dist.
46426         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
46427
46428 2009-08-27  Bruno Haible  <bruno@clisp.org>
46429
46430         * tests/test-bitrotate.c (main): Remove test that uses a shift count
46431         of 0.
46432
46433 2009-08-27  Bruno Haible  <bruno@clisp.org>
46434
46435         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
46436         compilers.
46437         * doc/func.texi: Document the SunPRO C bug.
46438
46439 2009-08-27  Bruno Haible  <bruno@clisp.org>
46440
46441         Fix link error on Solaris.
46442         * tests/test-parse-duration.c (xstrdup): Remove function.
46443
46444 2009-08-26  Pádraig Brady  <P@draigbrady.com>
46445
46446         ignore-value: handle pointer types, too
46447         * lib/ignore-value.h (__attribute__): Remove definition.
46448         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
46449         of a more concise and more-often effective "(void) i" statement.
46450         (ignore_ptr): New function to suppress warnings from functions that
46451         return pointers, and to make it explicit that one function doesn't
46452         handle all cases.
46453
46454 2009-08-25  Bruno Haible  <bruno@clisp.org>
46455
46456         dup2: work around a Linux bug.
46457         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
46458         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
46459         * doc/posix-functions/dup2.texi: Mention the Linux bug.
46460         Reported by Simon Josefsson.
46461
46462 2009-08-25  Jim Meyering  <meyering@redhat.com>
46463
46464         libguestfs uses gnulib
46465         * users.txt: Add libguestfs.
46466
46467 2009-08-24  Eric Blake  <ebb9@byu.net>
46468
46469         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
46470         * lib/pipe2.c (includes): Add binary-io.h.
46471         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
46472
46473 2009-08-24  Bruno Haible  <bruno@clisp.org>
46474
46475         Tolerate declared but missing accept4 syscall.
46476         * lib/accept4.c (accept4): Invoke original accept4 function first, if
46477         available.
46478         * lib/sys_socket.in.h (accept4): If the function is already present,
46479         override it.
46480         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
46481         * modules/accept4 (Makefile.am): Compile accept4.c always.
46482         Reported by Paolo Bonzini and Eric Blake.
46483
46484 2009-08-23  Bruno Haible  <bruno@clisp.org>
46485
46486         New module 'accept4'.
46487         * lib/sys_socket.in.h (accept4): New declaration.
46488         * lib/accept4.c: New file.
46489         * m4/accept4.m4: New file.
46490         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
46491         GNULIB_ACCEPT4, HAVE_ACCEPT4.
46492         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
46493         HAVE_ACCEPT4.
46494         * modules/accept4: New file.
46495         * doc/glibc-functions/accept4.texi: Mention the new module.
46496
46497 2009-08-24  Jim Meyering  <meyering@redhat.com>
46498
46499         progname: also set global program_invocation_name, when possible
46500         Before this change, a libtool-enabled program that calls glibc's
46501         error function would report the program name as
46502         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
46503         * modules/progname (configure.ac): Check for a declaration of
46504         program_invocation_name.
46505         * lib/progname.c:  Include <errno.h>.
46506         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
46507         Set program_invocation_name.
46508
46509 2009-08-23  Bruno Haible  <bruno@clisp.org>
46510
46511         * lib/dup3.c: Include <string.h>.
46512
46513 2009-08-23  Bruno Haible  <bruno@clisp.org>
46514
46515         * lib/dup3.c (dup3): Test only once whether the system actually exists.
46516         * lib/pipe2.c (pipe2): Likewise.
46517         Suggested by Eric Blake.
46518
46519 2009-08-23  Bruno Haible  <bruno@clisp.org>
46520
46521         Tolerate declared but missing dup3 syscall.
46522         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
46523         * lib/unistd.in.h (dup3): If the function is already present,
46524         override it.
46525         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
46526         * modules/dup3 (Makefile.am): Compile dup3.c always.
46527         Reported by Paolo Bonzini.
46528
46529 2009-08-23  Bruno Haible  <bruno@clisp.org>
46530
46531         Tolerate declared but missing pipe2 syscall.
46532         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
46533         available.
46534         * lib/unistd.in.h (pipe2): If the function is already present,
46535         override it.
46536         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
46537         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
46538         Reported by Paolo Bonzini.
46539
46540 2009-08-23  Bruno Haible  <bruno@clisp.org>
46541
46542         * lib/pipe2.c (pipe2): Move #ifs inside function.
46543
46544 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46545
46546         quotearg: document limitations of quote_these_too
46547         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
46548         those limitations are created.
46549         * lib/quotearg.h (set_char_quoting): Document that digits and
46550         letters that are special after backslash are not permitted.
46551         (quotearg_char): Cross-reference set_char_quoting documentation.
46552
46553 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
46554
46555         quotearg: implement custom_quoting_style
46556         * lib/quotearg.c: (struct quoting_options): Add left_quote and
46557         right_quote fields.
46558         (set_custom_quoting): New public function.
46559         (quotearg_buffer_restyled): Add left_quote and right_quote
46560         arguments, handle them very much like locale quoting, and update
46561         all uses.
46562         (quotearg_n_custom): New public function.
46563         (quotearg_n_custom_mem): New public function.
46564         (quotearg_custom): New public function.
46565         (quotearg_custom_mem): New public function.
46566         * lib/quotearg.h: Prototype and document new public functions.
46567         (enum quoting_style): For escape_quoting_style and
46568         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
46569         ignored even though they're otherwise like c_quoting_style.
46570         Add custom_quoting_style member and document with comparison to
46571         clocale_quoting_style.
46572         * tests/test-quotearg.c (custom_quotes): New array.
46573         (custom_results): New array.
46574         (main): Extend to test custom quoting.
46575
46576 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46577
46578         quotearg: fix right quote escaping when it's in quote_these_too
46579         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
46580         quote, be sure to prepend only one backslash.
46581         * tests/test-quotearg.c (use_quote_double_quotes): New function.
46582         (main): Test it.
46583
46584 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46585
46586         quotearg-tests: test escaping of embedded locale quotes
46587         * tests/test-quotearg.c (struct result_strings): Add member for
46588         new input.
46589         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
46590         (inputs): Add new input.
46591         (results_g): Add expected results.
46592         (flag_results): Likewise.
46593         (locale_results): Likewise.
46594         (compare_strings): Check those.
46595
46596 2009-08-23  Bruno Haible  <bruno@clisp.org>
46597
46598         Tests for module 'dup3'.
46599         * modules/dup3-tests: New file.
46600         * tests/test-dup3.c: New file.
46601
46602         New module 'dup3'.
46603         * lib/unistd.in.h (dup3): New declaration.
46604         * lib/dup3.c: New file.
46605         * m4/dup3.m4: New file.
46606         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
46607         HAVE_DUP3.
46608         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
46609         * modules/dup3: New file.
46610         * doc/glibc-functions/dup3.texi: Mention the new module.
46611
46612 2009-08-23  Bruno Haible  <bruno@clisp.org>
46613
46614         Tweak the dup2 test.
46615         * tests/test-dup2.c (main): Create the test file empty. Verify that an
46616         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
46617         the test file is still empty. Fix argument order of lseek.
46618
46619 2009-08-23  Bruno Haible  <bruno@clisp.org>
46620
46621         Avoid test link errors when the modules getopt-gnu, gettext are used.
46622         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
46623         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46624
46625 2009-08-23  Bruno Haible  <bruno@clisp.org>
46626
46627         Fix getdtablesize() on mingw.
46628         * lib/getdtablesize.c (getdtablesize): Implement differently.
46629         * lib/unistd.in.h (getdtablesize): Improve comment.
46630
46631 2009-08-23  Bruno Haible  <bruno@clisp.org>
46632
46633         New module 'mkostemp'.
46634         Based on Ulrich Drepper's 2007-08-10 change in glibc.
46635         * lib/stdlib.in.h (mksotemp): New declaration.
46636         * lib/mkostemp.c: New file, from glibc with modifications.
46637         * lib/tempname.h (GT_FILE): Remove outdated comment.
46638         (gen_tempname): Add flags argument.
46639         * lib/tempname.c (__GT_BIGFILE): Remove macro.
46640         (__GT_FILE): Map to 1.
46641         (small_open, large_open): Remove macros.
46642         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
46643         * lib/mkstemp.c (mkstemp): Update.
46644         * lib/mkdtemp.c (mkdtemp): Likewise.
46645         * m4/mkostemp.m4: New file.
46646         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
46647         HAVE_MKOSTEMP.
46648         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
46649         HAVE_MKOSTEMP.
46650         * modules/mkostemp: New file, based on modules/mkstemp.
46651         * doc/glibc-functions/mkostemp.texi: Mention the new module.
46652         * NEWS: Mention the change.
46653
46654 2009-08-23  Bruno Haible  <bruno@clisp.org>
46655
46656         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
46657         Reported by Eric Blake.
46658
46659 2009-08-23  Bruno Haible  <bruno@clisp.org>
46660
46661         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
46662         Reported by Eric Blake.
46663
46664 2009-08-23  Bruno Haible  <bruno@clisp.org>
46665
46666         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
46667         * modules/pipe2 (Depends-on): Likewise.
46668
46669 2009-08-23  Eric Blake  <ebb9@byu.net>
46670
46671         fcntl-h: add O_TTY_INIT support
46672         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
46673         * tests/test-fcntl-h.c (o): Test it.
46674         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46675
46676         fcntl-h: rename from fcntl, in preparation for fcntl(2)
46677         * modules/fcntl: Move <fcntl.h> header replacement...
46678         * modules/fcntl-h: ...to new name, so as not to collide with
46679         like-named function.
46680         * tests/test-fcntl.c: Rename...
46681         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
46682         * modules/fcntl-tests: Rename...
46683         * modules/fcntl-h-tests: ...to this.  Update test file name.
46684         * modules/chdir-long (Depends-on): Update clients.
46685         * modules/chdir-safer (Depends-on): Likewise.
46686         * modules/fcntl-safer (Depends-on): Likewise.
46687         * modules/fts (Depends-on): Likewise.
46688         * modules/mkancesdirs (Depends-on): Likewise.
46689         * modules/mkdir-p (Depends-on): Likewise.
46690         * modules/open (Depends-on): Likewise.
46691         * modules/savewd (Depends-on): Likewise.
46692         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
46693         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46694
46695 2009-08-22  Bruno Haible  <bruno@clisp.org>
46696
46697         * modules/binary-io (License): Relicense under LGPL.
46698         * modules/pipe2 (License): Likewise.
46699
46700 2009-08-22  Bruno Haible  <bruno@clisp.org>
46701
46702         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
46703         return value.
46704         * lib/pipe-filter-gi.c (filter_init): Likewise.
46705         Reported by Eric Blake.
46706
46707 2009-08-22  Bruno Haible  <bruno@clisp.org>
46708
46709         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
46710         * modules/pipe (Depends-on): Add pipe2.
46711
46712 2009-08-22  Bruno Haible  <bruno@clisp.org>
46713
46714         Tests for module 'pipe2'.
46715         * modules/pipe2-tests: New file.
46716         * tests/test-pipe2.c: New file.
46717
46718         New module 'pipe2'.
46719         * lib/unistd.in.h (pipe2): New declaration.
46720         * lib/pipe2.c: New file.
46721         * m4/pipe2.m4: New file.
46722         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
46723         HAVE_PIPE2.
46724         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
46725         * modules/pipe2: New file.
46726         * doc/glibc-functions/pipe2.texi: Mention the new module.
46727
46728 2009-08-22  Bruno Haible  <bruno@clisp.org>
46729
46730         Reference some new glibc functions.
46731         * doc/glibc-functions/accept4.texi: New file.
46732         * doc/glibc-functions/dup3.texi: New file.
46733         * doc/glibc-functions/mkostemp.texi: New file.
46734         * doc/glibc-functions/pipe2.texi: New file.
46735         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
46736         (Glibc sys/socket.h): Refer to accept4.
46737         (Glibc unistd.h): Refer to dup3, pipe2.
46738         Reported by Eric Blake.
46739
46740 2009-08-22  Jim Meyering  <meyering@redhat.com>
46741             Bruno Haible  <bruno@clisp.org>
46742
46743         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
46744         This makes it so packages using automake-1.11's silent-rules option
46745         can print e.g., a single "GEN    configmake.h" line, rather than
46746         the 30+ statements that perform the job.  If you want to see the
46747         actual commands, you can still run "make V=1".
46748         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
46749         so that make output is abbreviated when those variables are defined
46750         appropriately.
46751         * modules/argz: Likewise.
46752         * modules/arpa_inet: Likewise.
46753         * modules/byteswap: Likewise.
46754         * modules/configmake: Likewise.
46755         * modules/dirent: Likewise.
46756         * modules/errno: Likewise.
46757         * modules/fcntl: Likewise.
46758         * modules/float: Likewise.
46759         * modules/fnmatch: Likewise.
46760         * modules/getopt-posix: Likewise.
46761         * modules/glob: Likewise.
46762         * modules/iconv_open: Likewise.
46763         * modules/inttypes: Likewise.
46764         * modules/localcharset: Likewise.
46765         * modules/locale: Likewise.
46766         * modules/math: Likewise.
46767         * modules/netdb: Likewise.
46768         * modules/netinet_in: Likewise.
46769         * modules/poll: Likewise.
46770         * modules/posix_spawnp-tests: Likewise.
46771         * modules/sched: Likewise.
46772         * modules/search: Likewise.
46773         * modules/selinux-h: Likewise.
46774         * modules/signal: Likewise.
46775         * modules/spawn: Likewise.
46776         * modules/stdarg: Likewise.
46777         * modules/stdbool: Likewise.
46778         * modules/stddef: Likewise.
46779         * modules/stdint: Likewise.
46780         * modules/stdio: Likewise.
46781         * modules/stdlib: Likewise.
46782         * modules/string: Likewise.
46783         * modules/strings: Likewise.
46784         * modules/sys_file: Likewise.
46785         * modules/sys_ioctl: Likewise.
46786         * modules/sys_select: Likewise.
46787         * modules/sys_socket: Likewise.
46788         * modules/sys_stat: Likewise.
46789         * modules/sys_time: Likewise.
46790         * modules/sys_times: Likewise.
46791         * modules/sys_utsname: Likewise.
46792         * modules/sys_wait: Likewise.
46793         * modules/sysexits: Likewise.
46794         * modules/time: Likewise.
46795         * modules/unistd: Likewise.
46796         * modules/wchar: Likewise.
46797         * modules/wctype: Likewise.
46798
46799 2009-08-22  Jim Meyering  <meyering@redhat.com>
46800
46801         announce-gen: detect write failure
46802         * build-aux/announce-gen: Add Coda at end.
46803         Remove equivalent-but-more-verbose block at top.
46804
46805 2009-08-19  Akim Demaille  <demaille@gostai.com>
46806
46807         bootstrap: --help to stdout.
46808         * bootstrap (usage): Don't send --help to stderr.
46809         Use a here doc instead of a long string.
46810
46811 2009-08-21  Eric Blake  <ebb9@byu.net>
46812
46813         test-popen-safer: split from test-popen
46814         * tests/test-popen.c (main): Move...
46815         * tests/test-popen.h: ...into new file.
46816         * tests/test-popen-safer2.c: New file.
46817         * modules/popen-tests (Files): Add test-popen.h.
46818         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
46819         Suggested by Bruno Haible.
46820
46821         test-fcntl-safer: split from test-open
46822         * tests/test-open.c (main): Move...
46823         * tests/test-open.h: ...into new file.
46824         * tests/test-fcntl-safer.c: New file.
46825         * modules/open-tests (Files): Add test-open.h.
46826         * modules/fcntl-safer-tests: New file.
46827         Suggested by Bruno Haible.
46828
46829         test-fopen-safer: split from test-fopen
46830         * tests/test-fopen.c (main): Move...
46831         * tests/test-fopen.h: ...into new file.
46832         * tests/test-fopen-safer.c: New file.
46833         * modules/fopen-tests (Files): Add test-fopen.h.
46834         * modules/fopen-safer-tests: New file.
46835         Suggested by Bruno Haible.
46836
46837 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46838
46839         popen-safer: test O_CLOEXEC at run-time.
46840         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
46841
46842 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46843
46844         fcntl: move more flags to the header
46845         * lib/cloexec.c: Do not define FD_CLOEXEC here.
46846         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
46847         * lib/fcntl.in.h: Do both things here.
46848
46849 2009-08-21  Jim Meyering  <meyering@redhat.com>
46850
46851         consistently remove $@-t before redirecting to it
46852         * modules/argz: Remove $@-t and $@ before redirecting to the former.
46853         * modules/alloca-opt: Likewise.
46854         * modules/byteswap: Likewise.
46855         * modules/fnmatch: Likewise.
46856         * modules/getopt-posix: Likewise.
46857         * modules/glob: Likewise.
46858         * modules/poll: Likewise.
46859         * modules/posix_spawnp-tests: Likewise.
46860         * modules/sys_socket: Likewise.
46861         * modules/sysexits: Likewise.
46862
46863 2009-08-21  Eric Blake  <ebb9@byu.net>
46864
46865         popen: simplify access to original popen
46866         * lib/popen.c (rpl_popen): No need to worry about popen being a
46867         macro.
46868         Reported by Bruno Haible.
46869
46870 2009-08-20  Eric Blake  <ebb9@byu.net>
46871
46872         build: avoid some compiler warnings
46873         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
46874         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
46875         type.
46876         (new_exclude_segment, excluded_file_pattern_p)
46877         (excluded_file_name_p): Reduce scope.
46878         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
46879         old-style declaration.
46880
46881 2009-08-20  Simon Josefsson  <simon@josefsson.org>
46882
46883         * tests/test-exclude1.sh: Handle Windows EOL.
46884         * tests/test-exclude2.sh: Likewise.
46885         * tests/test-exclude3.sh: Likewise.
46886         * tests/test-exclude4.sh: Likewise.
46887         * tests/test-exclude5.sh: Likewise.
46888         * tests/test-exclude6.sh: Likewise.
46889         * tests/test-exclude7.sh: Likewise.
46890
46891 2009-08-19  Akim Demaille  <demaille@gostai.com>
46892
46893         bootstrap: find sha1sum when named gsha1sum.
46894         * bootstrap (find_tool): New.
46895         ($SHA1SUM): New.
46896         Use it.
46897
46898 2009-08-20  Jim Meyering  <meyering@redhat.com>
46899
46900         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
46901         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
46902         expression that converts "." in a file name to "\." in the resulting
46903         regexp.  Start with a dummy statement, so that prior shell variable
46904         definitions are expanded portably.  Reported by Simon Josefsson.
46905
46906 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
46907
46908         Fix polling for writeability of a screen buffer.
46909         * lib/poll.c: Distinguish input and screen buffers for the
46910         Win32 implementation.
46911         * lib/select.c: Likewise.
46912
46913 2009-08-19  Eric Blake  <ebb9@byu.net>
46914
46915         popen-safer: prevent popen from clobbering std descriptors
46916         * modules/popen-safer: New file.
46917         * lib/popen-safer.c: Likewise.
46918         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
46919         * lib/stdio--.h (popen): Provide override.
46920         * lib/stdio-safer.h (popen_safer): Provide declaration.
46921         * tests/test-popen.c (includes): Partially test this.
46922         * modules/popen-safer-tests: New file, for more tests.
46923         * tests/test-popen-safer.c: Likewise.
46924         * MODULES.html.sh (file stream based Input/Output): Mention it.
46925
46926         tests: test some of the *-safer modules
46927         * modules/fopen-safer (Depends-on): Add fopen.
46928         * modules/fcntl-safer (Depends-on): Add fcntl.
46929         * modules/stdlib-safer (Depends-on): Add stdlib.
46930         (configure.ac): Set indicator.
46931         * modules/unistd-safer (configure.ac): Likewise.
46932         * modules/tmpfile-safer (configure.ac): Likewise.
46933         (Depends-on): Add tmpfile.
46934         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
46935         active.
46936         * tests/test-fopen.c (includes): Test safer versions when they are
46937         in use.
46938         * tests/test-open.c (includes): Likewise.
46939
46940         popen: fix cygwin 1.5 bug when stdin closed
46941         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
46942         * modules/popen: New file.
46943         * modules/popen-tests: Likewise.
46944         * tests/test-popen.c: Likewise.
46945         * m4/popen.m4: Likewise.
46946         * lib/popen.c: Likewise.
46947         * lib/stdio.in.h (popen): New declaration.
46948         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
46949         * modules/stdio (Makefile.am): Likewise.
46950         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
46951
46952 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
46953
46954         maint.mk: give full control over update-copyright exclusions
46955         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
46956         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
46957         (update-copyright): Don't force inclusion of top-level
46958         ChangeLog.  Don't force exclusion of all COPYING files, but make
46959         them the default exclusion instead.
46960
46961 2009-08-16  Bruno Haible  <bruno@clisp.org>
46962
46963         Fix test failures on Solaris 10.
46964         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
46965         tests when Solaris iconv() is used.
46966         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
46967         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
46968         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
46969         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
46970         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
46971
46972 2009-08-16  Bruno Haible  <bruno@clisp.org>
46973
46974         Fix test failures on Solaris 10.
46975         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
46976         'tr' program and pass it as first argument.
46977         * tests/test-pipe-filter-gi1.sh: Likewise.
46978         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
46979         program as first argument.
46980         * tests/test-pipe-filter-gi1.c (main): Likewise.
46981
46982 2009-08-16  Eric Blake  <ebb9@byu.net>
46983
46984         fpurge: fix previous commits
46985         * modules/fpurge (Makefile.am): Make replacement conditional,
46986         partially reverting 2007-04-29 change; missed in previous
46987         attempt.
46988         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
46989         is missing.
46990
46991 2009-08-16  Bruno Haible  <bruno@clisp.org>
46992
46993         Clarify fpurge's effect on the file position.
46994         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
46995         * tests/test-fpurge.c (main): Make a second pass for checking the file
46996         position.
46997
46998 2009-08-16  Bruno Haible  <bruno@clisp.org>
46999
47000         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
47001         declaration of fpurge is missing.
47002         * tests/test-fpurge.c (main): Check that the file has not more contents
47003         than expected. Close the file before removing it.
47004
47005 2009-08-15  Eric Blake  <ebb9@byu.net>
47006
47007         fpurge: don't wrap working cygwin implementation
47008         * lib/fpurge.c (fpurge): Fix comment typo.
47009         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
47010         1.7 to avoid replacement.
47011         * tests/test-fpurge.c (main): Enhance test.
47012
47013 2009-08-15  Eric Blake  <ebb9@byu.net>
47014         and Jim Meyering  <meyering@redhat.com>
47015
47016         test-update-copyright: skip if perl is insufficient
47017         * tests/test-update-copyright.sh: Failure to run maintainer tool
47018         should not cause testsuite failure on cygwin 1.5.
47019
47020 2009-08-14  Eric Blake  <ebb9@byu.net>
47021
47022         doc: mention more functions added in cygwin 1.7.0
47023         * doc/posix-headers/limits.texi (limits.h): Update for recent
47024         cygwin additions.
47025         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
47026         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
47027         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
47028         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
47029         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
47030
47031 2009-08-14  Eric Blake  <ebb9@byu.net>
47032
47033         maint.mk: simplify update-copyright rule
47034         * top/maint.mk (update-copyright-local): Delete, and document how
47035         to do it in cfg.mk instead.
47036         (update-copyright-exclude-regexp): Delete, and document how to do
47037         it in .x-update-copyright instead.
47038         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
47039         exclude ChangeLog.
47040
47041 2009-08-14  Bruno Haible  <bruno@clisp.org>
47042
47043         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
47044
47045 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
47046
47047         maint.mk: support update-copyright-env
47048         * top/maint.mk (update-copyright-env): Define place-holder.
47049         (update-copyright): Expand $(update-copyright-env) before
47050         invoking update-copyright.
47051
47052 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
47053
47054         update-copyright: implement forced reformatting
47055         * build-aux/update-copyright: Implement and document
47056         UPDATE_COPYRIGHT_FORCE.
47057         * tests/test-update-copyright.sh: Test it.
47058
47059 2009-08-14  Eric Blake  <ebb9@byu.net>
47060         and Bruno Haible  <bruno@clisp.org>
47061
47062         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
47063         * tests/test-locale.c: Revert previous patch related to NULL.
47064         * tests/test-stdio.c: Likewise.
47065         * tests/test-stdlib.c: Likewise.
47066         * tests/test-string.c: Likewise.
47067         * tests/test-unistd.c: Likewise.
47068         * modules/time-tests (Depends-on): Add verify.
47069         * modules/wchar-tests (Depends-on): Likewise.
47070         * tests/test-time.c: Test for NULL compliance.
47071         * tests/test-wchar.c: Likewise.
47072         * modules/locale (Depends-on): Add stddef.
47073         * modules/stdio (Depends-on): Likewise.
47074         * modules/stdlib (Depends-on): Likewise.
47075         * modules/string (Depends-on): Likewise.
47076         * modules/time (Depends-on): Likewise.
47077         * modules/unistd (Depends-on): Likewise.
47078         * modules/wchar (Depends-on): Likewise.
47079         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
47080         * lib/stdlib.in.h (includes): Likewise.
47081         * lib/string.in.h (includes): Likewise.
47082         * lib/time.in.h (includes): Likewise.
47083         * lib/unistd.in.h (includes): Likewise.
47084         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
47085         replaced.
47086         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
47087         * m4/stddef_h.m4: New file.
47088         * modules/stddef: Likewise.
47089         * lib/stddef.in.h: Likewise.
47090         * modules/stddef-tests: Likewise.
47091         * tests/test-stddef.c: Likewise.
47092         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
47093         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
47094         * doc/posix-headers/locale.texi (locale.h): Likewise.
47095         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
47096         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
47097         * doc/posix-headers/string.texi (string.h): Likewise.
47098         * doc/posix-headers/time.texi (time.h): Likewise.
47099         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
47100         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
47101
47102 2009-08-14  Eric Blake  <ebb9@byu.net>
47103
47104         doc: improve git diff of texinfo files
47105         * .gitattributes: Add rule for *.texi files, with hint on how to
47106         use it.
47107         Copied from m4, and based on a report by Bruno Haible.
47108
47109 2009-08-14  Bruno Haible  <bruno@clisp.org>
47110
47111         Disable multithread support by default on Cygwin 1.5.x for real.
47112         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
47113
47114 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
47115
47116         update-copyright: much ado about intervals
47117         * build-aux/update-copyright: Implement and document
47118         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
47119         of copyright year intervals.
47120         Also, document UPDATE_COPYRIGHT_YEAR.
47121         * tests/test-update-copyright.sh: Test it.
47122
47123         update-copyright: convert 2-digit to 4-digit years
47124         * build-aux/update-copyright: Implement and document.
47125         * tests/test-update-copyright.sh: Update.
47126
47127 2009-08-14  Jim Meyering  <meyering@redhat.com>
47128
47129         test-exclude: avoid coreutils "make check" failure
47130         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
47131         just as in test-argmatch.c.
47132
47133 2009-08-13  Eric Blake  <ebb9@byu.net>
47134
47135         test-dup2: fix bad assumption
47136         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
47137         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
47138
47139         test-version-etc: fix CRLF portability issue
47140         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
47141         recognize \r.
47142         * tests/test-argp-version-etc-1.sh: Likewise.
47143
47144         getopt: update client modules
47145         * modules/argp (Depends-on): Use getopt-gnu.
47146         * modules/git-merge-changelog (Depends-on): Likewise.
47147         * modules/long-options (Depends-on): Likewise.
47148         * modules/xstrtol (Depends-on): Likewise.
47149
47150 2009-08-13  Simon Josefsson  <simon@josefsson.org>
47151
47152         * tests/test-version-etc.sh: Don't fail on different
47153         project/version.  Don't fail on CRLF differences.  Rewrite to use
47154         multiple -e instead of multiple sed forks, suggested by Eric Blake
47155         <ebb9@byu.net>.
47156         * tests/test-argp-version-etc-1.sh: Likewise.
47157
47158 2009-08-13  Simon Josefsson  <simon@josefsson.org>
47159
47160         * tests/test-version-etc.sh: Don't fail on different
47161         project/version.
47162
47163 2009-08-12  Bruno Haible  <bruno@clisp.org>
47164
47165         Tests for modules 'getopt-posix', 'getopt-gnu'.
47166         * modules/getopt-posix-tests: New file.
47167         * tests/test-getopt.c: New file.
47168         * tests/test-getopt.h: New file.
47169         * tests/test-getopt_long.h: New file.
47170
47171         New modules 'getopt-posix', 'getopt-gnu'.
47172         * modules/getopt-gnu: New file, renamed from modules/getopt.
47173         * modules/getopt-posix: New file.
47174         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
47175         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
47176         (gl_GETOPT): Remove macro.
47177         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
47178         Disable the test against BSD systems that declare optreset. Test
47179         against mingw bug. Test against lack of support of optional arguments
47180         on many platforms.
47181         * doc/glibc-headers/getopt.texi: Update module name and list of
47182         relevant platforms.
47183         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
47184         'getopt-gnu' and more portability problems.
47185         * NEWS: Mention the changes.
47186
47187 2009-08-12  Bruno Haible  <bruno@clisp.org>
47188
47189         Ensure that optarg etc. get declared by <unistd.h>.
47190         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
47191         AC_USE_SYSTEM_EXTENSIONS.
47192         * modules/getopt (Depends-on): Add 'extensions'.
47193
47194 2009-08-12  Bruno Haible  <bruno@clisp.org>
47195
47196         Avoid test link errors.
47197         * modules/pipe-filter-ii-tests (Makefile.am): Define
47198         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
47199         * modules/pipe-filter-gi-tests (Makefile.am): Define
47200         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
47201         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47202
47203 2009-08-12  Bruno Haible  <bruno@clisp.org>
47204
47205         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
47206         gl_GETOPT_SUBSTITUTE before.
47207         (gl_GETOPT): Use it.
47208         * m4/argp.m4 (gl_ARGP): Update.
47209         Reported by Sergey Poznyakoff.
47210
47211         * m4/getopt.m4: Reorder macros.
47212         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
47213         (gl_GETOPT_SUBSTITUTE): Remove macro.
47214
47215 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47216
47217         Minor improvement in gitlog-to-changelog
47218
47219         * build-aux/gitlog-to-changelog: New option `--format' makes
47220         output format string configurable.
47221
47222 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47223
47224         Optimize exclude: use hash tables for non-wildcard patterns.
47225
47226         * lib/exclude.c: Include hash.h and mbuiter.h
47227         (struct exclude_pattern, exclude_segment): New data types.
47228         (struct exclude): Rewrite.
47229         (fnmatch_pattern_has_wildcards): New function.
47230         (new_exclude_segment, free_exclude_segment): New functions.
47231         (excluded_file_pattern_p, excluded_file_name_p): New functions.
47232         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
47233         * lib/exclude.h (is_fnmatch_pattern): New prototype.
47234         * modules/exclude: Depend on hash and mbuiter.
47235
47236         * modules/exclude-tests: New file.
47237         * tests/test-exclude.c: New file.
47238         * tests/test-exclude1.sh: New file.
47239         * tests/test-exclude2.sh: New file.
47240         * tests/test-exclude3.sh: New file.
47241         * tests/test-exclude4.sh: New file.
47242         * tests/test-exclude5.sh: New file.
47243         * tests/test-exclude6.sh: New file.
47244         * tests/test-exclude7.sh: New file.
47245
47246 2009-08-12  Bruno Haible  <bruno@clisp.org>
47247
47248         Ensure that getopt() gets declared by <unistd.h>.
47249         * lib/unistd.in.h: Conditionally include getopt.h.
47250         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
47251         Set GNULIB_UNISTD_H_GETOPT.
47252         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47253         GNULIB_UNISTD_H_GETOPT.
47254         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
47255
47256 2009-08-12  Bruno Haible  <bruno@clisp.org>
47257
47258         Clarify logic.
47259         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
47260         gl_replace_getopt instead of GETOPT_H.
47261
47262 2009-08-12  Bruno Haible  <bruno@clisp.org>
47263
47264         * m4/getopt.m4: Add comments.
47265
47266 2009-08-12  Bruno Haible  <bruno@clisp.org>
47267
47268         Disable multithread support by default on Cygwin 1.5.x.
47269         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
47270         set gl_use_threads=no if not specified otherwise.
47271
47272 2009-08-11  Bruno Haible  <bruno@clisp.org>
47273
47274         Avoid compilation error on NetBSD 5.0.
47275         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
47276         * tests/test-stdio.c: Likewise.
47277         * tests/test-stdlib.c: Likewise.
47278         * tests/test-string.c: Likewise.
47279         * tests/test-unistd.c: Likewise.
47280         Reported by Greg Troxel <gdt@ir.bbn.com>
47281         at <https://savannah.gnu.org/support/?106973>.
47282
47283 2009-08-11  Bruno Haible  <bruno@clisp.org>
47284
47285         * modules/dup2-tests (Depends-on): Remove close.
47286
47287         Undo 2009-07-19 commit.
47288         * modules/acl-tests (Depends-on): Remove close.
47289         * modules/binary-io-tests (Depends-on): Likewise.
47290         * modules/closein-tests (Depends-on): Likewise.
47291         * modules/flock-tests (Depends-on): Likewise.
47292         * modules/fsync-tests (Depends-on): Likewise.
47293         * modules/lseek-tests (Depends-on): Likewise.
47294         * modules/pipe-tests (Depends-on): Likewise.
47295         * modules/posix_spawn-tests (Depends-on): Likewise.
47296         * modules/posix_spawnp-tests (Depends-on): Likewise.
47297         * modules/stat-time-tests (Depends-on): Likewise.
47298         * modules/yesno-tests (Depends-on): Likewise.
47299
47300 2009-08-10  Bruno Haible  <bruno@clisp.org>
47301
47302         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
47303
47304 2009-08-10  Bruno Haible  <bruno@clisp.org>
47305
47306         Fix a gcc warning.
47307         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
47308
47309 2009-08-10  Bruno Haible  <bruno@clisp.org>
47310
47311         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
47312         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
47313         not only the first time.
47314         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
47315         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
47316         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
47317         is 1, not only the the first time.
47318
47319 2009-08-10  Bruno Haible  <bruno@clisp.org>
47320
47321         Make it possible to use module 'gethostname' without module 'close'.
47322         * lib/unistd.in.h (close): Evoke a link error only if
47323         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
47324         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47325         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47326         * modules/unistd (Makefile.am): Substitute
47327         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47328         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
47329         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
47330         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
47331         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47332         * modules/sys_ioctl (Makefile.am): Substitute
47333         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47334         * modules/socket (configure.ac): On native Windows, set
47335         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
47336         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47337         Reported by Sam Steingold <sds@gnu.org>.
47338
47339 2009-08-10  Bruno Haible  <bruno@clisp.org>
47340
47341         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
47342         * modules/ioctl (configure.ac): Likewise.
47343
47344 2009-08-10  Bruno Haible  <bruno@clisp.org>
47345
47346         Avoid collision between gnulib wrapper and libintl wrapper.
47347         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
47348         already defined in intl/printf.c.
47349         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
47350         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
47351
47352 2009-08-09  Bruno Haible  <bruno@clisp.org>
47353
47354         Make <sys/select.h> really self-contained, also on Solaris 10.
47355         * lib/sys_select.in.h: Include <string.h>.
47356         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
47357         Solaris 10 problem.
47358         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
47359         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
47360         Reported by Jim Meyering.
47361
47362 2009-08-09  Bruno Haible  <bruno@clisp.org>
47363
47364         Avoid warnings from 'aclocal' that are due to a use of macro name
47365         AM_XGETTEXT_OPTION that is not defined in automake.
47366         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
47367         automake.
47368         * modules/error (configure.ac): Likewise.
47369         * modules/propername (configure.ac): Likewise.
47370         * modules/vasprintf (configure.ac): Likewise.
47371         * modules/verror (configure.ac): Likewise.
47372         * modules/xprintf (configure.ac): Likewise.
47373         * modules/xvasprintf (configure.ac): Likewise.
47374
47375 2009-08-08  Bruno Haible  <bruno@clisp.org>
47376
47377         Avoid compilation error in C++ mode.
47378         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
47379         Reported by Sam Steingold <sds@gnu.org>.
47380
47381 2009-08-08  Bruno Haible  <bruno@clisp.org>
47382
47383         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
47384         for the various Unix platforms.
47385         * doc/posix-headers/limits.texi: Update platforms list regarding
47386         HOST_NAME_MAX.
47387         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47388
47389 2009-08-07  Jim Meyering  <meyering@redhat.com>
47390
47391         selinux-at: fix typo in a comment
47392         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
47393         Spotted by Paolo Bonzini.
47394
47395         selinux-at: remove redundant m4 code, add documentation
47396         * modules/selinux-at (configure.ac): Remove redundant code.
47397         LIB_SELINUX is already set via the dependent module, selinux-h.
47398         (Include): Add quotes around selinux-at.h.
47399         * lib/selinux-at.h: Add documentation.
47400         Reported by Bruno Haible in
47401         http://marc.info/?l=gnulib-bug&m=124958988300749
47402
47403 2009-08-07  Bruno Haible  <bruno@clisp.org>
47404
47405         Avoid link error on MacOS X 10.3 and 10.4.
47406         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
47407         on non-ELF systems.
47408         * lib/argp-pv.c (argp_program_version): Likewise.
47409         Reported by Simon Josefsson.
47410
47411 2009-08-07  Simon Josefsson  <simon@josefsson.org>
47412
47413         * tests/test-version-etc.sh: Use $EXEEXT.
47414
47415 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
47416
47417         update-copyright: update documentation to point to maint.mk
47418         * build-aux/update-copyright: Here.
47419
47420 2009-08-06  Jim Meyering  <meyering@redhat.com>
47421
47422         maint.mk: support update-copyright-local
47423         * top/maint.mk (update-copyright-local): Define place-holder.
47424         (update-copyright): Depend on $(update-copyright-local).
47425
47426 2009-08-06  Jim Meyering  <meyering@redhat.com>
47427
47428         selinux-at: new module
47429         Initially written for coreutils, this module will soon be
47430         used by findutils, too.
47431         * MODULES.html.sh [Misc]: Add selinux-at.
47432         * lib/selinux-at.h: New file, from coreutils.
47433         * lib/selinux-at.c: Likewise.
47434         * modules/selinux-at: Likewise.
47435         (License): Change from LGPL to GPL, since it depends
47436         on the GPL'd openat module.
47437
47438         doc: update README
47439         * README: Remove references to cogito.
47440         Remove cvs-repo-updating instructions from 2007.
47441         Don't imply that CVS is better if you have limited disk space.
47442
47443 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47444
47445         update-copyright: support C-style comments
47446         * build-aux/update-copyright: Implement and document.
47447         * tests/test-update-copyright.sh: Test.
47448
47449 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47450
47451         update-copyright: support omitted "(C)"
47452         * build-aux/update-copyright: Implement and document.  Also,
47453         allow variable whitespace before "(C)".
47454         * tests/test-update-copyright.sh: Test.
47455
47456 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47457
47458         update-copyright: don't trip on non-FSF copyright statements
47459         * build-aux/update-copyright: Fix so that the first correctly
47460         formatted FSF copyright statement is recognized no matter what
47461         appears before it.  Update documentation.
47462         * tests/test-update-copyright.sh: Test that.
47463
47464 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47465
47466         update-copyright: clean up code a little
47467         * build-aux/update-copyright: Append "_re" to the name of any
47468         variable holding a regular expression.
47469         Replace "old" and "new" with "stmt" in variable names.
47470         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
47471         handled correctly.
47472         Format code more consistently.
47473
47474 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47475
47476         update-copyright-tests: improve portability
47477         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
47478         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
47479
47480 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47481
47482         update-copyright: support @copyright{} and &copy;
47483         * build-aux/update-copyright: Implement and document.
47484         * tests/test-update-copyright.sh: Test.
47485
47486 2009-08-04  Jim Meyering  <meyering@redhat.com>
47487
47488         update-copyright-tests: correctly test EOL=\r\n handling
47489         * tests/test-update-copyright.sh: Put \r at the end of some lines
47490         for the dos-eol tests.  Based on a patch by Joel E. Denny.
47491
47492         maint.mk: make update-copyright exclusion list more configurable
47493         * top/maint.mk (update-copyright): Default to excluding COPYING,
47494         but allow an override, in case someone does want to update that file.
47495
47496         maint.mk: don't update copyright date in COPYING
47497         * top/maint.mk (update-copyright): Exclude COPYING.
47498
47499         maint.mk: add a copyright-updating rule
47500         * top/maint.mk (update-copyright): New rule.
47501         Derived from coreutils/Makefile.am.
47502
47503         update-copyright: rename some variables
47504         * build-aux/update-copyright: Rename a few variables for clarity.
47505         Tweak syntax.  List Joel E. Denny as coauthor.
47506
47507 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47508
47509         update-copyright: fix bug for 2-digit last year and add tests
47510         * build-aux/update-copyright: Fix bug.
47511         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
47512         specified.
47513         * modules/update-copyright-tests: New
47514         * tests/test-update-copyright.sh: New.
47515
47516 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47517
47518         update-copyright: handle leading tabs in line prefix
47519         * build-aux/update-copyright: Count leading tabs as 8 spaces
47520         when computing margin.  This helps with the formatting of
47521         ChangeLogs, for example.
47522         Fix documentation a little.
47523
47524 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47525
47526         update-copyright: support EOL=\r\n
47527         * build-aux/update-copyright: Implement that.
47528
47529 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47530
47531         update-copyright: automatically format copyright statements
47532         * build-aux/update-copyright: Implement that.
47533         Also, be a little more predictable and safer by always failing
47534         when the full copyright format is not perfectly recognized as an
47535         unbroken whole.  Discussed at
47536         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
47537         Rewrite documentation.
47538
47539 2009-08-03  Bruno Haible  <bruno@clisp.org>
47540
47541         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
47542
47543 2009-08-02  Bruno Haible  <bruno@clisp.org>
47544
47545         Tests for module 'uname'.
47546         * modules/uname-tests: New file.
47547         * tests/test-uname.c: New file.
47548
47549         New module 'uname'.
47550         * lib/uname.c: New file.
47551         * m4/uname.m4: New file.
47552         * modules/uname: New file.
47553         * doc/posix-functions/uname.texi: Mention the new module.
47554
47555 2009-08-02  Bruno Haible  <bruno@clisp.org>
47556
47557         Tests for module 'sys_utsname'.
47558         * modules/sys_utsname-tests: New file.
47559         * tests/test-sys_utsname.c: New file.
47560
47561         New module 'sys_utsname'.
47562         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
47563         * m4/sys_utsname_h.m4: New file.
47564         * modules/sys_utsname: New file.
47565         * doc/posix-headers/sys_utsname.texi: Mention the new module.
47566
47567 2009-08-02  Bruno Haible  <bruno@clisp.org>
47568
47569         Implicitly initialize the sockets library.
47570         * lib/gethostname.c: Include sockets.h.
47571         (rpl_gethostname): Invoke gl_sockets_startup.
47572         * lib/socket.c: Include sockets.h.
47573         (rpl_socket): Invoke gl_sockets_startup.
47574         * modules/gethostname (Depends-on): Add sockets.
47575         * modules/socket (Depends-on): Likewise.
47576         * tests/test-poll.c: Don't include sockets.h.
47577         (main): Don't invoke gl_sockets_startup.
47578         * tests/test-select.c: Don't include sockets.h.
47579         (main): Don't invoke gl_sockets_startup.
47580
47581 2009-08-02  Bruno Haible  <bruno@clisp.org>
47582
47583         Allow multiple calls to gl_sockets_startup.
47584         * lib/sockets.c (initialized_sockets_version): New variable.
47585         (gl_sockets_startup): Do nothing if already called for this or a higher
47586         version.
47587         (gl_sockets_cleanup): Reset initialized_sockets_version.
47588
47589 2009-08-03  Simon Josefsson  <simon@josefsson.org>
47590
47591         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
47592         different project/version.
47593
47594 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
47595             Bruno Haible  <bruno@clisp.org>
47596
47597         Tests for module 'pipe-filter-gi'.
47598         * modules/pipe-filter-gi-tests: New file.
47599         * tests/test-pipe-filter-gi1.sh: New file.
47600         * tests/test-pipe-filter-gi1.c: New file.
47601         * tests/test-pipe-filter-gi2.sh: New file.
47602         * tests/test-pipe-filter-gi2-main.c: New file.
47603         * tests/test-pipe-filter-gi2-child.c: New file.
47604
47605         New module 'pipe-filter-gi'.
47606         * lib/pipe-filter-gi.c: New file.
47607         * modules/pipe-filter-gi: New file.
47608
47609 2009-08-02  Bruno Haible  <bruno@clisp.org>
47610             Paolo Bonzini  <bonzini@gnu.org>
47611
47612         Tests for module 'pipe-filter-ii'.
47613         * modules/pipe-filter-ii-tests: New file.
47614         * tests/test-pipe-filter-ii1.sh: New file.
47615         * tests/test-pipe-filter-ii1.c: New file.
47616         * tests/test-pipe-filter-ii2.sh: New file.
47617         * tests/test-pipe-filter-ii2-main.c: New file.
47618         * tests/test-pipe-filter-ii2-child.c: New file.
47619
47620         New module 'pipe-filter-ii'.
47621         * lib/pipe-filter.h: New file.
47622         * lib/pipe-filter-ii.c: New file.
47623         * lib/pipe-filter-aux.h: New file.
47624         * modules/pipe-filter-ii: New file.
47625
47626 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47627
47628         * lib/gc-libgcrypt.c: Change copyright to FSF.
47629         * lib/gc-gnulib.c: Likewise.
47630
47631 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
47632
47633         * lib/gethostname.c: Include limits.h.
47634
47635 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47636             Bruno Haible  <bruno@clisp.org>
47637
47638         Ensure HOST_NAME_MAX as part of the gethostname module.
47639         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
47640         define also HOST_NAME_MAX.
47641         * tests/test-gethostname.c: Include <limits.h>.
47642         (main): Check also HOST_NAME_MAX.
47643         * doc/posix-headers/limits.texi: Document the mingw problem.
47644
47645 2009-08-02  Bruno Haible  <bruno@clisp.org>
47646
47647         * lib/gethostname.c (gethostname): Fix handling of large len argument.
47648         Add comments.
47649
47650 2009-03-31  Simon Josefsson  <simon@josefsson.org>
47651
47652         * lib/gethostname.c: Add Windows wrapper.
47653         * m4/gethostname.m4: Look for gethostname in -lws2_32.
47654         * modules/gethostname: Depend on sys_socket & errno, for also
47655         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
47656         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
47657
47658 2009-07-31  Jim Meyering  <meyering@redhat.com>
47659
47660         getloadavg: fix symbol name in comment
47661         * lib/getloadavg.c: Correct a typo I introduced when adding
47662         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
47663         Matt Kraai spotted the problem.
47664
47665 2009-07-29  Matt Kraai  <mkraai@beckman.com>
47666
47667         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
47668         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
47669         code also if ! defined N_NAME_POINTER.
47670         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
47671         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
47672         but the n_name member is a 12-byte array.
47673
47674 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
47675
47676         update-copyright: generalize comment handling
47677         * build-aux/update-copyright: Handle copyright statements
47678         within more comment styles.
47679         Document usage.
47680         Report any file with an external copyright holder or parse failure.
47681
47682 2009-07-29  Jim Meyering  <meyering@redhat.com>
47683
47684         mktime: correct setting of REPLACE_MKTIME
47685         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
47686
47687         update-copyright: new module
47688         * modules/update-copyright: New file.
47689         * build-aux/update-copyright: New file.
47690         * MODULES.html.sh (maint+release support): Add update-copyright.
47691
47692 2009-07-27  Bruno Haible  <bruno@clisp.org>
47693
47694         Fix compilation error when <ctime> is used and mktime is replaced.
47695         * lib/time.in.h (mktime): New declaration.
47696         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
47697         REPLACE_MKTIME instead of defining mktime in config.h.
47698         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
47699         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
47700         Reported by Ross McFarland <rwmcfa1@neces.com>.
47701
47702 2009-07-27  Bruno Haible  <bruno@clisp.org>
47703
47704         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
47705         Reported by Matt Kraai <mkraai@beckman.com>.
47706
47707 2009-07-25  Jim Meyering  <meyering@redhat.com>
47708
47709         maint.mk: avoid warnings about missing files
47710         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
47711         diagnostic when .prev-version does not exist.
47712         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
47713         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
47714         nonexistent cfg.mk.
47715         Suggestions from Simon Josefsson.
47716
47717 2009-07-25  Bruno Haible  <bruno@clisp.org>
47718
47719         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
47720         defined as macros. Needed on QNX 6.4.1.
47721         Reported by Matt Kraai <mkraai@beckman.com>.
47722
47723 2009-07-23  Jim Meyering  <meyering@redhat.com>
47724
47725         maint.mk: invoke "make dist" with a working value of XZ_OPT
47726         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
47727
47728 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
47729
47730         Make fseeko.c compile on QNX.
47731         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
47732
47733 2009-07-22  Peter Simons  <simons@cryp.to>
47734
47735         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
47736         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
47737         * lib/md4.h: Likewise.
47738         * lib/md5.h: Likewise.
47739         * lib/sha1.h: Likewise.
47740         * lib/sha256.h: Likewise.
47741         * lib/sha512.h: Likewise.
47742
47743         tests-sha1: don't assign literal string to 'char *' variable
47744         * tests/test-sha1.c (main): Declare locals with "const" to match
47745         attributes of the right hand side.
47746
47747 2009-07-21  Eric Blake  <ebb9@byu.net>
47748
47749         dup2: fix more mingw problems
47750         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
47751         fd to itself.
47752         * doc/posix-functions/dup2.texi (dup2): Document the bug.
47753         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
47754         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
47755         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
47756         care of mingw bugs.
47757
47758 2009-07-21  Jim Meyering  <meyering@redhat.com>
47759
47760         vc-list-files: avoid failure when /bin/sh is dash
47761         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
47762         On some Debian based systems, /bin/sh is a symlink to dash, and running
47763         this command would omit the "/" following each 'tests' prefix:
47764           dash -x build-aux/vc-list-files -C . tests
47765         That is because bash and dash work differently:
47766           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
47767           bash ok
47768           dash odd
47769
47770 2009-07-21  Eric Blake  <ebb9@byu.net>
47771
47772         dup2-tests: test previous patch
47773         * modules/dup2-tests: New file.
47774         * tests/test-dup2.c: Likewise.
47775         * tests/test-open.c (main): Avoid unspecified behavior.
47776         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
47777         test.
47778
47779         dup2: work around mingw and cygwin 1.5 bug
47780         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
47781         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
47782         * modules/unistd (Makefile.am): Substitute it.
47783         * lib/unistd.in.h (dup2): Declare the replacement.
47784         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
47785         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
47786         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
47787         * modules/execute (Depends-on): Add dup2.
47788         * modules/fseterr (Depends-on): Likewise.
47789         * modules/pipe (Depends-on): Likewise.
47790         * modules/posix_spawn-internal (Depends-on): Likewise.
47791
47792 2009-07-21  Bruno Haible  <bruno@clisp.org>
47793
47794         * modules/.gitattributes: New file.
47795
47796 2009-07-20  Bruno Haible  <bruno@clisp.org>
47797
47798         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
47799         (main): Use it.
47800
47801 2009-07-20  Eric Blake  <ebb9@byu.net>
47802
47803         test-pipe: make a bit more robust.
47804         * tests/test-pipe.c (myerr): Allow error messages regardless of
47805         what we do to stderr.
47806         (test_pipe): Rearrange to avoid deadlock.
47807         (child_main): Try a larger read, to ensure we avoided deadlock.
47808         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
47809         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
47810         if misused.
47811
47812 2009-07-19  Jim Meyering  <meyering@redhat.com>
47813
47814         fts: avoid false-positive cycle-detection
47815         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
47816         for each new command line argument.
47817
47818 2009-07-19  Bruno Haible  <bruno@clisp.org>
47819
47820         Fix build error on mingw with the modules sys_select and unistd.
47821         * modules/acl-tests (Depends-on): Add close.
47822         * modules/binary-io-tests (Depends-on): Likewise.
47823         * modules/closein-tests (Depends-on): Likewise.
47824         * modules/flock-tests (Depends-on): Likewise.
47825         * modules/fsync-tests (Depends-on): Likewise.
47826         * modules/lseek-tests (Depends-on): Likewise.
47827         * modules/pipe-tests (Depends-on): Likewise.
47828         * modules/posix_spawn-tests (Depends-on): Likewise.
47829         * modules/posix_spawnp-tests (Depends-on): Likewise.
47830         * modules/stat-time-tests (Depends-on): Likewise.
47831         * modules/yesno-tests (Depends-on): Likewise.
47832
47833 2009-07-19  Bruno Haible  <bruno@clisp.org>
47834
47835         Unify conditionals.
47836         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
47837         macros, not at the compiler macros.
47838         * lib/pipe.c: Likewise.
47839         * lib/execute.c: Likewise.
47840         * lib/spawni.c: Likewise.
47841
47842 2009-07-19  Bruno Haible  <bruno@clisp.org>
47843
47844         Fix handling of closed stdin/stdout/stderr on mingw.
47845         * lib/w32spawn.h: Include unistd.h.
47846         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
47847         file descriptor with O_NOINHERIT flag.
47848         (fd_safer_noinherit): New function, based on fd-safer.c.
47849         (dup_safer_noinherit): New function, based on dup-safer.c.
47850         (undup_safer_noinherit): New function.
47851         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
47852         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
47853         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
47854         instead of fd_safer.
47855         * tests/test-pipe.c: Include <windows.h>.
47856         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
47857         result.
47858
47859         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
47860         from main.
47861         (test_pipe): Pass an extra argument for disambiguation.
47862         (main): Invoke parent_main or child_main.
47863
47864         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
47865         consistently.
47866
47867 2009-07-18  Eric Blake  <ebb9@byu.net>
47868
47869         test-pipe: fix mingw build
47870         * tests/test-pipe.c (main): Avoid fcntl on mingw.
47871
47872 2009-07-18  Bruno Haible  <bruno@clisp.org>
47873
47874         * modules/pipe-tests (Makefile.am): Fix typo.
47875
47876 2009-07-18  Eric Blake  <ebb9@byu.net>
47877
47878         error: fix mingw build
47879         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
47880         Reported by Bruno Haible.
47881
47882         error: avoid undefined use of stdout
47883         * lib/error.c (error, error_at_line): Check that fd 1 is open
47884         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
47885         is handling faults and the close_stdout module wants to report the
47886         detection of closed stdout as an error.
47887
47888 2009-07-17  Eric Blake  <ebb9@byu.net>
47889
47890         pipe: be robust in face of closed fds
47891         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
47892         should cause child to misbehave.
47893         * modules/pipe-tests: New module.
47894         * tests/test-pipe.c: New file.
47895         * tests/test-pipe.sh: New file.
47896         Reported by Akim Demaille.
47897
47898 2009-07-14  Bruno Haible  <bruno@clisp.org>
47899
47900         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
47901         Reported by anonymous kc.
47902
47903 2009-07-07  Jim Meyering  <meyering@redhat.com>
47904
47905         maint.mk: don't look for translatable strings in *.m4 or *.mk
47906         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
47907         when searching for translatable strings.
47908
47909 2009-07-05  Jim Meyering  <meyering@redhat.com>
47910
47911         remove superfluous parentheses in STREQ definition
47912         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
47913         * lib/getugroups.c (STREQ): Likewise.
47914         * lib/fnmatch.c (STREQ): Likewise.
47915         Spotted by Bruno Haible.
47916
47917 2009-07-04  Jim Meyering  <meyering@redhat.com>
47918
47919         argv-iter: new module
47920         * MODULES.html.sh: Add argv-iter.
47921         * lib/argv-iter.c, lib/argv-iter.h: New files.
47922         * modules/argv-iter: New file.
47923         * modules/argv-iter-tests: New file.
47924         * tests/test-argv-iter.c: Test it.
47925
47926 2009-07-04  Bruno Haible  <bruno@clisp.org>
47927
47928         Fix assertion.
47929         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
47930         contains more exact copies of a given entry than file2, leave the extra
47931         copies unpaired rather than aborting.
47932         Reported by Eric Blake.
47933
47934 2009-07-02  Bruno Haible  <bruno@clisp.org>
47935
47936         Speedup git-merge-changelog for git cherry-pick.
47937         * lib/git-merge-changelog.c (struct entries_mapping): New type.
47938         (entries_mapping_get): New function, extracted from compute_mapping.
47939         (entries_mapping_reverse_get): New function.
47940         (compute_mapping): Add a 'full' argument. Return the result in a
47941         'struct entries_mapping'.
47942         (main): Update. Access the mappings through entries_mapping_get.
47943         Reported by Eric Blake.
47944
47945 2009-07-02  Bruno Haible  <bruno@clisp.org>
47946
47947         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
47948         best_i.
47949
47950 2009-07-02  Bruno Haible  <bruno@clisp.org>
47951
47952         Speed up approximate search for matching ChangeLog entries.
47953         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
47954         argument. Call fstrcmp_bounded instead of fstrcmp.
47955         (compute_mapping, try_split_merged_entry, main): Update callers.
47956
47957 2009-07-02  Bruno Haible  <bruno@clisp.org>
47958
47959         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
47960
47961 2009-06-30  Bruno Haible  <bruno@clisp.org>
47962
47963         Reduce the number of uc_is_cased calls.
47964         * lib/unicase.h (casing_suffix_context_t): Add
47965         'first_char_except_ignorable' field.
47966         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
47967         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
47968         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
47969         Update initializer.
47970         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
47971         case-ignorable characters.
47972         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
47973         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
47974         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
47975         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
47976         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
47977
47978 2009-06-30  Bruno Haible  <bruno@clisp.org>
47979
47980         Tests for module 'unicase/ignorable'.
47981         * modules/unicase/ignorable-tests: New file.
47982         * tests/unicase/test-ignorable.c: New file, generated by
47983         gen-uni-tables.
47984
47985         Tests for module 'unicase/cased'.
47986         * modules/unicase/cased-tests: New file.
47987         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
47988         * tests/unicase/test-predicate-part1.h: New file, derived from
47989         tests/unictype/test-predicate-part1.h.
47990         * tests/unicase/test-predicate-part2.h: New file, same as
47991         tests/unictype/test-predicate-part2.h.
47992
47993         Fix evaluation of "Before C" condition of FINAL_SIGMA.
47994         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
47995         (output_casing_properties): New function.
47996         (main): Call it.
47997         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
47998         * lib/unicase/cased.c: Include unictype/bitmap.h.
47999         (uc_is_cased): Define through a bitmap lookup.
48000         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
48001         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
48002         (uc_is_case_ignorable): Define through a bitmap lookup.
48003         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
48004         lib/unictype/bitmap.h.
48005         (Depends-on): Add inline. Clean up.
48006         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
48007         lib/unictype/bitmap.h.
48008         (Depends-on): Add inline. Clean up.
48009         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
48010         recognition.
48011         * tests/unicase/test-u16-tolower.c (main): Likewise.
48012         * tests/unicase/test-u32-tolower.c (main): Likewise.
48013
48014 2009-06-30  Bruno Haible  <bruno@clisp.org>
48015
48016         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
48017         * lib/unicase/u16-casemap.c: Likewise.
48018         * lib/unicase/u32-casemap.c: Likewise.
48019
48020 2009-06-29  Bruno Haible  <bruno@clisp.org>
48021
48022         Define u32_casefold as a wrapper around u32_ct_casefold.
48023         * lib/unicase/u32-casefold.c: Update.
48024         * modules/unicase/u32-casefold (Depends-on): Add
48025         unicase/u32-ct-casefold, unicase/empty-prefix-context,
48026         unicase/empty-suffix-context. Clean up.
48027
48028         Define u16_casefold as a wrapper around u16_ct_casefold.
48029         * lib/unicase/u16-casefold.c: Update.
48030         * modules/unicase/u16-casefold (Depends-on): Add
48031         unicase/u16-ct-casefold, unicase/empty-prefix-context,
48032         unicase/empty-suffix-context. Clean up.
48033
48034         Define u8_casefold as a wrapper around u8_ct_casefold.
48035         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
48036         * lib/unicase/u8-casefold.c: Update.
48037         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
48038         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48039
48040         Define u32_totitle as a wrapper around u32_ct_totitle.
48041         * lib/unicase/u32-totitle.c: Update.
48042         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
48043         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48044
48045         Define u16_totitle as a wrapper around u16_ct_totitle.
48046         * lib/unicase/u16-totitle.c: Update.
48047         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
48048         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48049
48050         Define u8_totitle as a wrapper around u8_ct_totitle.
48051         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
48052         functions.
48053         (FUNC): Delegate to U_CT_TOTITLE.
48054         * lib/unicase/u8-totitle.c: Update.
48055         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
48056         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48057
48058         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
48059         invocation.
48060         * modules/unicase/u32-tolower (Depends-on): Add
48061         unicase/empty-prefix-context, unicase/empty-suffix-context.
48062
48063         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
48064         invocation.
48065         * modules/unicase/u16-tolower (Depends-on): Add
48066         unicase/empty-prefix-context, unicase/empty-suffix-context.
48067
48068         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
48069         * modules/unicase/u8-tolower (Depends-on): Add
48070         unicase/empty-prefix-context, unicase/empty-suffix-context.
48071
48072         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
48073         invocation.
48074         * modules/unicase/u32-toupper (Depends-on): Add
48075         unicase/empty-prefix-context, unicase/empty-suffix-context.
48076
48077         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
48078         invocation.
48079         * modules/unicase/u16-toupper (Depends-on): Add
48080         unicase/empty-prefix-context, unicase/empty-suffix-context.
48081
48082         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
48083         * modules/unicase/u8-toupper (Depends-on): Add
48084         unicase/empty-prefix-context, unicase/empty-suffix-context.
48085
48086         New module 'unicase/u32-ct-casefold'.
48087         * lib/unicase/u32-ct-casefold.c: New file.
48088         * modules/unicase/u32-ct-casefold: New file.
48089
48090         New module 'unicase/u16-ct-casefold'.
48091         * lib/unicase/u16-ct-casefold.c: New file.
48092         * modules/unicase/u16-ct-casefold: New file.
48093
48094         New module 'unicase/u8-ct-casefold'.
48095         * lib/unicase/u8-ct-casefold.c: New file.
48096         * lib/unicase/u-ct-casefold.h: New file, derived from
48097         lib/unicase/u-casefold.h.
48098         * modules/unicase/u8-ct-casefold: New file.
48099
48100         New module 'unicase/u32-ct-totitle'.
48101         * lib/unicase/u32-ct-totitle.c: New file.
48102         * modules/unicase/u32-ct-totitle: New file.
48103
48104         New module 'unicase/u16-ct-totitle'.
48105         * lib/unicase/u16-ct-totitle.c: New file.
48106         * modules/unicase/u16-ct-totitle: New file.
48107
48108         New module 'unicase/u8-ct-totitle'.
48109         * lib/unicase/u8-ct-totitle.c: New file.
48110         * lib/unicase/u-ct-totitle.h: New file, derived from
48111         lib/unicase/u-totitle.h.
48112         * modules/unicase/u8-ct-totitle: New file.
48113
48114         New module 'unicase/u32-ct-tolower'.
48115         * lib/unicase/u32-ct-tolower.c: New file.
48116         * modules/unicase/u32-ct-tolower: New file.
48117
48118         New module 'unicase/u16-ct-tolower'.
48119         * lib/unicase/u16-ct-tolower.c: New file.
48120         * modules/unicase/u16-ct-tolower: New file.
48121
48122         New module 'unicase/u8-ct-tolower'.
48123         * lib/unicase/u8-ct-tolower.c: New file.
48124         * modules/unicase/u8-ct-tolower: New file.
48125
48126         New module 'unicase/u32-ct-toupper'.
48127         * lib/unicase/u32-ct-toupper.c: New file.
48128         * modules/unicase/u32-ct-toupper: New file.
48129
48130         New module 'unicase/u16-ct-toupper'.
48131         * lib/unicase/u16-ct-toupper.c: New file.
48132         * modules/unicase/u16-ct-toupper: New file.
48133
48134         New module 'unicase/u8-ct-toupper'.
48135         * lib/unicase/u8-ct-toupper.c: New file.
48136         * modules/unicase/u8-ct-toupper: New file.
48137
48138         Add context arguments to u*_casemap functions.
48139         * lib/unicase/unicasemap.h: Include unicase.h.
48140         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
48141         suffix_context arguments.
48142         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
48143         functions.
48144         (FUNC): Add prefix_context and suffix_context arguments. Use
48145         uc_is_cased and uc_is_case_ignorable.
48146         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
48147         * lib/unicase/u16-casemap.c: Likewise.
48148         * lib/unicase/u32-casemap.c: Likewise.
48149         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
48150         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48151         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
48152         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48153         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
48154         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48155
48156         New module 'unicase/u32-suffix-context'.
48157         * lib/unicase/u32-suffix-context.c: New file.
48158         * modules/unicase/u32-suffix-context: New file.
48159
48160         New module 'unicase/u16-suffix-context'.
48161         * lib/unicase/u16-suffix-context.c: New file.
48162         * modules/unicase/u16-suffix-context: New file.
48163
48164         New module 'unicase/u8-suffix-context'.
48165         * lib/unicase/u8-suffix-context.c: New file.
48166         * lib/unicase/u-suffix-context.h: New file.
48167         * modules/unicase/u8-suffix-context: New file.
48168
48169         New module 'unicase/empty-suffix-context'.
48170         * lib/unicase/empty-suffix-context.c: New file.
48171         * modules/unicase/empty-suffix-context: New file.
48172
48173         New module 'unicase/u32-prefix-context'.
48174         * lib/unicase/u32-prefix-context.c: New file.
48175         * modules/unicase/u32-prefix-context: New file.
48176
48177         New module 'unicase/u16-prefix-context'.
48178         * lib/unicase/u16-prefix-context.c: New file.
48179         * modules/unicase/u16-prefix-context: New file.
48180
48181         New module 'unicase/u8-prefix-context'.
48182         * lib/unicase/u8-prefix-context.c: New file.
48183         * lib/unicase/u-prefix-context.h: New file.
48184         * lib/unicase/context.h: New file.
48185         * modules/unicase/u8-prefix-context: New file.
48186
48187         New module 'unicase/empty-prefix-context'.
48188         * lib/unicase/empty-prefix-context.c: New file.
48189         * modules/unicase/empty-prefix-context: New file.
48190
48191         New module 'unicase/ignorable'.
48192         * lib/unicase/ignorable.c: New file.
48193         * modules/unicase/ignorable: New file.
48194
48195         New module 'unicase/cased'.
48196         * lib/unicase/caseprop.h: New file.
48197         * lib/unicase/cased.c: New file.
48198         * modules/unicase/cased: New file.
48199
48200         New functions for case mapping of substrings.
48201         * lib/unicase.h (casing_prefix_context_t): New type.
48202         (unicase_empty_prefix_context): New variable.
48203         (u8_casing_prefix_context, u16_casing_prefix_context,
48204         u32_casing_prefix_context, u8_casing_prefixes_context,
48205         u16_casing_prefixes_context, u32_casing_prefixes_context): New
48206         declarations.
48207         (casing_suffix_context_t): New type.
48208         (unicase_empty_suffix_context): New variable.
48209         (u8_casing_suffix_context, u16_casing_suffix_context,
48210         u32_casing_suffix_context, u8_casing_suffixes_context,
48211         u16_casing_suffixes_context, u32_casing_suffixes_context,
48212         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
48213         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
48214         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
48215         declarations.
48216
48217 2009-06-28  Jim Meyering  <meyering@redhat.com>
48218
48219         boostrap: indent only with spaces
48220         * build-aux/bootstrap: Indent only with spaces, never TABs.
48221
48222         bootstrap: split long lines
48223         * build-aux/bootstrap: Keep line length < 80.
48224
48225         bootstrap: sync from coreutils
48226         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
48227         just as autoreconf does.  Verify a list of prerequisite
48228         package-name,version-number pairs if defined in bootstrap.conf.
48229         Refer to README-prereq, if prerequisites are not satisfied.
48230
48231 2009-06-27  Eric Blake  <ebb9@byu.net>
48232
48233         tests: add test for bogus NULL definition
48234         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
48235         * tests/test-stdlib.c: Likewise.
48236         * tests/test-string.c: Likewise.
48237         * tests/test-locale.c: Likewise.
48238         * tests/test-unistd.c: Likewise.
48239         * modules/stdio-tests (Depends-on): Add verify.
48240         * modules/stdlib-tests (Depends-on): Likewise.
48241         * modules/string-tests (Depends-on): Likewise.
48242         * modules/locale-tests (Depends-on): Likewise.
48243         * modules/unistd-tests (Depends-on): Likewise.
48244
48245 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
48246
48247         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
48248         self-explaining comment.
48249         * m4/selinux-selinux-h: Update serial.
48250         (gl_LIBSELINUX): New macro, adding a warning for missing development
48251         packages to code extracted from...
48252         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
48253         Add warning for missing development packages here, too.
48254
48255 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
48256
48257         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
48258
48259 2009-06-25  Eric Blake  <ebb9@byu.net>
48260
48261         version-etc: fix regression
48262         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
48263         gcc.
48264         (version_etc): Use it, to catch bugs with trailing NULL.
48265         * lib/version-etc.c (version_etc_arn): Delete unused argument.
48266         (version_etc_va): Fix logic bug.
48267         * modules/version-etc-tests: Add test.
48268         * tests/test-version-etc.c: New file.
48269         * tests/test-version-etc.sh: Likewise.
48270
48271 2009-06-25  Sam Steingold  <sds@gnu.org>
48272
48273         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
48274         mbtowc declaration.
48275
48276 2009-06-25  Eric Blake  <ebb9@byu.net>
48277
48278         fpurge: migrate into <stdio.h>
48279         * lib/fpurge.h: Delete...
48280         * lib/stdio.in.h (fpurge): ...and declare here, instead.
48281         * lib/fpurge.c (fpurge): Change declaring header.
48282         * modules/fpurge (Files): Drop deleted file.
48283         (Depends-on): Add stdio.
48284         (configure.ac): Set witness.
48285         * modules/stdio (Makefile.am): Support fpurge macros.
48286         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48287         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
48288         * lib/fflush.c: Update client.
48289         * tests/test-fpurge.c: Likewise.
48290         * NEWS: Mention the change.
48291
48292 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48293
48294         * lib/argp-version-etc.c (program_authors): Add const
48295         qualifier.
48296         * lib/version-etc.c: Fix typos in the comments.
48297         * modules/argp-version-etc: Depends on version-etc.
48298
48299 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48300
48301         argp-version-etc: new module.
48302
48303         * lib/argp-version-etc.c: New file.
48304         * lib/argp-version-etc.h: New file.
48305         * modules/argp-version-etc: New file.
48306         * modules/argp-version-etc-tests: New file.
48307         * tests/test-argp-version-etc.c: New test.
48308         * tests/test-argp-version-etc-1.sh: New test.
48309
48310 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48311
48312         Provide additional interfaces and documentation for version-etc
48313         module.
48314
48315         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
48316         interfaces.
48317         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
48318         prototypes.
48319
48320 2009-06-24  Bruno Haible  <bruno@clisp.org>
48321
48322         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
48323         HAVE_LIB${NAME} macro.
48324         Reported by Sam Steingold <sds@gnu.org>.
48325
48326 2009-06-23  Simon Josefsson  <simon@josefsson.org>
48327
48328         * modules/hash-tests (test_hash_LDADD): Link to libintl when
48329         needed.
48330
48331 2009-06-21  Bruno Haible  <bruno@clisp.org>
48332
48333         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
48334         work.
48335         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
48336         together with LIB${NAME}, LTLIB${NAME}.
48337         Reported by Sam Steingold <sds@gnu.org>.
48338
48339 2009-06-20  Jim Meyering  <meyering@redhat.com>
48340
48341         tests: make sc_require_test_exit_idiom more generic
48342         * top/maint.mk (Exit_witness_file): New overridable variable.
48343         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
48344         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
48345
48346 2009-06-19  Jim Meyering  <meyering@redhat.com>
48347
48348         hash: reverse order of src/dst parameters in an internal interface
48349         * lib/hash.c (transfer_entries): Reverse order of parameters to
48350         put DST before SRC.  Adjust callers.
48351
48352         tests: test-hash: avoid wholesale duplication
48353         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
48354         Instead, use a loop and add a single conditional.
48355
48356         tests: test-hash: allow seed selection via a command line argument
48357         * tests/test-hash.c (get_seed): New function.
48358         (main): Use it.
48359
48360 2009-06-19  Eric Blake  <ebb9@byu.net>
48361
48362         hash: avoid memory leak on allocation failure
48363         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
48364         failure.  Factor repeated algorithm...
48365         (transfer_entries): ...into new helper routine.
48366         (hash_delete): React to hash_rehash return value.
48367
48368         hash: reduce memory pressure in hash_rehash no-op case
48369         * lib/hash.c (next_prime): Avoid overflow.
48370         (hash_initialize): Factor bucket size computation...
48371         (compute_bucket_size): ...into new helper function.
48372         (hash_rehash): Use new function and open coding to reduce memory
48373         pressure, and avoid a memory leak in USE_OBSTACK code.
48374         Reported by Jim Meyering.
48375
48376 2009-06-18  Eric Blake  <ebb9@byu.net>
48377
48378         hash: make rotation more obvious
48379         * modules/hash (Depends-on): Add bitrotate and stdint.
48380         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
48381         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
48382         (SIZE_MAX): Rely on headers for definition.
48383         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
48384         (raw_hasher): Use rotr_sz.
48385         Suggested by Jim Meyering.
48386
48387         hash: fix memory leak in last patch
48388         * lib/hash.c (hash_rehash): Avoid memory leak.
48389
48390         hash: avoid no-op rehashing
48391         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
48392
48393         hash: provide default callback functions
48394         * lib/hash.c (raw_hasher, raw_comparator): New functions.
48395         (hash_initialize): Use them as defaults.
48396         * tests/test-hash.c (main): Test this.
48397
48398         hash: minor optimization
48399         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
48400         when possible.
48401         (hash_initialize): Document this promise.
48402         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
48403         * tests/test-hash.c (hash_compare_strings): Test this.
48404
48405 2009-06-18  Bruno Haible  <bruno@clisp.org>
48406
48407         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
48408         going to be replaced anyway.
48409
48410 2009-06-18  Bruno Haible  <bruno@clisp.org>
48411
48412         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
48413         in one place.
48414         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
48415         be replaced anyway.
48416
48417 2009-06-18  Eric Blake  <ebb9@byu.net>
48418
48419         hash: check for resize before insertion
48420         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
48421         threshold before insertion, so that a pathological hash_rehash
48422         that fills every bucket can still trigger another rehash.
48423
48424 2009-06-18  Jim Meyering  <meyering@redhat.com>
48425
48426         hash-tests: add a loop around the small tests
48427         * tests/test-hash.c (main): Repeat small tests with selected
48428         small initial table sizes.
48429
48430 2009-06-17  Eric Blake  <ebb9@byu.net>
48431
48432         hash: minor cleanups
48433         * lib/hash.h (hash_entry): Make opaque, by moving...
48434         * lib/hash.c (hash_entry): ...here.
48435         (hash_insert): Clarify restrictions on what can be inserted.
48436         (hash_get_next): Clarify when it is safe to remove an element
48437         during traversal.
48438         (check_tuning): Skip verification when tuning is known safe.
48439         (hash_initialize): Clarify restrictions on tuning.
48440
48441 2009-06-17  Jim Meyering  <jim@meyering.net>
48442         and Eric Blake  <ebb9@byu.net>
48443
48444         hash-tests: new module
48445         * modules/hash-tests: New file.
48446         * tests/test-hash.c: New file.
48447
48448 2009-06-17  Eric Blake  <ebb9@byu.net>
48449
48450         strstr-simple: document new module
48451         * MODULES.html.sh: Document new module.
48452
48453         strstr, strcasestr: replace on platforms with broken memchr
48454         * modules/strstr: Split into...
48455         * modules/strstr-simple: ...new module that does not care about
48456         performance, but does care about glibc bug.
48457         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
48458         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
48459         if platform memchr is broken, per Debian bug 521737.
48460         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
48461         memchr.
48462         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
48463         * doc/posix-functions/strstr.texi (strstr): Document the fix.
48464         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48465         * modules/mountlist (Depends-on): Add strstr-simple.
48466         * modules/gen-uni-tables (Depends-on): Likewise.
48467         * modules/argz (Depends-on): Add strstr.
48468
48469 2009-06-17  Bruno Haible  <bruno@clisp.org>
48470
48471         * modules/posix_spawn-internal (Depends-on): Add errno.
48472
48473 2009-06-17  Bruno Haible  <bruno@clisp.org>
48474
48475         Define missing ESTALE on Interix 3.5.
48476         * lib/errno.in.h (ESTALE): Assign a value if missing.
48477         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
48478         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
48479         missing.
48480         * doc/posix-headers/errno.texi: Mention the Interix bug.
48481         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
48482
48483 2009-06-15  Eric Blake  <ebb9@byu.net>
48484
48485         memchr, memchr2: add valgrind exception
48486         * lib/memchr.valgrind: New file.
48487         * lib/memchr2.valgrind: New file.
48488         * modules/memchr (Files): Distribute valgrind file.
48489         * modules/memchr2 (Files): Likewise.
48490
48491         docs: memchr is no longer obsolete
48492         * MODULES.html.sh: Move memchr from obsolete to string.h section.
48493         * lib/string.in.h (memchr): Simplify logic.
48494
48495 2009-06-14  Jim Meyering  <meyering@redhat.com>
48496
48497         link-follow: fix the "checking..." message to not mention trailing slash
48498         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
48499         never considered trailing slashes.
48500
48501 2009-06-14  Bruno Haible  <bruno@clisp.org>
48502
48503         * m4/memchr.m4: Mention also the bug on IA-64.
48504         * doc/posix-functions/memchr.texi: Likewise.
48505
48506 2009-06-12  Eric Blake  <ebb9@byu.net>
48507
48508         memchr: detect broken x86_64 and alpha implementations
48509         * modules/memchr-tests (Depends-on): Move mmap detection...
48510         * modules/memchr (Depends-on): ...here.
48511         (configure.ac): Set indicator.
48512         * lib/string.in.h (memchr): Declare replacement.
48513         * modules/string (Makefile.am): Trigger replacement.
48514         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
48515         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
48516         bugs.
48517         * doc/posix-functions/memchr.texi (memchr): Document the bug.
48518         * modules/getpagesize (License): Relax license.
48519
48520 2009-06-11  Bruno Haible  <bruno@clisp.org>
48521
48522         * lib/idpriv.h: Add more references.
48523
48524 2009-06-08  Bruno Haible  <bruno@clisp.org>
48525
48526         Tests for module 'idpriv-droptemp'.
48527         * modules/idpriv-droptemp-tests: New file.
48528         * tests/test-idpriv-droptemp.sh: New file.
48529         * tests/test-idpriv-droptemp.su.sh: New file.
48530         * tests/test-idpriv-droptemp.c: New file.
48531
48532         New module 'idpriv-droptemp'.
48533         * lib/idpriv-droptemp.c: New file.
48534         * modules/idpriv-droptemp: New file.
48535
48536 2009-06-08  Bruno Haible  <bruno@clisp.org>
48537
48538         Tests for module 'idpriv-drop'.
48539         * modules/idpriv-drop-tests: New file.
48540         * tests/test-idpriv-drop.sh: New file.
48541         * tests/test-idpriv-drop.su.sh: New file.
48542         * tests/test-idpriv-drop.c: New file.
48543
48544         New module 'idpriv-drop'.
48545         * lib/idpriv.h: New file.
48546         * lib-idpriv-drop.c: New file.
48547         * m4/idpriv.m4: New file.
48548         * modules/idpriv-drop: New file.
48549
48550 2009-06-08  Bruno Haible  <bruno@clisp.org>
48551
48552         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
48553         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48554         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48555         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48556         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48557         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48558         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48559
48560 2009-06-08  Eric Blake  <ebb9@byu.net>
48561
48562         test-strstr: use memory fence, when possible
48563         * tests/test-strstr.c (main): Use memory fence, in order to be
48564         more likely to trigger Debian bug 521737.
48565         * modules/strstr-tests (Files): Pull in additional files.
48566
48567         memchr: no longer obsolete, for wider field testing
48568         * modules/memchr (Status, Notice): Delete, this module is no
48569         longer obsolete.
48570         * modules/vasnprintf (Depends-on): Add memchr.
48571
48572 2009-06-07  Jim Meyering  <meyering@redhat.com>
48573
48574         hash: declare some functions with the warn_unused_result attribute
48575         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
48576
48577 2009-06-07  Bruno Haible  <bruno@clisp.org>
48578
48579         * tests/test-alignof.c: Don't test int64_t if it does not exist.
48580         Reported by Eric Blake.
48581
48582 2009-06-06  Eric Blake  <ebb9@byu.net>
48583
48584         test-alignof: fix typo with long double
48585         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
48586         compiler error.
48587
48588 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
48589
48590         Escape non-texinfo { and }s.
48591         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
48592         markup error.
48593
48594 2009-06-04  Jim Meyering  <meyering@redhat.com>
48595
48596         gitlog-to-changelog: don't infloop on an empty commit log
48597         * build-aux/gitlog-to-changelog: Warn about an empty log message.
48598         Reported by Boris Petersen <transacid@centerim.org>.
48599
48600 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
48601
48602         version-etc: extend for packagers
48603         Add three new configure options, intended for packagers:
48604           --with-packager="packager name"
48605           --with-packager-version="packager-specific version"
48606           --with-packager-bug-reports="packager bug reporting"
48607         An example with coreutils:
48608           $ ./configure \
48609             --with-packager=Gentoo \
48610             --with-packager-bug-report=http://bugs.gentoo.org/ \
48611             --with-packager-version="patchset 1.6"
48612           $ ./src/ls --version | head -n2
48613           ls (GNU coreutils) 7.1-dirty
48614           Packaged by Gentoo (patchset 1.6)
48615         Note that the bug reporting info via --help doesn't show up because
48616         coreutils uses its own custom emit_bug_reporting_address() implementation
48617         in src/system.h.  If it didn't, it'd look like:
48618           $ ./src/ls --help | tail -n4
48619           Report bugs to <bug-coreutils@gnu.org>.
48620           Report Gentoo bugs to <http://bugs.gentoo.org/>.
48621           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
48622           General help using GNU software: <http://www.gnu.org/gethelp/>.
48623         * lib/version-etc.c: Print new information, if provided.
48624         * m4/version-etc.m4: New file.
48625         * modules/version-etc (Files): Add m4/version-etc.m4.
48626         (configure.ac): Add gl_VERSION_ETC.
48627
48628 2009-05-31  Bruno Haible  <bruno@clisp.org>
48629
48630         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
48631         and 'int64_t'.
48632         * modules/alignof-tests (Dependencies): Add stdint.
48633         Reported by Eric Blake.
48634
48635 2009-05-31  Bruno Haible  <bruno@clisp.org>
48636
48637         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
48638         restriction due to compiler bugs.
48639         Reported by Eric Blake.
48640
48641 2009-05-31  Simon Josefsson  <simon@josefsson.org>
48642             Bruno Haible  <bruno@clisp.org>
48643
48644         Fix test-alignof failure.
48645         * lib/alignof.h (alignof_slot): New macro.
48646         (alignof_type): New macro, with the same semantics as the previous
48647         'alignof'.
48648         (alignof): Alias to alignof_slot.
48649         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
48650         check that the results are usable as constant expressions.
48651
48652 2009-05-31  Bruno Haible  <bruno@clisp.org>
48653
48654         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
48655         * tests/test-memchr.c (main): Check that memchr does not read past the
48656         first occurrence of the byte.
48657         * tests/test-strstr.c (main): Update comment.
48658         Suggested by Eric Blake.
48659
48660 2009-05-30  Bruno Haible  <bruno@clisp.org>
48661
48662         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
48663         detail how to use dumpbin.
48664         Reported by David Byron <dbyron@dbyron.com>.
48665
48666 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48667
48668         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
48669
48670 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48671
48672         * m4/manywarnings.m4: Add GCC 4.4 warnings.
48673
48674 2009-05-28  Bruno Haible  <bruno@clisp.org>
48675
48676         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
48677         build-aux/ files.
48678
48679 2009-05-28  Simon Josefsson  <simon@josefsson.org>
48680
48681         * gnulib-tool (func_import): Transform license on build-aux/ files too.
48682
48683 2009-05-27  Simon Josefsson  <simon@josefsson.org>
48684
48685         * gnulib-tool (sed_transform_main_lib_file)
48686         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
48687         regexps.
48688
48689 2009-05-26  Simon Josefsson  <simon@josefsson.org>
48690
48691         * tests/test-strstr.c: Add another self-test.
48692         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
48693         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
48694
48695 2009-05-23  Bruno Haible  <bruno@clisp.org>
48696
48697         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
48698         change.
48699
48700 2009-05-21  Bruno Haible  <bruno@clisp.org>
48701
48702         Simplify use of mode_t varargs.
48703         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
48704         uses 'mode_t' or 'int'.
48705         * lib/openat.c (openat): Likewise.
48706         * lib/open-safer.c (open_safer): Likewise.
48707         * m4/mode_t.m4: New file.
48708         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
48709         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
48710         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
48711         * modules/open (Files): Add m4/mode_t.m4.
48712         * modules/openat (Files): Likewise.
48713         * modules/fcntl-safer (Files): Likewise.
48714         Suggested by Eric Blake.
48715
48716 2009-05-21  Pádraig Brady  <P@draigbrady.com>
48717
48718         * doc/glibc-functions/fallocate.texi: New file.
48719         * doc/gnulib.texi: Include it.
48720
48721 2009-05-21  Eric Blake  <ebb9@byu.net>
48722             Bruno Haible  <bruno@clisp.org>
48723
48724         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
48725         invocations.
48726         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48727
48728 2009-05-21  Eric Blake  <ebb9@byu.net>
48729             Bruno Haible  <bruno@clisp.org>
48730
48731         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
48732         include_next. Fix of 2008-11-20 commit.
48733         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
48734         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
48735         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
48736         NEXT_MATH_H.
48737         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
48738         instead of NEXT_MATH_H.
48739
48740 2009-05-21  Bruno Haible  <bruno@clisp.org>
48741
48742         Avoid redefinition warnings for SIZE_MAX.
48743         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
48744         Reported by Simon Josefsson.
48745
48746 2009-05-21  Bruno Haible  <bruno@clisp.org>
48747
48748         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
48749         AC_CACHE_VAL.
48750
48751 2009-05-20  Bruno Haible  <bruno@clisp.org>
48752
48753         Make zeroptr.h work on mingw.
48754         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
48755         mprotect.
48756         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
48757         * modules/memchr2-tests (configure.ac): Likewise.
48758         * modules/memcmp-tests (configure.ac): Likewise.
48759         * modules/memmem-tests (configure.ac): Likewise.
48760         * modules/memrchr-tests (configure.ac): Likewise.
48761         Reported by Simon Josefsson.
48762
48763 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48764
48765         * tests/test-glob.c: Include string.h for strcmp prototype.
48766
48767 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48768
48769         * modules/getdelim (Depends-on): Add explicit stdint, although it
48770         was implicitly already pulled in via realloc-posix.
48771         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
48772
48773 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48774
48775         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
48776         G. Christensen" <tgc@jupiterrise.com>.
48777         * m4/sys_socket_h.m4: Check for sa_family_t.
48778         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
48779         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
48780         * tests/test-sys_socket.c: Check that sa_family_t works.
48781
48782 2009-05-18  Eric Blake  <ebb9@byu.net>
48783
48784         maint.mk: allow gnulib_dir in VPATH build
48785         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
48786
48787 2009-05-15  Jim Meyering  <meyering@redhat.com>
48788
48789         maint.mk: Give gnulib_dir a default definition.
48790         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
48791         Thus, most packages no longer need to specify this variable in cfg.mk
48792
48793 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
48794
48795         rename.m4: fix typos that would make non-mingw cross-configure fail
48796         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
48797
48798 2009-05-13  Eric Blake  <ebb9@byu.net>
48799
48800         mmap-anon: avoid out-of-order autoconf expansion
48801         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
48802         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
48803         * modules/memchr-tests (Depends-on): Add extensions.
48804         * modules/memchr2-tests (Depends-on): Add extensions.
48805         * modules/memcmp-tests (Depends-on): Add extensions.
48806         * modules/memmem-tests (Depends-on): Add extensions.
48807         * modules/memrchr-tests (Depends-on): Add extensions.
48808
48809 2009-05-13  Bruno Haible  <bruno@clisp.org>
48810
48811         Make some tests ISO C 99 compliant.
48812         * tests/zerosize-ptr.h: New file.
48813         * tests/test-memchr.c: Include zerosize-ptr.h.
48814         (main): Use a zero-size object pointer instead of NULL.
48815         * tests/test-memchr2.c: Include zerosize-ptr.h.
48816         (main): Use a zero-size object pointer instead of NULL.
48817         * tests/test-memcmp.c: Include zerosize-ptr.h.
48818         (main): Use a zero-size object pointer instead of NULL.
48819         * tests/test-memmem.c: Include zerosize-ptr.h.
48820         (main): Use a zero-size object pointer instead of NULL.
48821         * tests/test-memrchr.c: Include zerosize-ptr.h.
48822         (main): Use a zero-size object pointer instead of NULL.
48823         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
48824         m4/mmap-anon.m4.
48825         (Depends-on): Add getpagesize.
48826         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48827         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
48828         m4/mmap-anon.m4.
48829         (Depends-on): Add getpagesize.
48830         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48831         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
48832         m4/mmap-anon.m4.
48833         (Depends-on): Add getpagesize.
48834         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48835         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
48836         m4/mmap-anon.m4.
48837         (Depends-on): Add getpagesize.
48838         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48839         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
48840         m4/mmap-anon.m4.
48841         (Depends-on): Add getpagesize.
48842         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48843
48844 2009-05-12  Bruno Haible  <bruno@clisp.org>
48845
48846         Tests for module 'alignof'.
48847         * modules/alignof-tests: New file.
48848         * tests/test-alignof.c: New file.
48849
48850 2009-05-12  Bruno Haible  <bruno@clisp.org>
48851
48852         Fix alignof macro.
48853         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
48854         vendor compilers that are always correct.
48855
48856 2009-05-12  Bruno Haible  <bruno@clisp.org>
48857
48858         Make the MAP_ANONYMOUS detection work on HP-UX 11.
48859         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
48860         not whether its fully works.
48861
48862 2009-05-12  Bruno Haible  <bruno@clisp.org>
48863
48864         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
48865
48866 2009-05-12  Jim Meyering  <meyering@redhat.com>
48867
48868         * top/maint.mk: Adjust backslash alignment.
48869
48870 2009-05-11  Simon Josefsson  <simon@josefsson.org>
48871
48872         * top/maint.mk: Make $(srcdir)/build-aux configurable.
48873
48874 2009-05-11  Eric Blake  <ebb9@byu.net>
48875
48876         argp: avoid undefined behavior
48877         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
48878         macros.
48879
48880 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48881
48882         * tests/test-vc-list-files-git.sh: Do git config of user.email and
48883         user.name to prevent git commit from complaining.
48884
48885 2009-05-10  Bruno Haible  <bruno@clisp.org>
48886
48887         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
48888         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
48889         it rewrites every file name only once.
48890         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
48891
48892 2009-05-08  Bruno Haible  <bruno@clisp.org>
48893
48894         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
48895         instead of 'max'.
48896
48897 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48898
48899         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
48900         sockaddr_storage test.
48901
48902 2009-05-07  Simon Josefsson  <simon@josefsson.org>
48903
48904         * modules/sys_socket (Makefile.am): Substitute
48905         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
48906         * m4/sys_socket_h.m4: Check for sockaddr_storage.
48907         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
48908         * tests/test-sys_socket.c: Check sockaddr_storage.
48909
48910 2009-05-08  Bruno Haible  <bruno@clisp.org>
48911
48912         New module 'alignof'.
48913         * lib/alignof.h: New file.
48914         * modules/alignof: New file.
48915
48916 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48917             Bruno Haible  <bruno@clisp.org>
48918
48919         Fix test-file-has-acl on FreeBSD.
48920         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
48921         mask is implicitly added.
48922         * tests/test-file-has-acl.c: Include <signal.h>.
48923         (main): Terminate the test after 5 seconds.
48924         * modules/acl-tests (configure.ac): Check for alarm function.
48925
48926 2009-05-04  Bruno Haible  <bruno@clisp.org>
48927
48928         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
48929         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
48930         * modules/errno (configure.ac): Drop AC_REQUIRE.
48931         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
48932         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
48933
48934 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48935
48936         * modules/glob-tests: New module.
48937         * tests/test-glob.c: Add.
48938
48939 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48940
48941         * modules/fnmatch-tests: New module.
48942         * tests/test-fnmatch.c: Add.
48943
48944 2009-05-04  Eric Blake  <ebb9@byu.net>
48945
48946         maint: make the new no-submodule-changes rule VPATH-safe
48947         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
48948
48949 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48950             Bruno Haible  <bruno@clisp.org>
48951
48952         acl: Fix infinite loop on FreeBSD.
48953         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
48954         of return value from acl_get_entry.
48955         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
48956         Likewise.
48957
48958 2009-05-03  Bruno Haible  <bruno@clisp.org>
48959
48960         * lib/acl-internal.h (acl_entries): Clarify return value.
48961         * lib/acl_entries.c (acl_entries): Likewise.
48962
48963 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48964
48965         Bug fix in acl module.
48966         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
48967
48968 2009-05-03  Bruno Haible  <bruno@clisp.org>
48969
48970         Create gperf-generated file in the source dir, not in the build dir.
48971         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
48972         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
48973         * modules/unicase/locale-language (unicase/locale-languages.h):
48974         Likewise.
48975         * modules/unicase/special-casing (unicase/special-casing-table.h):
48976         Likewise.
48977         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
48978         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
48979         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
48980         Reported by Ralf Wildenhues.
48981
48982 2009-05-03  Bruno Haible  <bruno@clisp.org>
48983
48984         * modules/fnmatch (Description, configure.ac): Taken from
48985         fnmatch-posix.
48986         * modules/fnmatch-posix: Turn into a symbolic reference to the
48987         'fnmatch' module, and deprecate.
48988         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
48989
48990 2009-05-03  Bruno Haible  <bruno@clisp.org>
48991
48992         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
48993         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
48994         Reported by Ralf Wildenhues.
48995
48996 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48997
48998         * m4/fnmatch.m4: Fix fnmatch re-define.
48999
49000 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
49001
49002         priv-set: new module and tests; adapt write-any-file
49003         * lib/priv-set.c: New file.
49004         * lib/priv-set.h: New file.
49005         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
49006         * lib/write-any-file.c: Simplify by using priv-set module.
49007         * m4/priv-set.m4: New file.
49008         * modules/priv-set: New file.
49009         * modules/unlinkdir: Add dependency on priv-set module.
49010         * modules/write-any-file: Likewise.
49011
49012         Tests for module 'priv-set'.
49013         * modules/priv-set-tests: New file.
49014         * tests/test-priv-set.c: New file.
49015
49016 2009-05-03  Jim Meyering  <meyering@redhat.com>
49017             Bruno Haible  <bruno@clisp.org>
49018
49019         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
49020         use the converted UTF-8 variant of the name instead.
49021
49022 2009-05-03  Jim Meyering  <meyering@redhat.com>
49023
49024         tests: tighten some getdate tests
49025         * tests/test-getdate.c (main): Tighten tests: require equality,
49026         not just greater than.  Set TZ envvar to UTC0.
49027
49028 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
49029
49030         getdate: correctly interpret "next monday" when run on a Monday
49031         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
49032         that e.g., "next tues" (when run on a tuesday) results in a date
49033         that is one week in the future, and not today's date.
49034         I.e., add a week when the wday is the same as the current one.
49035         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
49036         and earlier by Martin Bernreuther and Jan Minář.
49037         * tests/test-getdate.c (main): Check that "next DAY" is always in
49038         the future and that "last DAY" is always in the past.
49039
49040 2009-05-02  Jim Meyering  <meyering@redhat.com>
49041
49042         build: ensure that a release build fails when a submodule is unclean
49043         * top/maint.mk (no-submodule-changes): New rule.
49044         (alpha beta major): Depend on it.
49045
49046 2009-05-02  Bruno Haible  <bruno@clisp.org>
49047
49048         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
49049         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
49050         shell variable gl_fnmatch_required to detect which variant is
49051         requested.
49052         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
49053         gl_FUNC_FNMATCH_POSIX.
49054         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
49055         exclude fnmatch-posix.
49056
49057 2009-05-02  Bruno Haible  <bruno@clisp.org>
49058
49059         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
49060         * modules/mbsrtowcs (License): Change to LGPLv2+.
49061         * modules/strnlen1 (License): Likewise.
49062         Reported by Simon Josefsson.
49063
49064 2009-05-02  Bruno Haible  <bruno@clisp.org>
49065
49066         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
49067         "cross".
49068         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
49069         gnulib-tool was called with option --source-base=lib.
49070
49071 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49072
49073         Use automake *-local hooks without commands, for extensibility.
49074         * modules/localcharset (Makefile.am): Rename install-exec-local
49075         rule to install-exec-localcharset, and make it a prerequisite of
49076         install-exec-local.  Likewise, rename the uninstall-local rule to
49077         uninstall-localcharset, and make it a prerequisite of the former.
49078
49079 2009-05-01  Bruno Haible  <bruno@clisp.org>
49080
49081         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
49082         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
49083         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
49084         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
49085         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
49086         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
49087         m4/locale-zh.m4, m4/codeset.m4.
49088
49089         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
49090         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
49091         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
49092         m4/locale-zh.m4.
49093
49094         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
49095         REPLACE_WCRTOMB if mbstate_t must be replaced.
49096         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
49097         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
49098
49099 2009-05-01  Bruno Haible  <bruno@clisp.org>
49100
49101         Avoid compiler warnings when redefining macros defined by <libintl.h>.
49102         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
49103         dngettext, dcngettext, textdomain, bindtextdomain,
49104         bind_textdomain_codeset): Undefine before redefining.
49105
49106 2009-04-30  Bruno Haible  <bruno@clisp.org>
49107
49108         Fix bug introduced on 2009-04-25.
49109         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
49110         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
49111         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
49112         is defined.
49113         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
49114         is defined.
49115         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
49116         is defined.
49117         Reported by Elbert_Pol <elbert.pol@gmail.com>.
49118
49119 2009-04-28  Bruno Haible  <bruno@clisp.org>
49120
49121         Comment tweaks.
49122         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
49123         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
49124         * lib/unicase.h (u*_casexfrm): Likewise.
49125         Reported by Paolo Bonzini.
49126
49127 2009-04-28  Bruno Haible  <bruno@clisp.org>
49128
49129         Fix a compilation error.
49130         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
49131         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
49132         Reported by Jim Meyering.
49133
49134 2009-04-27  Bruno Haible  <bruno@clisp.org>
49135
49136         New module 'libunistring'.
49137         * modules/libunistring: New file.
49138         * m4/libunistring.m4: New file.
49139         * MODULES.html.sh (Unicode string functions): Add it.
49140
49141 2009-04-27  Eric Blake  <ebb9@byu.net>
49142
49143         maint.mk: allow package-specific header to provide <config.h>
49144         * top/maint.mk (sc_require_config_h): New variable.
49145         (sc_require_config_h, sc_require_config_h_first): Use it.
49146
49147 2009-04-27  Simon Josefsson  <simon@josefsson.org>
49148
49149         * top/maint.mk (sc_avoid_if_before_free): Except
49150         useless-if-before-free script.
49151
49152 2009-04-27  Eric Blake  <ebb9@byu.net>
49153
49154         maintainer-makefile: depend on all required helper scripts
49155         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
49156         useless-if-before-free.
49157         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
49158         version, rather than assuming gnulib checkout is available.
49159         Reported by Simen Josefsson.
49160
49161 2009-04-26  Bruno Haible  <bruno@clisp.org>
49162
49163         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
49164         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
49165         "../" or "..".
49166
49167 2009-04-26  Bruno Haible  <bruno@clisp.org>
49168
49169         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
49170         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
49171         AC_LIB_HAVE_LINKFLAGS.
49172
49173 2009-04-26  Bruno Haible  <bruno@clisp.org>
49174
49175         Simplify calling convention of u*_conv_from_encoding.
49176         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
49177         u32_conv_from_encoding): Expect a resultbuf argument and return the
49178         result directly as a pointer.
49179         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
49180         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
49181         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
49182         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
49183         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
49184         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
49185         Update.
49186         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
49187         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
49188         * lib/vasnprintf.c (VASNPRINTF): Update.
49189         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
49190         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
49191         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
49192         * NEWS: Mention the change.
49193
49194 2009-04-26  Bruno Haible  <bruno@clisp.org>
49195
49196         Simplify calling convention of u*_conv_to_encoding.
49197         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
49198         u32_conv_to_encoding): Expect a resultbuf argument and return the
49199         result directly as a pointer.
49200         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
49201         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
49202         freeing scaled_offsets if mem_iconveha failed.
49203         * lib/unicase/u-casexfrm.h (FUNC): Update.
49204         * lib/uninorm/u-normxfrm.h (FUNC): Update.
49205         * lib/vasnprintf.c (VASNPRINTF): Update.
49206         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
49207         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
49208         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
49209         * NEWS: Mention the change.
49210
49211 2009-04-26  Bruno Haible  <bruno@clisp.org>
49212
49213         Avoid test failures on AIX and OSF/1.
49214         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
49215         malloc(0).
49216         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
49217         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
49218         Likewise.
49219         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
49220         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
49221         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
49222         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
49223         * doc/posix-functions/malloc.texi: Document the portability problem
49224         related to malloc(0).
49225
49226 2009-04-26  Bruno Haible  <bruno@clisp.org>
49227
49228         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
49229         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
49230         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
49231
49232 2009-04-25  Bruno Haible  <bruno@clisp.org>
49233
49234         Avoid link error when creating a namespace clean library.
49235         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
49236         as macro with arguments if already defined as an alias.
49237         * lib/signbitf.c (gl_signbitf): Don't undefine.
49238         * lib/signbitd.c (gl_signbitd): Don't undefine.
49239         * lib/signbitl.c (gl_signbitl): Don't undefine.
49240
49241 2009-04-25  Jim Meyering  <meyering@redhat.com>
49242
49243         vc-list-files: fix another quoting bug
49244         * build-aux/vc-list-files: Avoid sed backslash expansion
49245         of pathological directory names.
49246
49247 2009-04-25  Eric Blake  <ebb9@byu.net>
49248
49249         vc-list-files: fix shell quoting error
49250         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
49251         timestamp.
49252
49253 2009-04-25  Jim Meyering  <meyering@redhat.com>
49254
49255         vc-list-files: restore lost functionality with subdir argument
49256         * build-aux/vc-list-files: When given a non-"." sub-directory
49257         argument, substitute the $dir/ prefix back onto each resulting name.
49258         Otherwise, coreutils' root_tests check would fail.
49259
49260 2009-04-24  Eric Blake  <ebb9@byu.net>
49261
49262         vc-list-files: ignore git symlinks
49263         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
49264         than ls-files, to ignore git symlinks.
49265
49266         maint.mk: import improvements from m4
49267         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
49268         (move_if_change): Delete unused macro.
49269         (news-date-check, vc-diff-check): Support VPATH builds.
49270         (announcement): Likewise.  Split --bootstrap-tools list...
49271         (boostrap-tools): ...into separate list, which can be overridden
49272         in cfg.mk.
49273         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
49274         requiring dependency on useless-if-before-free module.
49275         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
49276         Support VPATH builds.
49277
49278 2009-04-24  Jim Meyering  <meyering@redhat.com>
49279
49280         maint.mk: remove coreutils-specific rules and variables
49281         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
49282         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
49283         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
49284
49285         maint.mk: remove obsolete rule
49286         * top/maint.mk (rel-check): Remove rule.
49287         (WGET, WGETFLAGS): Remove now-unused variables.
49288
49289 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49290
49291         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
49292         consistency.
49293
49294         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
49295         '$(PATH_SEPARATOR)' instead of ':'.
49296
49297 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49298
49299         * lib/getopt1.c (main): Use 'const' for static array.
49300
49301 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49302
49303         * top/maint.mk: Sync with coreutils.
49304         * NEWS: Explain incompatibilities.
49305
49306 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49307             Bruno Haible  <bruno@clisp.org>
49308
49309         Fix cross-compilation results.
49310         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
49311         statement, as third argument of AC_TRY_RUN.
49312         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
49313         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
49314         Likewise.
49315         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
49316         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
49317         Likewise.
49318         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49319         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
49320         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
49321
49322 2009-04-20  Bruno Haible  <bruno@clisp.org>
49323
49324         Avoid test failure on mingw.
49325         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
49326
49327 2009-04-20  Bruno Haible  <bruno@clisp.org>
49328
49329         Avoid compilation error on mingw.
49330         * modules/localename-tests (Depends-on): Add locale.
49331
49332 2009-04-19  Bruno Haible  <bruno@clisp.org>
49333
49334         Support for building a shared library on Windows platforms.
49335         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
49336         (main): Test the presence of UNINORM_NFC here.
49337         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
49338         (main): Test the presence of UNINORM_NFD here.
49339         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
49340         (main): Test the presence of UNINORM_NFKC here.
49341         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
49342         (main): Test the presence of UNINORM_NFKD here.
49343
49344 2009-04-19  Bruno Haible  <bruno@clisp.org>
49345
49346         Avoid a compiler warning.
49347         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
49348         Change type of variable 'sequence'.
49349
49350 2009-04-19  Bruno Haible  <bruno@clisp.org>
49351
49352         * modules/configmake (Makefile.am): When the contents of configmake.h
49353         does not change, arrange to preserve its modification time.
49354
49355 2009-04-17  Simon Josefsson  <simon@josefsson.org>
49356
49357         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
49358         gettext domain.
49359
49360 2009-04-16  Jim Meyering  <meyering@redhat.com>
49361
49362         useless-if-before-free: improve conversion code
49363         * build-aux/useless-if-before-free: Adjust code-in-comment to match
49364         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
49365
49366 2009-04-14  Bruno Haible  <bruno@clisp.org>
49367
49368         * modules/fcntl (Depends-on): Add extensions.
49369         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
49370
49371 2009-04-12  Ben Pfaff  <blp@gnu.org>
49372
49373         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
49374         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
49375
49376 2009-03-20  Ben Pfaff  <blp@gnu.org>
49377
49378         Make rename replace existing destinations on Windows.
49379         * m4/rename.m4: Add test for Mingw.
49380         * lib/rename.c: Add rename replacement that uses MoveFileEx with
49381         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
49382         * doc/posix-functions/rename.texi: Document.
49383
49384 2009-04-10  Bruno Haible  <bruno@clisp.org>
49385
49386         New include file "iconveh.h".
49387         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
49388         * lib/striconveh.h: Include it.
49389         (enum iconv_ilseq_handler): Remove definition.
49390         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
49391         striconveh.h.
49392         * lib/striconveha.c: Include striconveh.h.
49393         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
49394         * modules/striconveh (Files): Add lib/iconveh.h.
49395         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
49396         lib/striconveh.h.
49397
49398 2009-04-10  Bruno Haible  <bruno@clisp.org>
49399
49400         * lib/uniconv.h: Update comment.
49401
49402 2009-04-10  Bruno Haible  <bruno@clisp.org>
49403
49404         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
49405         always.
49406         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
49407         * lib/unistr/u16-mbtouc-aux.c: Likewise.
49408         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
49409         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
49410         "unistring-notinline.h", so that the function gets defined always.
49411         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
49412         * lib/unistr/u8-uctomb.c: Likewise.
49413         * lib/unistr/u16-mbtouc.c: Likewise.
49414         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
49415         * lib/unistr/u16-uctomb.c: Likewise.
49416         * lib/unistr/u32-mbtouc.c: Likewise.
49417         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
49418         * lib/unistr/u32-uctomb.c: Likewise.
49419
49420 2009-04-10  Bruno Haible  <bruno@clisp.org>
49421
49422         Mark 'utime' obsolete.
49423         * modules/utime (Status, Notice): New sections.
49424         Suggested by Jim Meyering.
49425
49426         Fix cross-compile guess for utime test.
49427         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
49428         autoconf.
49429         * doc/posix-functions/utime.texi: Give more precisions.
49430         Reported by Jan <ipif@ymail.com>.
49431
49432 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
49433
49434         filevercmp: correct today's change
49435         * lib/filevercmp.c: Also handle coreutils' test inputs.
49436         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
49437
49438         Fix regression in 'filevercmp' module. Thanks Sven Joachim
49439         for reporting it.
49440         * lib/filevercmp.c: Special handle for "", "." and "..".
49441         * tests/test-filevercmp.c: Enlarge the set suite.
49442
49443 2009-04-07  Jim Meyering  <meyering@redhat.com>
49444
49445         useless-if-before-free: show how to remove braced useless free, too
49446         * build-aux/useless-if-before-free: still only in a comment, though.
49447
49448 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
49449
49450         maint.mk: import changes to syntax-check macros from coreutils
49451         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
49452         Use them in the relevant macros.
49453
49454 2009-04-06  Bruno Haible  <bruno@clisp.org>
49455
49456         Fix unportable use of bit-fields.
49457         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
49458         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
49459         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
49460
49461 2009-04-06  Bruno Haible  <bruno@clisp.org>
49462
49463         Avoid test failures on AIX and OSF/1.
49464         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
49465         that malloc(0) = NULL.
49466         * tests/unicase/test-u8-tolower.c (check): Likewise.
49467         * tests/unicase/test-u8-totitle.c (check): Likewise.
49468         * tests/unicase/test-u8-toupper.c (check): Likewise.
49469         * tests/unicase/test-u16-casefold.c (check): Likewise.
49470         * tests/unicase/test-u16-tolower.c (check): Likewise.
49471         * tests/unicase/test-u16-totitle.c (check): Likewise.
49472         * tests/unicase/test-u16-toupper.c (check): Likewise.
49473         * tests/unicase/test-u32-casefold.c (check): Likewise.
49474         * tests/unicase/test-u32-tolower.c (check): Likewise.
49475         * tests/unicase/test-u32-totitle.c (check): Likewise.
49476         * tests/unicase/test-u32-toupper.c (check): Likewise.
49477         * tests/uninorm/test-u8-nfc.c (check): Likewise.
49478         * tests/uninorm/test-u8-nfd.c (check): Likewise.
49479         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
49480         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
49481         * tests/uninorm/test-u16-nfc.c (check): Likewise.
49482         * tests/uninorm/test-u16-nfd.c (check): Likewise.
49483         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
49484         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
49485         * tests/uninorm/test-u32-nfc.c (check): Likewise.
49486         * tests/uninorm/test-u32-nfd.c (check): Likewise.
49487         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
49488         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
49489
49490 2009-04-05  Bruno Haible  <bruno@clisp.org>
49491
49492         Work around an autoconf limitation.
49493         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
49494         comment line if it would be longer than 3 KB.
49495
49496 2009-04-05  Bruno Haible  <bruno@clisp.org>
49497
49498         Avoid test failure with libiconv-1.13.
49499         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
49500         of the expected test results.
49501
49502 2009-04-05  Bruno Haible  <bruno@clisp.org>
49503
49504         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
49505         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
49506         that it should be installed.
49507
49508 2009-04-05  Bruno Haible  <bruno@clisp.org>
49509
49510         * gnulib-tool: New option --copy-file.
49511         (func_usage): Document it.
49512         (func_dest_tmpfilename): Moved out of func_import.
49513         (func_add_file, func_update_file): New functions, extracted from
49514         func_import.
49515         (func_import): Update.
49516
49517 2009-04-05  Karl Berry  <karl@gnu.org>
49518
49519         * README: prominently mention gnulib-tool.
49520         Rearrange sections so getting the code is near the top.
49521
49522 2009-04-05  Bruno Haible  <bruno@clisp.org>
49523
49524         * lib/unicase.h: Mention u*_cmp2.
49525         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49526         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
49527         * lib/unicase/ulc-casecmp.c: Likewise.
49528         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
49529         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
49530         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
49531         unistr/u8-cmp.
49532         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
49533         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
49534         unistr/u16-cmp.
49535         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
49536         unistr/u32-cmp.
49537
49538         * lib/uninorm.h: Mention u*_cmp2.
49539         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49540         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
49541         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
49542         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
49543         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
49544         unistr/u8-cmp.
49545         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
49546         unistr/u16-cmp.
49547         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
49548         unistr/u32-cmp.
49549
49550         New module 'unistr/u32-cmp2'.
49551         * lib/unistr/u32-cmp2.c: New file.
49552         * modules/unistr/u32-cmp2: New file.
49553
49554         New module 'unistr/u16-cmp2'.
49555         * lib/unistr/u16-cmp2.c: New file.
49556         * modules/unistr/u16-cmp2: New file.
49557
49558         New module 'unistr/u8-cmp2'.
49559         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
49560         * lib/unistr/u8-cmp2.c: New file.
49561         * lib/unistr/u-cmp2.h: New file.
49562         * modules/unistr/u8-cmp2: New file.
49563
49564 2009-04-05  Bruno Haible  <bruno@clisp.org>
49565
49566         * lib/unictype.h (uc_property_is_valid): New macro.
49567         * tests/unictype/test-pr_byname.c (main): Use it.
49568
49569         * lib/unistr.h: Doc fixes.
49570         * lib/uniconv.h: Doc fixes.
49571         * lib/unictype.h: Doc fixes.
49572
49573 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
49574
49575         Port coreutils 7.2 to Solaris 8.
49576
49577         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
49578         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
49579         for Solaris 8.  This is a bit of a hack, as it means it's the
49580         caller's responsibility to add -lnsl if needed, but most likely it
49581         won't be needed since only getaddrinfo uses this and getaddrinfo
49582         isn't needed on Solaris 8.
49583
49584         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
49585         problem to Solaris 8 encountered with coreutils 7.2, which
49586         resulted in a message "fnmatch.c:292: warning: passing argument 4
49587         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
49588         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
49589
49590 2009-04-03  Simon Josefsson  <simon@josefsson.org>
49591
49592         * m4/ld-version-script.m4: Add FIXME comment.
49593
49594 2009-04-02  Simon Josefsson  <simon@josefsson.org>
49595
49596         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
49597         SOVERSION variable.
49598
49599 2009-04-02  Bruno Haible  <bruno@clisp.org>
49600
49601         * Makefile (info, html, dvi, pdf): Combine the rules.
49602         Suggested by Jim Meyering.
49603
49604 2009-04-01  Bruno Haible  <bruno@clisp.org>
49605
49606         * Makefile (info, html, dvi, pdf): New targets.
49607         Reported by Reuben Thomas <rrt@sc3d.org>.
49608
49609 2009-04-01  Bruno Haible  <bruno@clisp.org>
49610
49611         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
49612         can be put into PATH.
49613         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
49614
49615 2009-04-01  Bruno Haible  <bruno@clisp.org>
49616
49617         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
49618
49619 2009-04-01  Bruno Haible  <bruno@clisp.org>
49620
49621         Rename module 'visibility'.
49622         * modules/lib-symbol-visibility: Renamed from modules/visibility.
49623         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
49624         * doc/gnulib.texi: Update.
49625         * MODULES.html.sh (Misc): Update.
49626         * NEWS: Mention the change.
49627
49628 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49629
49630         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
49631         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
49632         Eric Blake <ebb9@byu.net> for review.
49633         * MODULES.html.sh: Add lib-msvc-compat.
49634         * doc/gnulib.texi: Link to new section.
49635         * m4/ld-output-def.m4: New file.
49636         * doc/ld-output-def.texi: New file.
49637
49638 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49639
49640         Rename ld-version-script to lib-symbol-versions.  Suggested by
49641         Bruno Haible <bruno@clisp.org>.
49642         * modules/ld-version-script: Renamed to lib-symbol-versions.
49643         * doc/ld-version-script.texi: Fix module name.
49644         * MODULES.html.sh: Add lib-symbol-versions.
49645
49646 2009-03-31  Simon Josefsson  <simon@josefsson.org>
49647
49648         * modules/u64-tests: New file.
49649         * tests/test-u64.c: New file.
49650
49651 2009-03-04  Simon Josefsson  <simon@josefsson.org>
49652
49653         * MODULES.html.sh: Mention u64.
49654         * modules/u64: New module.
49655         * modules/crypto/sha512: Depend on u64 module instead of providing
49656         u64.h.
49657
49658 2009-03-27  Eric Blake  <ebb9@byu.net>
49659
49660         test-strerror: make debugging EAI_SYSTEM easier
49661         * modules/getaddrinfo-tests (Depends-on): Add strerror.
49662         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
49663         failure was EAI_SYSTEM.
49664
49665 2009-03-25  Bruno Haible  <bruno@clisp.org>
49666
49667         Fix a problem with --enable-relocatable on Solaris 7.
49668         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
49669         since 2008-02-24.
49670
49671 2009-03-25  Eric Blake  <ebb9@byu.net>
49672
49673         test-sockets: avoid gcc warning
49674         * tests/test-sockets.c (main): Silence compiler warning.
49675
49676 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
49677
49678         New modules nproc, pthread, contributed by Glen Lenker.
49679
49680         * MODULES.html.sh: Add pthread, nproc.
49681         * lib/nproc.c: New file.
49682         * lib/nproc.h: New file.
49683         * lib/pthread.in.h: New file.
49684         * m4/pthread.m4: New file.
49685         * modules/nproc: New file.
49686         * modules/pthread: New file.
49687
49688 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49689
49690         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
49691         New variable.
49692
49693 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
49694
49695         filevercmp: handle simple~ and numbered.~3~ backup suffixes
49696         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
49697         * tests/test-filevercmp.c: Add tests for backup suffixes.
49698
49699 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49700
49701         * modules/stdlib (Depends-on): Add stdint, needed when defining
49702         struct random_data on, for example, HP-UX 10.20.  Reported by
49703         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49704
49705 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49706
49707         * lib/readline.c (readline): Call fflush on stdout after printing
49708         prompt.
49709
49710 2009-03-20  Bruno Haible  <bruno@clisp.org>
49711
49712         Remove dependency from 'close' module to -lws2_32 on native Windows.
49713         * lib/close-hook.h: New file.
49714         * lib/close-hook.c: New file.
49715         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
49716         w32sock.h.
49717         (_gl_close_fd_maybe_socket): Remove function.
49718         (rpl_close): Invoke execute_all_close_hooks instead of
49719         _gl_close_fd_maybe_socket.
49720         * lib/sockets.c: Include close-hook.h, w32sock.h.
49721         (close_fd_maybe_socket): New function, essentially from lib/close.c.
49722         (close_sockets_hook): New variable.
49723         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
49724         (gl_sockets_cleanup): Unregister it.
49725         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
49726         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
49727         * modules/close-hook: New file.
49728         * modules/close (Files): Remove lib/w32sock.h.
49729         (Depends-on): Add close-hook.
49730         (Link): Remove section.
49731         * modules/sockets (Files): Add lib/w32sock.h.
49732         (Depends-on): Add close-hook.
49733         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
49734         invocation.
49735         * NEWS: Mention that LIB_CLOSE is gone.
49736
49737 2009-03-23  Eric Blake  <ebb9@byu.net>
49738
49739         signal-tests: test previous patch
49740         * tests/test-signal.c: New file.
49741         * modules/signal-tests: Likewise.
49742
49743         signal.h: always support 'volatile sig_atomic_t'
49744         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
49745         (gl_SIGNAL_H_DEFAULTS): Add a default.
49746         * modules/signal (Makefile.am): Substitute if needed.
49747         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
49748         users can blindly add volatile.
49749         * doc/posix-headers/signal.texi (signal.h): Document it.
49750         Reported by Matthew Woehlke.
49751
49752 2009-03-23  Jim Meyering  <meyering@redhat.com>
49753
49754         pathmax: PATH_MAX: use pathconf only when available
49755         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
49756         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
49757         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
49758         This avoids a link failure in a PSP cross-compilation environment
49759         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
49760
49761         * lib/vasnprintf.c (divide): Fix typo in comment.
49762
49763 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49764
49765         * gnulib-tool (func_filter_filelist): Fix comment.
49766
49767 2009-03-20  Bruno Haible  <bruno@clisp.org>
49768
49769         Make sockets.h self-contained.
49770         * lib/sockets.c: Include sockets.h first.
49771         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
49772
49773 2009-03-19  Eric Blake  <ebb9@byu.net>
49774
49775         doc: mention more functions added in cygwin 1.7.0
49776         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
49777         addition.
49778         * doc/posix-functions/log2f.texi: Likewise.
49779
49780 2009-03-19  Jim Meyering  <meyering@redhat.com>
49781
49782         fsusage: avoid syntax error due to statement-before-declaration
49783         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
49784         after all declarations.  Reported by Matthew Woehlke in
49785         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
49786
49787 2009-03-18  Eric Blake  <ebb9@byu.net>
49788
49789         build-aux/compile: sync from automake
49790         * build-aux/compile: New file, from automake.
49791         * config/srclist.txt: Mention build-aux/compile.
49792
49793 2009-03-17  Bruno Haible  <bruno@clisp.org>
49794
49795         * lib/git-merge-changelog.c: Fix typo in comment.
49796         Reported by Reuben Thomas <rrt@sc3d.org>.
49797
49798 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
49799
49800         * m4/regex.m4: update and improve help for
49801         --without-included-regex.
49802
49803 2009-03-17  Simon Josefsson  <simon@josefsson.org>
49804
49805         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
49806         failure on missing include files.
49807
49808 2009-03-17  Eric Blake  <ebb9@byu.net>
49809
49810         doc: mention more functions added in cygwin 1.7.0
49811         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
49812         addition.
49813         * doc/posix-functions/fwscanf.texi: Likewise.
49814         * doc/posix-functions/swprintf.texi: Likewise.
49815         * doc/posix-functions/swscanf.texi: Likewise.
49816         * doc/posix-functions/vfwprintf.texi: Likewise.
49817         * doc/posix-functions/vfwscanf.texi: Likewise.
49818         * doc/posix-functions/vswprintf.texi: Likewise.
49819         * doc/posix-functions/vswscanf.texi: Likewise.
49820         * doc/posix-functions/vwprintf.texi: Likewise.
49821         * doc/posix-functions/vwscanf.texi: Likewise.
49822         * doc/posix-functions/wcscasecmp.texi: Likewise.
49823         * doc/posix-functions/wcsdup.texi: Likewise.
49824         * doc/posix-functions/wcsftime.texi: Likewise.
49825         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49826         * doc/posix-functions/wprintf.texi: Likewise.
49827         * doc/posix-functions/wscanf.texi: Likewise.
49828         * doc/glibc-functions/gethostbyname2.texi: Likewise.
49829
49830 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49831
49832         maint.mk: really add $(AM_MAKEFLAGS)
49833         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
49834         was inadvertently omitted in the last commit.
49835         Spotted by Bruno Haible.
49836
49837         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
49838         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
49839         $(AM_MAKEFLAGS)' rather than plain `make'.
49840
49841         gnulib-tool: execute $MAKE not make
49842         * gnulib-tool: Default $MAKE to 'make'.
49843         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
49844         than make.  Initialize $MAKE in the do-autobuild script.
49845
49846         gnulib-tool: use $MAKE not make in generated files
49847         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
49848         make, in generated files.  Initialize $MAKE in the do-autobuild
49849         script.
49850
49851         * top/GNUmakefile (_have-git-version-gen): Fix typo.
49852
49853         GNUmakefile: disable parallelism only for multiple, recursive targets
49854         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
49855         additions in the Makefile.
49856         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
49857         by Automake.
49858         (.NOTPARALLEL): Only disable parallel builds if multiple targets
49859         are listed on the command line and at least one of them is
49860         listed in $(ALL_RECURSIVE_TARGETS).
49861
49862 2009-03-14  Bruno Haible  <bruno@clisp.org>
49863
49864         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
49865         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
49866         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
49867         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
49868         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
49869         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
49870         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
49871         unistr/u8-uctomb.
49872         * modules/unistr/u8-strchr (Depends-on): Likewise.
49873         * modules/unistr/u8-strrchr (Depends-on): Likewise.
49874         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
49875         unistr/u16-uctomb.
49876         * modules/unistr/u16-strchr (Depends-on): Likewise.
49877         * modules/unistr/u16-strrchr (Depends-on): Likewise.
49878
49879 2009-03-12  Bruno Haible  <bruno@clisp.org>
49880
49881         Work around select() bug on Interix 3.5.
49882         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
49883         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
49884         * m4/select.m4: New file.
49885         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
49886         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
49887         * modules/select (Files): Add m4/select.m4.
49888         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
49889         * modules/nanosleep (Depends-on): Add select.
49890         * modules/poll (Depends-on): Likewise.
49891         * doc/posix-functions/select.texi: Mention the Interix bug.
49892         Reported by Markus Duft <mduft@gentoo.org>.
49893
49894         * lib/select.c: Renamed from lib/winsock-select.c.
49895         * modules/select (Files): Add lib/select.c, remove
49896         lib/winsock-select.c.
49897         (configure.ac): Update.
49898
49899 2009-03-12  Jim Meyering  <meyering@redhat.com>
49900
49901         avoid gcc warnings about unused macro definitions
49902         * lib/readtokens.c (STREQ): Remove unused definition.
49903         * lib/xmalloc.c (SIZE_MAX): Likewise.
49904         * lib/openat-die.c (N_): Likewise.
49905         * lib/mountlist.c (SIZE_MAX): Remove definition.
49906         Instead, include <stdint.h>.
49907         * lib/readutmp.c: Likewise.
49908         * modules/readutmp (Depends-on): Add stdint.
49909         * modules/mountlist (Depends-on): Add stdint.
49910         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
49911
49912 2009-03-10  Bruno Haible  <bruno@clisp.org>
49913
49914         Tests for module 'mbmemcasecoll'.
49915         * modules/mbmemcasecoll-tests: New file.
49916         * tests/test-mbmemcasecoll1.sh: New file.
49917         * tests/test-mbmemcasecoll2.sh: New file.
49918         * tests/test-mbmemcasecoll3.sh: New file.
49919         * tests/test-mbmemcasecoll.c: New file.
49920
49921         New module 'mbmemcasecoll'.
49922         * lib/mbmemcasecoll.h: New file.
49923         * lib/mbmemcasecoll.c: New file.
49924         * modules/mbmemcasecoll: New file.
49925
49926         * tests/test-mbmemcasecmp.h: New file, extracted from
49927         tests/test-mbmemcasecmp.c.
49928         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
49929         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
49930         (main): Update.
49931         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
49932
49933 2009-03-09  Bruno Haible  <bruno@clisp.org>
49934
49935         Tests for module 'mbmemcasecmp'.
49936         * modules/mbmemcasecmp-tests: New file.
49937         * tests/test-mbmemcasecmp1.sh: New file.
49938         * tests/test-mbmemcasecmp2.sh: New file.
49939         * tests/test-mbmemcasecmp3.sh: New file.
49940         * tests/test-mbmemcasecmp.c: New file.
49941
49942         New module 'mbmemcasecmp'.
49943         * lib/mbmemcasecmp.h: New file.
49944         * lib/mbmemcasecmp.c: New file.
49945         * modules/mbmemcasecmp: New file.
49946
49947 2009-03-09  Bruno Haible  <bruno@clisp.org>
49948
49949         Tests for module 'unicase/ulc-casecoll'.
49950         * modules/unicase/ulc-casecoll-tests: New file.
49951         * tests/unicase/test-ulc-casecoll1.sh: New file.
49952         * tests/unicase/test-ulc-casecoll2.sh: New file.
49953         * tests/unicase/test-ulc-casecoll.c: New file.
49954
49955         New module 'unicase/ulc-casecoll'.
49956         * lib/unicase.h (ulc_casecoll): New declaration.
49957         * lib/unicase/ulc-casecoll.c: New file.
49958         * modules/unicase/ulc-casecoll: New file.
49959
49960         New module 'unicase/ulc-casexfrm'.
49961         * lib/unicase.h (ulc_casexfrm): New declaration.
49962         * lib/unicase/ulc-casexfrm.c: New file.
49963         * modules/unicase/ulc-casexfrm: New file.
49964
49965 2009-03-09  Bruno Haible  <bruno@clisp.org>
49966
49967         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
49968         invocations.
49969
49970         * m4/mbscasecmp.m4: Remove file.
49971         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
49972         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
49973
49974         * m4/mbscasestr.m4: Remove file.
49975         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
49976         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
49977
49978         * m4/mbschr.m4: Remove file.
49979         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
49980         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
49981
49982         * m4/mbscspn.m4: Remove file.
49983         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
49984         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
49985
49986         * m4/mbslen.m4: Remove file.
49987         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
49988         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
49989
49990         * m4/mbsncasecmp.m4: Remove file.
49991         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
49992         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
49993
49994         * m4/mbsnlen.m4: Remove file.
49995         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
49996         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
49997
49998         * m4/mbspbrk.m4: Remove file.
49999         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
50000         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
50001
50002         * m4/mbspcasecmp.m4: Remove file.
50003         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
50004         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
50005
50006         * m4/mbsrchr.m4: Remove file.
50007         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
50008         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
50009
50010         * m4/mbssep.m4: Remove file.
50011         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
50012         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
50013
50014         * m4/mbsspn.m4: Remove file.
50015         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
50016         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
50017
50018         * m4/mbsstr.m4: Remove file.
50019         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
50020         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
50021
50022         * m4/mbstok_r.m4: Remove file.
50023         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
50024         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
50025
50026         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
50027
50028         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
50029         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
50030
50031         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
50032
50033 2009-03-08  Bruno Haible  <bruno@clisp.org>
50034
50035         Tests for module 'unicase/ulc-casecmp'.
50036         * modules/unicase/ulc-casecmp-tests: New file.
50037         * tests/unicase/test-ulc-casecmp1.sh: New file.
50038         * tests/unicase/test-ulc-casecmp2.sh: New file.
50039         * tests/unicase/test-ulc-casecmp.c: New file.
50040
50041         New module 'unicase/ulc-casecmp'.
50042         * lib/unicase.h (ulc_casecmp): New declaration.
50043         * lib/unicase/ulc-casecmp.c: New file.
50044         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
50045         'const SRC_UNIT *'.
50046         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
50047         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
50048         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
50049         * modules/unicase/ulc-casecmp: New file.
50050
50051         Tests for module 'unicase/u32-is-cased'.
50052         * modules/unicase/u32-is-cased-tests: New file.
50053         * tests/unicase/test-u32-is-cased.c: New file.
50054
50055         Tests for module 'unicase/u16-is-cased'.
50056         * modules/unicase/u16-is-cased-tests: New file.
50057         * tests/unicase/test-u16-is-cased.c: New file.
50058
50059         Tests for module 'unicase/u8-is-cased'.
50060         * modules/unicase/u8-is-cased-tests: New file.
50061         * tests/unicase/test-u8-is-cased.c: New file.
50062         * tests/unicase/test-is-cased.h: New file.
50063
50064         New module 'unicase/u32-is-cased'.
50065         * lib/unicase/u32-is-cased.c: New file.
50066         * modules/unicase/u32-is-cased: New file.
50067
50068         New module 'unicase/u16-is-cased'.
50069         * lib/unicase/u16-is-cased.c: New file.
50070         * modules/unicase/u16-is-cased: New file.
50071
50072         New module 'unicase/u8-is-cased'.
50073         * lib/unicase/u8-is-cased.c: New file.
50074         * lib/unicase/u-is-cased.h: New file.
50075         * modules/unicase/u8-is-cased: New file.
50076
50077         Tests for module 'unicase/u32-is-casefolded'.
50078         * modules/unicase/u32-is-casefolded-tests: New file.
50079         * tests/unicase/test-u32-is-casefolded.c: New file.
50080
50081         Tests for module 'unicase/u16-is-casefolded'.
50082         * modules/unicase/u16-is-casefolded-tests: New file.
50083         * tests/unicase/test-u16-is-casefolded.c: New file.
50084
50085         Tests for module 'unicase/u8-is-casefolded'.
50086         * modules/unicase/u8-is-casefolded-tests: New file.
50087         * tests/unicase/test-u8-is-casefolded.c: New file.
50088         * tests/unicase/test-is-casefolded.h: New file.
50089
50090         New module 'unicase/u32-is-casefolded'.
50091         * lib/unicase/u32-is-casefolded.c: New file.
50092         * modules/unicase/u32-is-casefolded: New file.
50093
50094         New module 'unicase/u16-is-casefolded'.
50095         * lib/unicase/u16-is-casefolded.c: New file.
50096         * modules/unicase/u16-is-casefolded: New file.
50097
50098         New module 'unicase/u8-is-casefolded'.
50099         * lib/unicase/u8-is-casefolded.c: New file.
50100         * modules/unicase/u8-is-casefolded: New file.
50101
50102         Tests for module 'unicase/u32-is-titlecase'.
50103         * modules/unicase/u32-is-titlecase-tests: New file.
50104         * tests/unicase/test-u32-is-titlecase.c: New file.
50105
50106         Tests for module 'unicase/u16-is-titlecase'.
50107         * modules/unicase/u16-is-titlecase-tests: New file.
50108         * tests/unicase/test-u16-is-titlecase.c: New file.
50109
50110         Tests for module 'unicase/u8-is-titlecase'.
50111         * modules/unicase/u8-is-titlecase-tests: New file.
50112         * tests/unicase/test-u8-is-titlecase.c: New file.
50113         * tests/unicase/test-is-titlecase.h: New file.
50114
50115         New module 'unicase/u32-is-titlecase'.
50116         * lib/unicase/u32-is-titlecase.c: New file.
50117         * modules/unicase/u32-is-titlecase: New file.
50118
50119         New module 'unicase/u16-is-titlecase'.
50120         * lib/unicase/u16-is-titlecase.c: New file.
50121         * modules/unicase/u16-is-titlecase: New file.
50122
50123         New module 'unicase/u8-is-titlecase'.
50124         * lib/unicase/u8-is-titlecase.c: New file.
50125         * modules/unicase/u8-is-titlecase: New file.
50126
50127         Tests for module 'unicase/u32-is-lowercase'.
50128         * modules/unicase/u32-is-lowercase-tests: New file.
50129         * tests/unicase/test-u32-is-lowercase.c: New file.
50130
50131         Tests for module 'unicase/u16-is-lowercase'.
50132         * modules/unicase/u16-is-lowercase-tests: New file.
50133         * tests/unicase/test-u16-is-lowercase.c: New file.
50134
50135         Tests for module 'unicase/u8-is-lowercase'.
50136         * modules/unicase/u8-is-lowercase-tests: New file.
50137         * tests/unicase/test-u8-is-lowercase.c: New file.
50138         * tests/unicase/test-is-lowercase.h: New file.
50139
50140         New module 'unicase/u32-is-lowercase'.
50141         * lib/unicase/u32-is-lowercase.c: New file.
50142         * modules/unicase/u32-is-lowercase: New file.
50143
50144         New module 'unicase/u16-is-lowercase'.
50145         * lib/unicase/u16-is-lowercase.c: New file.
50146         * modules/unicase/u16-is-lowercase: New file.
50147
50148         New module 'unicase/u8-is-lowercase'.
50149         * lib/unicase/u8-is-lowercase.c: New file.
50150         * modules/unicase/u8-is-lowercase: New file.
50151
50152         Tests for module 'unicase/u32-is-uppercase'.
50153         * modules/unicase/u32-is-uppercase-tests: New file.
50154         * tests/unicase/test-u32-is-uppercase.c: New file.
50155
50156         Tests for module 'unicase/u16-is-uppercase'.
50157         * modules/unicase/u16-is-uppercase-tests: New file.
50158         * tests/unicase/test-u16-is-uppercase.c: New file.
50159
50160         Tests for module 'unicase/u8-is-uppercase'.
50161         * modules/unicase/u8-is-uppercase-tests: New file.
50162         * tests/unicase/test-u8-is-uppercase.c: New file.
50163         * tests/unicase/test-is-uppercase.h: New file.
50164
50165         New module 'unicase/u32-is-uppercase'.
50166         * lib/unicase/u32-is-uppercase.c: New file.
50167         * modules/unicase/u32-is-uppercase: New file.
50168
50169         New module 'unicase/u16-is-uppercase'.
50170         * lib/unicase/u16-is-uppercase.c: New file.
50171         * modules/unicase/u16-is-uppercase: New file.
50172
50173         New module 'unicase/u8-is-uppercase'.
50174         * lib/unicase/u8-is-uppercase.c: New file.
50175         * modules/unicase/u8-is-uppercase: New file.
50176
50177         New module 'unicase/u32-is-invariant'.
50178         * lib/unicase/u32-is-invariant.c: New file.
50179         * modules/unicase/u32-is-invariant: New file.
50180
50181         New module 'unicase/u16-is-invariant'.
50182         * lib/unicase/u16-is-invariant.c: New file.
50183         * modules/unicase/u16-is-invariant: New file.
50184
50185         New module 'unicase/u8-is-invariant'.
50186         * lib/unicase/u8-is-invariant.c: New file.
50187         * lib/unicase/invariant.h: New file.
50188         * lib/unicase/u-is-invariant.h: New file.
50189         * modules/unicase/u8-is-invariant: New file.
50190
50191         Tests for module 'unicase/u32-casecoll'.
50192         * modules/unicase/u32-casecoll-tests: New file.
50193         * tests/unicase/test-u32-casecoll.c: New file.
50194
50195         Tests for module 'unicase/u16-casecoll'.
50196         * modules/unicase/u16-casecoll-tests: New file.
50197         * tests/unicase/test-u16-casecoll.c: New file.
50198
50199         Tests for module 'unicase/u8-casecoll'.
50200         * modules/unicase/u8-casecoll-tests: New file.
50201         * tests/unicase/test-u8-casecoll.c: New file.
50202
50203         New module 'unicase/u32-casecoll'.
50204         * lib/unicase/u32-casecoll.c: New file.
50205         * modules/unicase/u32-casecoll: New file.
50206
50207         New module 'unicase/u16-casecoll'.
50208         * lib/unicase/u16-casecoll.c: New file.
50209         * modules/unicase/u16-casecoll: New file.
50210
50211         New module 'unicase/u8-casecoll'.
50212         * lib/unicase/u8-casecoll.c: New file.
50213         * lib/unicase/u-casecoll.h: New file.
50214         * modules/unicase/u8-casecoll: New file.
50215
50216         New module 'unicase/u32-casexfrm'.
50217         * lib/unicase/u32-casexfrm.c: New file.
50218         * modules/unicase/u32-casexfrm: New file.
50219
50220         New module 'unicase/u16-casexfrm'.
50221         * lib/unicase/u16-casexfrm.c: New file.
50222         * modules/unicase/u16-casexfrm: New file.
50223
50224         New module 'unicase/u8-casexfrm'.
50225         * lib/unicase/u8-casexfrm.c: New file.
50226         * lib/unicase/u-casexfrm.h: New file.
50227         * modules/unicase/u8-casexfrm: New file.
50228
50229         Tests for module 'unicase/u32-casecmp'.
50230         * modules/unicase/u32-casecmp-tests: New file.
50231         * tests/unicase/test-u32-casecmp.c: New file.
50232
50233         Tests for module 'unicase/u16-casecmp'.
50234         * modules/unicase/u16-casecmp-tests: New file.
50235         * tests/unicase/test-u16-casecmp.c: New file.
50236
50237         Tests for module 'unicase/u8-casecmp'.
50238         * modules/unicase/u8-casecmp-tests: New file.
50239         * tests/unicase/test-u8-casecmp.c: New file.
50240         * tests/unicase/test-casecmp.h: New file.
50241
50242         New module 'unicase/u32-casecmp'.
50243         * lib/unicase/u32-casecmp.c: New file.
50244         * modules/unicase/u32-casecmp: New file.
50245
50246         New module 'unicase/u16-casecmp'.
50247         * lib/unicase/u16-casecmp.c: New file.
50248         * modules/unicase/u16-casecmp: New file.
50249
50250         New module 'unicase/u8-casecmp'.
50251         * lib/unicase/u8-casecmp.c: New file.
50252         * lib/unicase/u-casecmp.h: New file.
50253         * modules/unicase/u8-casecmp: New file.
50254
50255         Tests for module 'unicase/u32-casefold'.
50256         * modules/unicase/u32-casefold-tests: New file.
50257         * tests/unicase/test-u32-casefold.c: New file.
50258
50259         Tests for module 'unicase/u16-casefold'.
50260         * modules/unicase/u16-casefold-tests: New file.
50261         * tests/unicase/test-u16-casefold.c: New file.
50262
50263         Tests for module 'unicase/u8-casefold'.
50264         * modules/unicase/u8-casefold-tests: New file.
50265         * tests/unicase/test-u8-casefold.c: New file.
50266
50267         New module 'unicase/u32-casefold'.
50268         * lib/unicase/u32-casefold.c: New file.
50269         * modules/unicase/u32-casefold: New file.
50270
50271         New module 'unicase/u16-casefold'.
50272         * lib/unicase/u16-casefold.c: New file.
50273         * modules/unicase/u16-casefold: New file.
50274
50275         New module 'unicase/u8-casefold'.
50276         * lib/unicase/u8-casefold.c: New file.
50277         * lib/unicase/u-casefold.h: New file.
50278         * modules/unicase/u8-casefold: New file.
50279
50280         New module 'unicase/tocasefold'.
50281         * lib/unicase/casefold.h: New file.
50282         * lib/unicase/tocasefold.c: New file.
50283         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
50284         * modules/unicase/tocasefold: New file.
50285
50286         Tests for module 'unicase/u32-totitle'.
50287         * modules/unicase/u32-totitle-tests: New file.
50288         * tests/unicase/test-u32-totitle.c: New file.
50289
50290         Tests for module 'unicase/u16-totitle'.
50291         * modules/unicase/u16-totitle-tests: New file.
50292         * tests/unicase/test-u16-totitle.c: New file.
50293
50294         Tests for module 'unicase/u8-totitle'.
50295         * modules/unicase/u8-totitle-tests: New file.
50296         * tests/unicase/test-u8-totitle.c: New file.
50297
50298         New module 'unicase/u32-totitle'.
50299         * lib/unicase/u32-totitle.c: New file.
50300         * modules/unicase/u32-totitle: New file.
50301
50302         New module 'unicase/u16-totitle'.
50303         * lib/unicase/u16-totitle.c: New file.
50304         * modules/unicase/u16-totitle: New file.
50305
50306         New module 'unicase/u8-totitle'.
50307         * lib/unicase/u8-totitle.c: New file.
50308         * lib/unicase/u-totitle.h: New file.
50309         * modules/unicase/u8-totitle: New file.
50310
50311         Tests for module 'unicase/u32-tolower'.
50312         * modules/unicase/u32-tolower-tests: New file.
50313         * tests/unicase/test-u32-tolower.c: New file.
50314
50315         Tests for module 'unicase/u16-tolower'.
50316         * modules/unicase/u16-tolower-tests: New file.
50317         * tests/unicase/test-u16-tolower.c: New file.
50318
50319         Tests for module 'unicase/u8-tolower'.
50320         * modules/unicase/u8-tolower-tests: New file.
50321         * tests/unicase/test-u8-tolower.c: New file.
50322
50323         New module 'unicase/u32-tolower'.
50324         * lib/unicase/u32-tolower.c: New file.
50325         * modules/unicase/u32-tolower: New file.
50326
50327         New module 'unicase/u16-tolower'.
50328         * lib/unicase/u16-tolower.c: New file.
50329         * modules/unicase/u16-tolower: New file.
50330
50331         New module 'unicase/u8-tolower'.
50332         * lib/unicase/u8-tolower.c: New file.
50333         * modules/unicase/u8-tolower: New file.
50334
50335         Tests for module 'unicase/u32-toupper'.
50336         * modules/unicase/u32-toupper-tests: New file.
50337         * tests/unicase/test-u32-toupper.c: New file.
50338
50339         Tests for module 'unicase/u16-toupper'.
50340         * modules/unicase/u16-toupper-tests: New file.
50341         * tests/unicase/test-u16-toupper.c: New file.
50342
50343         Tests for module 'unicase/u8-toupper'.
50344         * modules/unicase/u8-toupper-tests: New file.
50345         * tests/unicase/test-u8-toupper.c: New file.
50346
50347         New module 'unicase/u32-toupper'.
50348         * lib/unicase/u32-toupper.c: New file.
50349         * modules/unicase/u32-toupper: New file.
50350
50351         New module 'unicase/u16-toupper'.
50352         * lib/unicase/u16-toupper.c: New file.
50353         * modules/unicase/u16-toupper: New file.
50354
50355         New module 'unicase/u8-toupper'.
50356         * lib/unicase/u8-toupper.c: New file.
50357         * modules/unicase/u8-toupper: New file.
50358
50359         New module 'unicase/u32-casemap'.
50360         * lib/unicase/u32-casemap.c: New file.
50361         * modules/unicase/u32-casemap: New file.
50362
50363         New module 'unicase/u16-casemap'.
50364         * lib/unicase/u16-casemap.c: New file.
50365         * modules/unicase/u16-casemap: New file.
50366
50367         New module 'unicase/u8-casemap'.
50368         * lib/unicase/unicasemap.h: New file.
50369         * lib/unicase/u8-casemap.c: New file.
50370         * lib/unicase/u-casemap.h: New file.
50371         * modules/unicase/u8-casemap: New file.
50372
50373         New module 'unicase/special-casing'.
50374         * lib/unicase/special-casing.h: New file.
50375         * lib/unicase/special-casing.c: New file.
50376         * lib/unicase/special-casing-table.gperf: New file, generated by
50377         gen-uni-tables.c.
50378         * modules/unicase/special-casing: New file.
50379
50380         Tests for module 'unicase/locale-language'.
50381         * modules/unicase/locale-language-tests: New file.
50382         * tests/unicase/test-locale-language.sh: New file.
50383         * tests/unicase/test-locale-language.c: New file.
50384
50385         New module 'unicase/locale-language'.
50386         * lib/unicase/locale-language.c: New file.
50387         * lib/unicase/locale-languages.gperf: New file.
50388         * modules/unicase/locale-language: New file.
50389
50390         Generate more tables for case conversion and case folding.
50391         * lib/gen-uni-tables.c (SCC_*): New enum items.
50392         (struct special_casing_rule): New type.
50393         (casing_rules, num_casing_rules, allocated_casing_rules): New
50394         variables.
50395         (add_casing_rule, fill_casing_rules): New functions.
50396         (struct casefold_rule): New type.
50397         (casefolding_rules, num_casefolding_rules,
50398         allocated_casefolding_rules): New variables.
50399         (fill_casefolding_rules): New function.
50400         (unicode_casefold): New variable.
50401         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
50402         sort_casing_rules, output_casing_rules): New functions.
50403         (main): Accept to more arguments: SpecialCasing.txt and
50404         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
50405         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
50406         Output mapping for casefolding.
50407
50408         * lib/unicase.h: Include stdbool.h, uninorm.h.
50409         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
50410         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
50411         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
50412         arguments.
50413         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
50414         resultp arguments.
50415         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
50416         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
50417         resultp arguments.
50418         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
50419         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
50420         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
50421         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
50422         declarations.
50423         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
50424
50425 2009-03-08  Bruno Haible  <bruno@clisp.org>
50426
50427         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50428         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
50429         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
50430         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50431
50432 2009-03-07  Bruno Haible  <bruno@clisp.org>
50433
50434         Adjust u*_normcmp, u*_normcoll API.
50435         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50436         u16_normcoll, u32_normcoll): Change failure conventions.
50437         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
50438         errno and return -1.
50439         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50440
50441 2009-03-07  Bruno Haible  <bruno@clisp.org>
50442
50443         Tests for module 'uninorm/u32-normcoll'.
50444         * modules/uninorm/u32-normcoll-tests: New file.
50445         * tests/uninorm/test-u32-normcoll.c: New file.
50446
50447         Tests for module 'uninorm/u16-normcoll'.
50448         * modules/uninorm/u16-normcoll-tests: New file.
50449         * tests/uninorm/test-u16-normcoll.c: New file.
50450
50451         Tests for module 'uninorm/u8-normcoll'.
50452         * modules/uninorm/u8-normcoll-tests: New file.
50453         * tests/uninorm/test-u8-normcoll.c: New file.
50454
50455 2009-03-07  Bruno Haible  <bruno@clisp.org>
50456
50457         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
50458         tests/uninorm/test-u32-normcmp.c.
50459         * tests/uninorm/test-u32-normcmp.c: Include it.
50460         (test_nonascii): New function, extracted from main. Add some more
50461         tests.
50462         (main): Invoke test_ascii and test_nonascii.
50463         * modules/uninorm/u32-normcmp-tests (Files): Add
50464         tests/uninorm/test-u32-normcmp.h.
50465         (Depends-on): Remove uninorm/u32-normcmp.
50466
50467         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
50468         tests/uninorm/test-u16-normcmp.c.
50469         * tests/uninorm/test-u16-normcmp.c: Include it.
50470         (test_nonascii): New function, extracted from main. Add some more
50471         tests.
50472         (main): Invoke test_ascii and test_nonascii.
50473         * modules/uninorm/u16-normcmp-tests (Files): Add
50474         tests/uninorm/test-u16-normcmp.h.
50475         (Depends-on): Remove uninorm/u16-normcmp.
50476
50477         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
50478         tests/uninorm/test-u8-normcmp.c.
50479         * tests/uninorm/test-u8-normcmp.c: Include it.
50480         (test_nonascii): New function, extracted from main. Add some more
50481         tests.
50482         (main): Invoke test_ascii and test_nonascii.
50483         * modules/uninorm/u8-normcmp-tests (Files): Add
50484         tests/uninorm/test-u8-normcmp.h.
50485         (Depends-on): Remove uninorm/u8-normcmp.
50486
50487 2009-03-07  Bruno Haible  <bruno@clisp.org>
50488
50489         New module 'uninorm/u32-normcoll'.
50490         * lib/uninorm/u32-normcoll.c: New file.
50491         * modules/uninorm/u32-normcoll: New file.
50492
50493         New module 'uninorm/u16-normcoll'.
50494         * lib/uninorm/u16-normcoll.c: New file.
50495         * modules/uninorm/u16-normcoll: New file.
50496
50497         New module 'uninorm/u8-normcoll'.
50498         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
50499         declarations.
50500         * lib/uninorm/u8-normcoll.c: New file.
50501         * lib/uninorm/u-normcoll.h: New file.
50502         * modules/uninorm/u8-normcoll: New file.
50503
50504         New module 'uninorm/u32-normxfrm'.
50505         * lib/uninorm/u32-normxfrm.c: New file.
50506         * modules/uninorm/u32-normxfrm: New file.
50507
50508         New module 'uninorm/u16-normxfrm'.
50509         * lib/uninorm/u16-normxfrm.c: New file.
50510         * modules/uninorm/u16-normxfrm: New file.
50511
50512         New module 'uninorm/u8-normxfrm'.
50513         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
50514         declarations.
50515         * lib/uninorm/u8-normxfrm.c: New file.
50516         * lib/uninorm/u-normxfrm.h: New file.
50517         * modules/uninorm/u8-normxfrm: New file.
50518
50519 2009-03-07  Bruno Haible  <bruno@clisp.org>
50520
50521         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
50522         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
50523         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
50524
50525 2009-03-07  Bruno Haible  <bruno@clisp.org>
50526
50527         New module 'memxfrm'.
50528         * lib/memxfrm.h: New file.
50529         * lib/memxfrm.c: New file.
50530         * modules/memxfrm: New file.
50531
50532 2009-03-07  Bruno Haible  <bruno@clisp.org>
50533
50534         New module 'memcmp2'.
50535         * lib/memcmp2.h: New file.
50536         * lib/memcmp2.c: New file.
50537         * modules/memcmp2: New file.
50538
50539 2009-03-07  Bruno Haible  <bruno@clisp.org>
50540
50541         Tests for module 'uninorm/decomposing-form'.
50542         * modules/uninorm/decomposing-form-tests: New file.
50543         * tests/uninorm/test-decomposing-form.c: New file.
50544
50545         New module 'uninorm/decomposing-form'.
50546         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
50547         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
50548         Add 'decomposing_variant' field.
50549         * lib/uninorm/decomposing-form.c: New file.
50550         * lib/uninorm/nfc.c (uninorm_nfc): Update.
50551         * lib/uninorm/nfd.c (uninorm_nfd): Update.
50552         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
50553         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
50554         * modules/uninorm/decomposing-form: New file.
50555         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
50556         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
50557
50558 2009-03-07  Bruno Haible  <bruno@clisp.org>
50559
50560         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
50561         strings.
50562
50563 2009-03-06  Bruno Haible  <bruno@clisp.org>
50564
50565         Tests for module 'uninorm/u32-normcmp'.
50566         * tests/uninorm/test-u32-normcmp.c: New file.
50567         * modules/uninorm/u32-normcmp-tests: New file.
50568
50569         Tests for module 'uninorm/u16-normcmp'.
50570         * tests/uninorm/test-u16-normcmp.c: New file.
50571         * modules/uninorm/u16-normcmp-tests: New file.
50572
50573         Tests for module 'uninorm/u8-normcmp'.
50574         * tests/uninorm/test-u8-normcmp.c: New file.
50575         * modules/uninorm/u8-normcmp-tests: New file.
50576
50577         New module 'uninorm/u32-normcmp'.
50578         * lib/uninorm/u32-normcmp.c: New file.
50579         * modules/uninorm/u32-normcmp: New file.
50580
50581         New module 'uninorm/u16-normcmp'.
50582         * lib/uninorm/u16-normcmp.c: New file.
50583         * modules/uninorm/u16-normcmp: New file.
50584
50585         New module 'uninorm/u8-normcmp'.
50586         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
50587         declarations.
50588         * lib/uninorm/u8-normcmp.c: New file.
50589         * lib/uninorm/u-normcmp.h: New file.
50590         * modules/uninorm/u8-normcmp: New file.
50591
50592 2009-03-06  Bruno Haible  <bruno@clisp.org>
50593
50594         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
50595         Reported by Eric Blake.
50596
50597 2009-03-06  Eric Blake  <ebb9@byu.net>
50598             Bruno Haible  <bruno@clisp.org>
50599
50600         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
50601         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
50602         condition.
50603         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50604         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
50605         condition.
50606         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50607
50608 2009-03-06  Eric Blake  <ebb9@byu.net>
50609
50610         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
50611         to avoid compiler warnings.
50612         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
50613
50614 2009-03-05  Bruno Haible  <bruno@clisp.org>
50615
50616         * tests/test-ftell.c (main): Disable test beyond end of file on
50617         FreeMiNT.
50618         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50619
50620 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
50621
50622         * lib/filevercmp.c: Move hidden files up in ordering.
50623         * tests/test-filevercmp.c: Add tests for hidden files.
50624
50625 2009-03-04  Bruno Haible  <bruno@clisp.org>
50626
50627         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
50628         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
50629         AM_CFLAGS.
50630         Reported by Simon Josefsson.
50631
50632 2009-03-03  Bruno Haible  <bruno@clisp.org>
50633
50634         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
50635         Reported by Simon Josefsson.
50636
50637         * doc/ld-version-script.texi: Update node reference.
50638
50639 2009-03-03  Bruno Haible  <bruno@clisp.org>
50640
50641         * modules/visibility (License): Change to 'unlimited'.
50642         Suggested by Simon Josefsson.
50643
50644 2009-03-03  Jim Meyering  <meyering@redhat.com>
50645
50646         unlinkdir: cannot_unlink_dir may modify process state
50647         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
50648         it's neither thread-safe nor appropriate for use in a library.
50649
50650 2009-03-03  Eric Blake  <ebb9@byu.net>
50651
50652         test-closein: silence test under Darwin
50653         * tests/test-closein.sh: Ignore stderr from cat, since we don't
50654         care if it dies from EPIPE or EBADF.
50655
50656 2009-03-03  Bruno Haible  <bruno@clisp.org>
50657
50658         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
50659         earlier.
50660         * doc/visibility.texi: Fix @node and @section.
50661
50662 2009-03-03  Simon Josefsson  <simon@josefsson.org>
50663
50664         * doc/gnulib.texi: Link to sections for ld version script and
50665         visibility.
50666         * doc/visibility.texi: Add @node and @section.
50667         * modules/ld-version-script: New module.
50668         * m4/ld-version-script.m4: New file.
50669         * doc/ld-version-script.texi: New file.
50670
50671 2009-03-02  David Lutterkort  <lutter@redhat.com>
50672
50673         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
50674         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50675
50676 2009-03-02  Bruno Haible  <bruno@clisp.org>
50677
50678         * doc/visibility.texi: Mention libtool's -export-symbols option.
50679
50680 2009-03-02  Jim Meyering  <meyering@redhat.com>
50681
50682         announce-gen: new option: --no-print-checksums
50683         * build-aux/announce-gen (usage): Describe it.
50684         (print_checksums): Print a newline here, not in the [*] footnote.
50685         (main): Honor it.
50686
50687 2009-03-01  Bruno Haible  <bruno@clisp.org>
50688
50689         Use socklen_t in the native Windows replacements prototypes.
50690         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
50691         instead of 'int'.
50692         * lib/getsockopt.c (rpl_getsockopt): Likewise.
50693         * lib/setsockopt.c (rpl_setsockopt): Likewise.
50694         * modules/getsockopt (Depends-on): Add socklen.
50695         * modules/setsockopt (Depends-on): Add socklen.
50696
50697 2009-03-01  Bruno Haible  <bruno@clisp.org>
50698
50699         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
50700         least 4.2.
50701
50702 2009-03-01  Eric Blake  <ebb9@byu.net>
50703             Bruno Haible  <bruno@clisp.org>
50704
50705         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
50706         error messages.
50707         * lib/wait-process.c (wait_subprocess): Omit error message about
50708         deadly signal sent to the child of termsigp != NULL.
50709
50710 2009-03-01  Eric Blake  <ebb9@byu.net>
50711
50712         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
50713
50714 2009-03-01  Bruno Haible  <bruno@clisp.org>
50715
50716         Avoid a gcc warning.
50717         * tests/test-sched.c (b): Make global.
50718         Reported by Eric Blake.
50719
50720 2009-01-19  Martin Lambers  <marlam@marlam.de>
50721
50722         Provide POSIX semantics for socket timeout options on W32.
50723         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
50724         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
50725         * modules/setsockopt: Depend on sys_time module for struct timeval.
50726         * modules/getsockopt: Depend on sys_time module for struct timeval.
50727
50728 2009-03-01  Simon Josefsson  <simon@josefsson.org>
50729
50730         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
50731         __USE_GNU, for consistency with netdb.in.h.
50732         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50733
50734 2009-03-01  Bruno Haible  <bruno@clisp.org>
50735
50736         More support for FreeMiNT.
50737         * lib/fseeko.c (rpl_fseeko): Complete last commit.
50738         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50739
50740 2009-03-01  Bruno Haible  <bruno@clisp.org>
50741
50742         More support for FreeMiNT.
50743         * lib/fpurge.c (fpurge): Correct last commit.
50744         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50745
50746 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50747
50748         Fix unportable awk script in vc-list-files.
50749         * build-aux/vc-list-files: In the replacement awk script, use
50750         substr with a second argument of 1, not zero.
50751         Report by Simon Josefsson.
50752
50753 2009-02-28  Bruno Haible  <bruno@clisp.org>
50754
50755         More support for FreeMiNT.
50756         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
50757         to FreeMiNT today.
50758         * lib/fwriting.c (fwriting): Likewise.
50759         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
50760
50761 2009-02-28  Bruno Haible  <bruno@clisp.org>
50762
50763         * tests/test-freadseek.c (main): Disable test beyond end of file on
50764         FreeMiNT.
50765         * tests/test-ftello.c (main): Likewise.
50766         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50767
50768 2009-02-28  Bruno Haible  <bruno@clisp.org>
50769
50770         Add tentative support for FreeMiNT.
50771         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
50772         * lib/fpurge.c (fpurge): Likewise.
50773         * lib/freadable.c (freadable): Likewise.
50774         * lib/freading.c (freading): Likewise.
50775         * lib/freadptr.c (freadptr): Likewise.
50776         * lib/freadseek.c (freadptrinc): Likewise.
50777         * lib/fseeko.c (rpl_fseeko): Likewise.
50778         * lib/fseterr.c (fseterr): Likewise.
50779         * lib/fwritable.c (fwritable): Likewise.
50780         * lib/fwriting.c (fwriting): Likewise.
50781         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
50782         Hourihane.
50783         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50784
50785 2009-02-28  Bruno Haible  <bruno@clisp.org>
50786
50787         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
50788         SIGCHLD.
50789         Reported by Jim Meyering.
50790
50791 2009-02-28  Bruno Haible  <bruno@clisp.org>
50792
50793         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
50794         Mention the results of these tests on various platforms.
50795         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
50796         order.
50797         * doc/posix-functions/printf.texi: Likewise.
50798         * doc/posix-functions/snprintf.texi: Likewise.
50799         * doc/posix-functions/sprintf.texi: Likewise.
50800         * doc/posix-functions/vfprintf.texi: Likewise.
50801         * doc/posix-functions/vprintf.texi: Likewise.
50802         * doc/posix-functions/vsnprintf.texi: Likewise.
50803         * doc/posix-functions/vsprintf.texi: Likewise.
50804         * doc/glibc-functions/obstack_printf.texi: Likewise.
50805         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
50806
50807 2009-02-28  Bruno Haible  <bruno@clisp.org>
50808
50809         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
50810         Reported by Loïc Minier <lool@dooz.org>.
50811
50812 2009-02-27  Bruno Haible  <bruno@clisp.org>
50813
50814         * gnulib-tool (func_import): Make the sed expression used to create the
50815         sed script for updating the .gitignore file POSIX compliant.
50816         Reported by Eric Blake.
50817
50818 2009-02-27  Bruno Haible  <bruno@clisp.org>
50819
50820         * gnulib-tool (sed): Don't alias as "sed --posix".
50821         Reported by Eric Blake.
50822
50823 2009-02-27  Bruno Haible  <bruno@clisp.org>
50824
50825         Avoid test link errors.
50826         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
50827         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
50828         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
50829         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
50830         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50831
50832 2009-02-27  Bruno Haible  <bruno@clisp.org>
50833
50834         Avoid spurious "(cached)" in configure output.
50835         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
50836         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
50837         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
50838         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
50839         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
50840         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
50841         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
50842         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
50843         Reported by Eric Blake.
50844
50845 2009-02-27  Eric Blake  <ebb9@byu.net>
50846
50847         printf: fix regression in previous patch
50848         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
50849
50850 2009-02-27  Bruno Haible  <bruno@clisp.org>
50851
50852         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
50853         value.
50854         * lib/stdint.in.h: Likewise.
50855         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
50856
50857 2009-02-27  Eric Blake  <ebb9@byu.net>
50858
50859         doc: mention more functions added in cygwin 1.7.0
50860         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
50861         addition.
50862         * doc/posix-functions/open_wmemstream.texi: Likewise.
50863         * doc/posix-functions/wcsnlen.texi: Likewise.
50864         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50865         * doc/posix-functions/wcstod.texi: Likewise.
50866         * doc/posix-functions/wcstof.texi: Likewise.
50867         * doc/posix-functions/wcstoimax.texi: Likewise.
50868         * doc/posix-functions/wcstok.texi: Likewise.
50869         * doc/posix-functions/wcstoumax.texi: Likewise.
50870
50871         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
50872         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
50873         * doc/posix-functions/fprintf.texi: Update.
50874         * doc/posix-functions/printf.texi: Update.
50875         * doc/posix-functions/snprintf.texi: Update.
50876         * doc/posix-functions/sprintf.texi: Update.
50877         * doc/posix-functions/vfprintf.texi: Update.
50878         * doc/posix-functions/vprintf.texi: Update.
50879         * doc/posix-functions/vsnprintf.texi: Update.
50880         * doc/posix-functions/vsprintf.texi: Update.
50881         * doc/glibc-functions/obstack_printf.texi: Update.
50882         * doc/glibc-functions/obstack_vprintf.texi: Update.
50883
50884 2009-02-26  Eric Blake  <ebb9@byu.net>
50885
50886         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
50887         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
50888         compilation bug by using runtime conversion.
50889         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
50890         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
50891         * modules/ceill-tests (Files): Use nan.h.
50892         * modules/floorl-tests (Files): Likewise.
50893         * modules/frexpl-tests (Files): Likewise.
50894         * modules/isnanl-tests (Files): Likewise.
50895         * modules/ldexpl-tests (Files): Likewise.
50896         * modules/roundl-tests (Files): Likewise.
50897         * modules/truncl-tests (Files): Likewise.
50898         * tests/test-ceill.c (main): Use a working NaN.
50899         * tests/test-floorl.c (main): Likewise.
50900         * tests/test-frexpl.c (main): Likewise.
50901         * tests/test-isnan.c (test_long_double): Likewise.
50902         * tests/test-isnanl.h (main): Likewise.
50903         * tests/test-ldexpl.h (main): Likewise.
50904         * tests/test-roundl.h (main): Likewise.
50905         * tests/test-truncl.h (main): Likewise.
50906         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
50907
50908 2009-02-26  Eric Blake  <ebb9@byu.net>
50909             Bruno Haible  <bruno@clisp.org>
50910
50911         Work around a *printf bug with %ls on Solaris.
50912         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
50913         precision is specified, sprintf stops converting the wide string
50914         argument when the number of bytes that have been produced by this
50915         conversion equals or exceeds the precision.
50916         * doc/posix-functions/fprintf.texi: Update.
50917         * doc/posix-functions/printf.texi: Update.
50918         * doc/posix-functions/snprintf.texi: Update.
50919         * doc/posix-functions/sprintf.texi: Update.
50920         * doc/posix-functions/vfprintf.texi: Update.
50921         * doc/posix-functions/vprintf.texi: Update.
50922         * doc/posix-functions/vsnprintf.texi: Update.
50923         * doc/posix-functions/vsprintf.texi: Update.
50924         * doc/glibc-functions/obstack_printf.texi: Update.
50925         * doc/glibc-functions/obstack_vprintf.texi: Update.
50926
50927 2009-02-26  Eric Blake  <ebb9@byu.net>
50928
50929         stdlib: favor compiler check of random.h
50930         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
50931         to avoid an ObjC random.h installed by Swarm.
50932
50933 2009-02-26  Bruno Haible  <bruno@clisp.org>
50934
50935         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
50936         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
50937         Reported by Gary V. Vaughan <gary@gnu.org>.
50938
50939 2009-02-26  Bruno Haible  <bruno@clisp.org>
50940
50941         Fix *printf behaviour regarding the %ls directive.
50942         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
50943         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
50944         NEED_PRINTF_DIRECTIVE_LS.
50945         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
50946         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
50947         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50948         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
50949         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
50950         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
50951         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
50952         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50953         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50954         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50955         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50956         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
50957         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50958         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50959         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50960         * doc/posix-functions/fprintf.texi: Update.
50961         * doc/posix-functions/printf.texi: Update.
50962         * doc/posix-functions/snprintf.texi: Update.
50963         * doc/posix-functions/sprintf.texi: Update.
50964         * doc/posix-functions/vfprintf.texi: Update.
50965         * doc/posix-functions/vprintf.texi: Update.
50966         * doc/posix-functions/vsnprintf.texi: Update.
50967         * doc/posix-functions/vsprintf.texi: Update.
50968         * doc/glibc-functions/obstack_printf.texi: Update.
50969         * doc/glibc-functions/obstack_vprintf.texi: Update.
50970         Reported by Eric Blake.
50971
50972 2009-02-25  Bruno Haible  <bruno@clisp.org>
50973
50974         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
50975         with known value.
50976         Reported by Gary V. Vaughan <gary@gnu.org>.
50977
50978 2009-02-25  Bruno Haible  <bruno@clisp.org>
50979
50980         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
50981         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
50982         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
50983         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
50984         Reported by Gary V. Vaughan <gary@gnu.org>.
50985
50986 2009-02-25  Bruno Haible  <bruno@clisp.org>
50987
50988         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
50989         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
50990         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
50991         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
50992         Reported by Gary V. Vaughan <gary@gnu.org>.
50993
50994 2009-02-25  Eric Blake  <ebb9@byu.net>
50995
50996         tests: skip fseek/ftell tests if ungetc is broken
50997         * m4/ungetc.m4: New file.
50998         * modules/fseek-tests: Split test, so ungetc dependency is
50999         separate from rest of test.
51000         * modules/fseeko-tests: Likewise.
51001         * modules/ftell-tests: Likewise.
51002         * modules/ftello-tests: Likewise.
51003         * tests/test-fseek.c (main): Isolate ungetc dependency.
51004         * tests/test-fseeko.c (main): Likewise.
51005         * tests/test-ftell.c (main): Likewise.
51006         * tests/test-ftello.c (main): Likewise.
51007         * tests/test-fseek2.sh: New file.
51008         * tests/test-fseeko2.sh: Likewise.
51009         * tests/test-ftell2.sh: Likewise.
51010         * tests/test-ftello2.sh: Likewise.
51011
51012 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
51013
51014         test-getaddrinfo: fix usage of skip return code 77
51015         * tests/test-gettaddrinfo.c: Return skip code 77 only
51016         for first occurrence of skip (4x77 is not 77)
51017
51018 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
51019
51020         strtod: avoid C99 decl-after-statement
51021         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
51022
51023 2009-02-24  Eric Blake  <ebb9@byu.net>
51024
51025         strtod: detect HP-UX 11.31 bug
51026         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
51027         Reported by Gary V. Vaughan.
51028
51029 2009-02-23  Bruno Haible  <bruno@clisp.org>
51030
51031         Fix invalid read past end of memory block.
51032         * lib/vasnprintf.c (DCHAR_SET): Define.
51033         (local_wcslen): Define only when needed.
51034         (local_strnlen, local_wcsnlen): New functions.
51035         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
51036         directives that involve a conversion ourselves.
51037         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
51038         wcsnlen, mbrtowc, wcrtomb.
51039         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
51040         * tests/test-vasprintf-posix.c (test_function): Likewise.
51041         * tests/test-snprintf-posix.h (test_function): Likewise.
51042         * tests/test-sprintf-posix.h (test_function): Likewise.
51043         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51044
51045 2009-02-22  Bruno Haible  <bruno@clisp.org>
51046
51047         Implement new clarified decomposition of Hangul syllables.
51048         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
51049         of type LTV, return only a pairwise decomposition.
51050         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
51051         Likewise.
51052         * tests/uninorm/test-decomposition.c (main): Updated expected result.
51053         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
51054         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
51055
51056 2009-02-22  Bruno Haible  <bruno@clisp.org>
51057
51058         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
51059         zero-length results and shrink excess allocated memory.
51060         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
51061         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
51062         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
51063         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
51064         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
51065         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
51066         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
51067         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
51068         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
51069         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
51070         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
51071         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
51072
51073 2009-02-21  Bruno Haible  <bruno@clisp.org>
51074
51075         * doc/gnulib.texi: Include safe-alloc.texi earlier.
51076         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
51077         spaces after a period. Put a space between a macro name and its
51078         argument list. Trivial rewordings.
51079         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
51080         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
51081         (main): Return 0 explicitly.
51082
51083 2009-02-21  Bruno Haible  <bruno@clisp.org>
51084
51085         Tests for module 'uninorm/filter'.
51086         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
51087         * modules/uninorm/filter-tests: New file.
51088
51089         New module 'uninorm/filter'.
51090         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
51091         uninorm_filter_flush, uninorm_filter_free): New declarations.
51092         * lib/uninorm/uninorm-filter.c: New file.
51093         * modules/uninorm/filter: New file.
51094
51095 2009-02-21  Bruno Haible  <bruno@clisp.org>
51096
51097         Tests for module 'uninorm/nfkc'.
51098         * tests/uninorm/test-nfkc.c: New file.
51099         * tests/uninorm/test-u8-nfkc.c: New file.
51100         * tests/uninorm/test-u16-nfkc.c: New file.
51101         * tests/uninorm/test-u32-nfkc.c: New file.
51102         * tests/uninorm/test-u32-nfkc-big.sh: New file.
51103         * tests/uninorm/test-u32-nfkc-big.c: New file.
51104         * modules/uninorm/nfkc-tests: New file.
51105
51106         New module 'uninorm/nfkc'.
51107         * lib/uninorm/nfkc.c: New file.
51108         * modules/uninorm/nfkc: New file.
51109
51110         Tests for module 'uninorm/nfkd'.
51111         * tests/uninorm/test-nfkd.c: New file.
51112         * tests/uninorm/test-u8-nfkd.c: New file.
51113         * tests/uninorm/test-u16-nfkd.c: New file.
51114         * tests/uninorm/test-u32-nfkd.c: New file.
51115         * tests/uninorm/test-u32-nfkd-big.sh: New file.
51116         * tests/uninorm/test-u32-nfkd-big.c: New file.
51117         * modules/uninorm/nfkd-tests: New file.
51118
51119         New module 'uninorm/nfkd'.
51120         * lib/uninorm/nfkd.c: New file.
51121         * modules/uninorm/nfkd: New file.
51122
51123         Tests for module 'uninorm/nfc'.
51124         * tests/uninorm/test-nfc.c: New file.
51125         * tests/uninorm/test-u8-nfc.c: New file.
51126         * tests/uninorm/test-u16-nfc.c: New file.
51127         * tests/uninorm/test-u32-nfc.c: New file.
51128         * tests/uninorm/test-u32-nfc-big.sh: New file.
51129         * tests/uninorm/test-u32-nfc-big.c: New file.
51130         * modules/uninorm/nfc-tests: New file.
51131
51132         New module 'uninorm/nfc'.
51133         * lib/uninorm/nfc.c: New file.
51134         * modules/uninorm/nfc: New file.
51135
51136         Tests for module 'uninorm/nfd'.
51137         * tests/uninorm/test-nfd.c: New file.
51138         * tests/uninorm/test-u8-nfd.c: New file.
51139         * tests/uninorm/test-u16-nfd.c: New file.
51140         * tests/uninorm/test-u32-nfd.c: New file.
51141         * tests/uninorm/test-u32-nfd-big.sh: New file.
51142         * tests/uninorm/test-u32-nfd-big.c: New file.
51143         * tests/uninorm/test-u32-normalize-big.h: New file.
51144         * tests/uninorm/test-u32-normalize-big.c: New file.
51145         * tests/uninorm/NormalizationTest.txt: New file, created from
51146         Unicode 5.1.0 NormalizationTest.txt.
51147         * modules/uninorm/nfd-tests: New file.
51148
51149         New module 'uninorm/nfd'.
51150         * lib/uninorm/nfd.c: New file.
51151         * modules/uninorm/nfd: New file.
51152
51153         New module 'uninorm/u32-normalize'.
51154         * lib/uninorm/u32-normalize.c: New file.
51155         * modules/uninorm/u32-normalize: New file.
51156
51157         New module 'uninorm/u16-normalize'.
51158         * lib/uninorm/u16-normalize.c: New file.
51159         * modules/uninorm/u16-normalize: New file.
51160
51161         New module 'uninorm/u8-normalize'.
51162         * lib/uninorm/u8-normalize.c: New file.
51163         * lib/uninorm/normalize-internal.h: New file.
51164         * lib/uninorm/u-normalize-internal.h: New file.
51165         * modules/uninorm/u8-normalize: New file.
51166
51167         New module 'uninorm/decompose-internal'.
51168         * lib/uninorm/decompose-internal.c: New file.
51169         * modules/uninorm/decompose-internal: New file.
51170
51171         Tests for module 'uninorm/composition'.
51172         * tests/uninorm/test-composition.c: New file.
51173         * modules/uninorm/composition-tests: New file.
51174
51175         New module 'uninorm/composition'.
51176         * lib/uninorm/composition.c: New file.
51177         * lib/uninorm/composition-table.gperf: New file, generated by
51178         gen-uni-tables.
51179         * modules/uninorm/composition: New file.
51180
51181         Tests for module 'uninorm/compat-decomposition'.
51182         * tests/uninorm/test-compat-decomposition.c: New file.
51183         * modules/uninorm/compat-decomposition-tests: New file.
51184
51185         New module 'uninorm/compat-decomposition'.
51186         * lib/uninorm/decompose-internal.h: New file.
51187         * lib/uninorm/compat-decomposition.c: New file.
51188         * modules/uninorm/compat-decomposition: New file.
51189
51190         Tests for module 'uninorm/canonical-decomposition'.
51191         * tests/uninorm/test-canonical-decomposition.c: New file.
51192         * modules/uninorm/canonical-decomposition-tests: New file.
51193
51194         New module 'uninorm/canonical-decomposition'.
51195         * lib/uninorm/canonical-decomposition.c: New file.
51196         * modules/uninorm/canonical-decomposition: New file.
51197
51198         Tests for module 'uninorm/decomposition'.
51199         * tests/uninorm/test-decomposition.c: New file.
51200         * modules/uninorm/decomposition-tests: New file.
51201
51202         New module 'uninorm/decomposition'.
51203         * lib/uninorm/decomposition.c: New file.
51204         * modules/uninorm/decomposition: New file.
51205
51206         New module 'uninorm/decomposition-table'.
51207         * lib/uninorm/decomposition-table.h: New file.
51208         * lib/uninorm/decomposition-table.c: New file.
51209         * lib/uninorm/decomposition-table1.h: New file, generated by
51210         gen-uni-tables.
51211         * lib/uninorm/decomposition-table2.h: New file, generated by
51212         gen-uni-tables.
51213         * modules/uninorm/decomposition-table: New file.
51214
51215         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
51216         (UC_DECOMP_*): New enumeration items.
51217         (get_decomposition): New function.
51218         (struct decomp_table): New type.
51219         (output_decomposition, output_decomposition_tables): New functions.
51220         (unicode_composition_exclusions): New variable.
51221         (fill_composition_exclusions, debug_output_composition_tables): New
51222         functions.
51223         (main): Accept one more argument. Invoke fill_composition_exclusions.
51224         Output decomposition and composition tables.
51225
51226         New module 'uninorm/base'.
51227         * lib/uninorm.h: New file.
51228         * lib/unictype.h: Update comment.
51229         * modules/uninorm/base: New file.
51230
51231 2009-02-21  David Lutterkort  <lutter@redhat.com>
51232
51233         Tests for module 'safe-alloc'.
51234         * tests/test-safe-alloc.c: New file.
51235         * modules/safe-alloc-tests: New file.
51236
51237         New module 'safe-alloc'.
51238         * lib/safe-alloc.h: New file.
51239         * lib/safe-alloc.c: New file.
51240         * m4/safe-alloc.m4: New file.
51241         * modules/safe-alloc: New file.
51242         * doc/safe-alloc.texi: New file.
51243         * doc/gnulib.texi: Include it.
51244         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
51245         safe-alloc.
51246
51247 2009-02-18  Bruno Haible  <bruno@clisp.org>
51248
51249         Fix link error on non-glibc systems.
51250         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
51251         variable.
51252         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51253
51254 2009-02-18  Jim Meyering  <meyering@redhat.com>
51255
51256         fts: avoid used-uninitialized error due to recent change
51257         * lib/fts.c (fts_read): Guard uses of the new member,
51258         parent->fts_n_dirs_remaining, since it's not relevant for
51259         the parent of a directory specified on the command-line.
51260
51261 2009-02-17  James Youngman  <jay@gnu.org>
51262             Bruno Haible  <bruno@clisp.org>
51263
51264         * m4/include_next.m4: Reformulate comment.
51265
51266 2009-02-16  Jim Meyering  <meyering@redhat.com>
51267
51268         fts: add #if guards so that the fts_lgpl module still builds
51269         * lib/fts.c: Guard just-added hash-table-using parts with
51270         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
51271         Reported by Simon Josefsson.
51272
51273 2009-02-15  Bruno Haible  <bruno@clisp.org>
51274
51275         * modules/array-mergesort-tests: New file.
51276         * tests/test-array-mergesort.c: New file.
51277
51278         New module 'array-mergesort'.
51279         * modules/array-mergesort: New file.
51280         * lib/array-mergesort.h: New file.
51281
51282 2009-02-15  Bruno Haible  <bruno@clisp.org>
51283
51284         Fix 2009-02-07 commit.
51285         * lib/gen-uni-tables.c (output_predicate, output_category,
51286         output_combclass, output_bidi_category, output_decimal_digit,
51287         output_digit, output_numeric, output_mirror, output_scripts,
51288         output_ident_category, output_simple_mapping): Fix format directives.
51289         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
51290
51291 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
51292
51293         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
51294         fixes are available from IBM.
51295
51296 2009-02-13  Jim Meyering  <meyering@redhat.com>
51297
51298         fts: arrange not to stat non-directories in more cases
51299         This makes GNU find (when it doesn't need to stat each file)
51300         *much* more efficient at traversing reiserfs file systems.
51301         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
51302         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
51303         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
51304         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
51305         (leaf_optimization_applies): New function.
51306         (LCO_hash, LCO_compare): New helper functions.
51307         (link_count_optimize_ok): New function.
51308         (fts_stat): Initialize new member (if dir).
51309         (fts_read): Decrement parent's fts_n_dirs_remaining count if
51310         we've just stat'ed a directory.  Skip the stat call when possible.
51311         ---
51312         Note this AFS-related exchange:
51313         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
51314         and note find's pioctl call in find/fstype.c.
51315         But that is necessary only if you want to enable the
51316         optimization for AFS, and for now, I don't.
51317
51318         fts: move a function definition "up" (no semantic change)
51319         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
51320         "up" to precede upcoming use of a related function.
51321
51322 2009-02-11  Jim Meyering  <meyering@redhat.com>
51323
51324         fts: correct internal computation of nlinks (optimization-related)
51325         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
51326         whether the current entry is a directory, so don't test it.
51327
51328 2009-02-10  Bruno Haible  <bruno@clisp.org>
51329
51330         Tests for module 'uniwbrk/ulc-wordbreaks'.
51331         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
51332         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
51333         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
51334
51335         Tests for module 'uniwbrk/u32-wordbreaks'.
51336         * modules/uniwbrk/u32-wordbreaks-tests: New file.
51337         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
51338
51339         Tests for module 'uniwbrk/u16-wordbreaks'.
51340         * modules/uniwbrk/u16-wordbreaks-tests: New file.
51341         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
51342
51343         Tests for module 'uniwbrk/u8-wordbreaks'.
51344         * modules/uniwbrk/u8-wordbreaks-tests: New file.
51345         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
51346
51347 2009-02-10  Bruno Haible  <bruno@clisp.org>
51348
51349         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
51350         property.
51351         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
51352         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
51353         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
51354
51355 2009-02-10  Simon Josefsson  <simon@josefsson.org>
51356
51357         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
51358         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
51359
51360 2009-02-10  Bruno Haible  <bruno@clisp.org>
51361
51362         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
51363         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
51364         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
51365         * lib/unilbrk/u8-possible-linebreaks.c: Update.
51366         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
51367         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
51368
51369 2009-02-09  Simon Josefsson  <simon@josefsson.org>
51370
51371         * lib/sockets.h (gl_fd_to_handle): New function.
51372
51373         * tests/test-sockets.c: Call gl_fd_to_handle.
51374
51375 2009-02-09  Bruno Haible  <bruno@clisp.org>
51376
51377         * doc/havelib.texi: Document the conventions on bi-arch systems.
51378
51379 2009-02-08  Bruno Haible  <bruno@clisp.org>
51380
51381         Document the AC_LIB_LINKFLAGS macro.
51382         * doc/havelib.texi: New file, mostly written on 2005-05-24.
51383         * doc/gnulib.texi: Include it.
51384
51385 2009-02-08  Bruno Haible  <bruno@clisp.org>
51386
51387         Fix wrong order of sections, compared to TOC.
51388         * doc/gnulib.texi: Include relocatable-maint.texi after the
51389         "Regular expressions" node, not before.
51390
51391 2009-02-08  Bruno Haible  <bruno@clisp.org>
51392
51393         Tests for module 'unicase/totitle'.
51394         * modules/unicase/totitle-tests: New file.
51395
51396         Tests for module 'unicase/tolower'.
51397         * modules/unicase/tolower-tests: New file.
51398
51399         Tests for module 'unicase/toupper'.
51400         * modules/unicase/toupper-tests: New file.
51401         * tests/unicase/test-mapping-part1.h: New file.
51402         * tests/unicase/test-mapping-part2.h: New file.
51403
51404         New module 'unicase/totitle'.
51405         * modules/unicase/totitle: New file.
51406         * lib/unicase/totitle.c: New file.
51407
51408         New module 'unicase/tolower'.
51409         * modules/unicase/tolower: New file.
51410         * lib/unicase/tolower.c: New file.
51411
51412         New module 'unicase/toupper'.
51413         * modules/unicase/toupper: New file.
51414         * lib/unicase/toupper.c: New file.
51415         * lib/unicase/simple-mapping.h: New file.
51416
51417         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
51418         (mapping_table): New structure.
51419         (output_simple_mapping): New function.
51420         (main): Invoke output_simple_mapping_test and output_simple_mapping.
51421         * modules/gen-uni-tables (Description): Update.
51422         * lib/unicase/toupper.h: New file, automatically generated by
51423         gen-uni-tables.
51424         * lib/unicase/tolower.h: New file, automatically generated by
51425         gen-uni-tables.
51426         * lib/unicase/totitle.h: New file, automatically generated by
51427         gen-uni-tables.
51428         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
51429         gen-uni-tables.
51430         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
51431         gen-uni-tables.
51432         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
51433         gen-uni-tables.
51434
51435         New module 'unicase/base'.
51436         * modules/unicase/base: New file.
51437         * lib/unicase.h: New file.
51438
51439 2009-02-08  Bruno Haible  <bruno@clisp.org>
51440
51441         New module 'uniwbrk/ulc-wordbreaks'.
51442         * modules/uniwbrk/ulc-wordbreaks: New file.
51443         * lib/uniwbrk/ulc-wordbreaks.c: New file.
51444
51445         New module 'uniwbrk/u32-wordbreaks'.
51446         * modules/uniwbrk/u32-wordbreaks: New file.
51447         * lib/uniwbrk/u32-wordbreaks.c: New file.
51448
51449         New module 'uniwbrk/u16-wordbreaks'.
51450         * modules/uniwbrk/u16-wordbreaks: New file.
51451         * lib/uniwbrk/u16-wordbreaks.c: New file.
51452
51453         New module 'uniwbrk/u8-wordbreaks'.
51454         * modules/uniwbrk/u8-wordbreaks: New file.
51455         * lib/uniwbrk/u8-wordbreaks.c: New file.
51456         * lib/uniwbrk/u-wordbreaks.h: New file.
51457
51458         New module 'uniwbrk/table'.
51459         * modules/uniwbrk/table: New file.
51460         * lib/uniwbrk/wbrktable.h: New file.
51461         * lib/uniwbrk/wbrktable.c: New file.
51462
51463         New module 'uniwbrk/wordbreak-property'.
51464         * modules/uniwbrk/wordbreak-property: New file.
51465         * lib/uniwbrk/wordbreak-property.c: New file.
51466
51467         * lib/gen-uni-tables.c (WBP_*): New enum items.
51468         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
51469         (unicode_org_wbp): New variable.
51470         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
51471         New functions.
51472         (wbp_table): New structure.
51473         (output_wbp, output_wbrk_tables): New functions.
51474         (main): Accept additional argument. Invoke fill_org_wbp,
51475         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
51476         output_wbrk_tables.
51477         * modules/gen-uni-tables (Description): Update.
51478         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
51479         gen-uni-tables.
51480
51481         New module 'uniwbrk/base'.
51482         * modules/uniwbrk/base: New file.
51483         * lib/uniwbrk.h: New file.
51484
51485 2009-02-08  Bruno Haible  <bruno@clisp.org>
51486
51487         Update to Unicode 5.1.0.
51488         * lib/gen-uni-tables.c (is_property_alphabetic): Include
51489         U+2185..U+2188.
51490         (is_property_default_ignorable_code_point): Don't include characters
51491         of category Cc or Cs and not-a-characters.
51492         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
51493         U+0D79, U+109E, U+109F, U+A60C.
51494         * lib/unictype/bidi_of.h: Regenerated.
51495         * lib/unictype/blocks.h: Regenerated.
51496         * lib/unictype/categ_C.h: Regenerated.
51497         * lib/unictype/categ_Cf.h: Regenerated.
51498         * lib/unictype/categ_Cn.h: Regenerated.
51499         * lib/unictype/categ_L.h: Regenerated.
51500         * lib/unictype/categ_Ll.h: Regenerated.
51501         * lib/unictype/categ_Lm.h: Regenerated.
51502         * lib/unictype/categ_Lo.h: Regenerated.
51503         * lib/unictype/categ_Lu.h: Regenerated.
51504         * lib/unictype/categ_M.h: Regenerated.
51505         * lib/unictype/categ_Mc.h: Regenerated.
51506         * lib/unictype/categ_Me.h: Regenerated.
51507         * lib/unictype/categ_Mn.h: Regenerated.
51508         * lib/unictype/categ_N.h: Regenerated.
51509         * lib/unictype/categ_Nd.h: Regenerated.
51510         * lib/unictype/categ_Nl.h: Regenerated.
51511         * lib/unictype/categ_No.h: Regenerated.
51512         * lib/unictype/categ_P.h: Regenerated.
51513         * lib/unictype/categ_Pd.h: Regenerated.
51514         * lib/unictype/categ_Pe.h: Regenerated.
51515         * lib/unictype/categ_Pf.h: Regenerated.
51516         * lib/unictype/categ_Pi.h: Regenerated.
51517         * lib/unictype/categ_Po.h: Regenerated.
51518         * lib/unictype/categ_Ps.h: Regenerated.
51519         * lib/unictype/categ_S.h: Regenerated.
51520         * lib/unictype/categ_Sk.h: Regenerated.
51521         * lib/unictype/categ_Sm.h: Regenerated.
51522         * lib/unictype/categ_So.h: Regenerated.
51523         * lib/unictype/categ_of.h: Regenerated.
51524         * lib/unictype/combining.h: Regenerated.
51525         * lib/unictype/ctype_alnum.h: Regenerated.
51526         * lib/unictype/ctype_alpha.h: Regenerated.
51527         * lib/unictype/ctype_graph.h: Regenerated.
51528         * lib/unictype/ctype_lower.h: Regenerated.
51529         * lib/unictype/ctype_print.h: Regenerated.
51530         * lib/unictype/ctype_punct.h: Regenerated.
51531         * lib/unictype/ctype_upper.h: Regenerated.
51532         * lib/unictype/decdigit.h: Regenerated.
51533         * lib/unictype/digit.h: Regenerated.
51534         * lib/unictype/mirror.h: Regenerated.
51535         * lib/unictype/numeric.h: Regenerated.
51536         * lib/unictype/pr_alphabetic.h: Regenerated.
51537         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
51538         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
51539         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
51540         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
51541         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
51542         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
51543         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
51544         * lib/unictype/pr_combining.h: Regenerated.
51545         * lib/unictype/pr_dash.h: Regenerated.
51546         * lib/unictype/pr_decimal_digit.h: Regenerated.
51547         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
51548         * lib/unictype/pr_deprecated.h: Regenerated.
51549         * lib/unictype/pr_diacritic.h: Regenerated.
51550         * lib/unictype/pr_extender.h: Regenerated.
51551         * lib/unictype/pr_format_control.h: Regenerated.
51552         * lib/unictype/pr_grapheme_base.h: Regenerated.
51553         * lib/unictype/pr_grapheme_extend.h: Regenerated.
51554         * lib/unictype/pr_grapheme_link.h: Regenerated.
51555         * lib/unictype/pr_id_continue.h: Regenerated.
51556         * lib/unictype/pr_id_start.h: Regenerated.
51557         * lib/unictype/pr_ideographic.h: Regenerated.
51558         * lib/unictype/pr_ignorable_control.h: Regenerated.
51559         * lib/unictype/pr_lowercase.h: Regenerated.
51560         * lib/unictype/pr_math.h: Regenerated.
51561         * lib/unictype/pr_numeric.h: Regenerated.
51562         * lib/unictype/pr_other_alphabetic.h: Regenerated.
51563         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
51564         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
51565         * lib/unictype/pr_other_id_continue.h: Regenerated.
51566         * lib/unictype/pr_other_lowercase.h: Regenerated.
51567         * lib/unictype/pr_other_math.h: Regenerated.
51568         * lib/unictype/pr_punctuation.h: Regenerated.
51569         * lib/unictype/pr_sentence_terminal.h: Regenerated.
51570         * lib/unictype/pr_soft_dotted.h: Regenerated.
51571         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
51572         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
51573         * lib/unictype/pr_unified_ideograph.h: Regenerated.
51574         * lib/unictype/pr_uppercase.h: Regenerated.
51575         * lib/unictype/pr_xid_continue.h: Regenerated.
51576         * lib/unictype/pr_xid_start.h: Regenerated.
51577         * lib/unictype/pr_zero_width.h: Regenerated.
51578         * lib/unictype/scripts.h: Regenerated.
51579         * lib/unictype/scripts_byname.gperf: Regenerated.
51580         * lib/unictype/sy_java_ident.h: Regenerated.
51581         * lib/unilbrk/lbrkprop1.h: Regenerated.
51582         * lib/unilbrk/lbrkprop2.h: Regenerated.
51583         * tests/unictype/test-categ_C.c: Regenerated.
51584         * tests/unictype/test-categ_Cf.c: Regenerated.
51585         * tests/unictype/test-categ_Cn.c: Regenerated.
51586         * tests/unictype/test-categ_L.c: Regenerated.
51587         * tests/unictype/test-categ_Ll.c: Regenerated.
51588         * tests/unictype/test-categ_Lm.c: Regenerated.
51589         * tests/unictype/test-categ_Lo.c: Regenerated.
51590         * tests/unictype/test-categ_Lu.c: Regenerated.
51591         * tests/unictype/test-categ_M.c: Regenerated.
51592         * tests/unictype/test-categ_Mc.c: Regenerated.
51593         * tests/unictype/test-categ_Me.c: Regenerated.
51594         * tests/unictype/test-categ_Mn.c: Regenerated.
51595         * tests/unictype/test-categ_N.c: Regenerated.
51596         * tests/unictype/test-categ_Nd.c: Regenerated.
51597         * tests/unictype/test-categ_Nl.c: Regenerated.
51598         * tests/unictype/test-categ_No.c: Regenerated.
51599         * tests/unictype/test-categ_P.c: Regenerated.
51600         * tests/unictype/test-categ_Pd.c: Regenerated.
51601         * tests/unictype/test-categ_Pe.c: Regenerated.
51602         * tests/unictype/test-categ_Pf.c: Regenerated.
51603         * tests/unictype/test-categ_Pi.c: Regenerated.
51604         * tests/unictype/test-categ_Po.c: Regenerated.
51605         * tests/unictype/test-categ_Ps.c: Regenerated.
51606         * tests/unictype/test-categ_S.c: Regenerated.
51607         * tests/unictype/test-categ_Sk.c: Regenerated.
51608         * tests/unictype/test-categ_Sm.c: Regenerated.
51609         * tests/unictype/test-categ_So.c: Regenerated.
51610         * tests/unictype/test-ctype_alnum.c: Regenerated.
51611         * tests/unictype/test-ctype_alpha.c: Regenerated.
51612         * tests/unictype/test-ctype_graph.c: Regenerated.
51613         * tests/unictype/test-ctype_lower.c: Regenerated.
51614         * tests/unictype/test-ctype_print.c: Regenerated.
51615         * tests/unictype/test-ctype_punct.c: Regenerated.
51616         * tests/unictype/test-ctype_upper.c: Regenerated.
51617         * tests/unictype/test-decdigit.h: Regenerated.
51618         * tests/unictype/test-digit.h: Regenerated.
51619         * tests/unictype/test-numeric.h: Regenerated.
51620         * tests/unictype/test-pr_alphabetic.c: Regenerated.
51621         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
51622         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
51623         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
51624         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
51625         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
51626         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
51627         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
51628         * tests/unictype/test-pr_combining.c: Regenerated.
51629         * tests/unictype/test-pr_dash.c: Regenerated.
51630         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
51631         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
51632         * tests/unictype/test-pr_deprecated.c: Regenerated.
51633         * tests/unictype/test-pr_diacritic.c: Regenerated.
51634         * tests/unictype/test-pr_extender.c: Regenerated.
51635         * tests/unictype/test-pr_format_control.c: Regenerated.
51636         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
51637         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
51638         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
51639         * tests/unictype/test-pr_id_continue.c: Regenerated.
51640         * tests/unictype/test-pr_id_start.c: Regenerated.
51641         * tests/unictype/test-pr_ideographic.c: Regenerated.
51642         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
51643         * tests/unictype/test-pr_lowercase.c: Regenerated.
51644         * tests/unictype/test-pr_math.c: Regenerated.
51645         * tests/unictype/test-pr_numeric.c: Regenerated.
51646         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
51647         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
51648         Regenerated.
51649         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
51650         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
51651         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
51652         * tests/unictype/test-pr_other_math.c: Regenerated.
51653         * tests/unictype/test-pr_punctuation.c: Regenerated.
51654         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
51655         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
51656         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
51657         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
51658         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
51659         * tests/unictype/test-pr_uppercase.c: Regenerated.
51660         * tests/unictype/test-pr_xid_continue.c: Regenerated.
51661         * tests/unictype/test-pr_xid_start.c: Regenerated.
51662         * tests/unictype/test-pr_zero_width.c: Regenerated.
51663
51664         Update to Unicode 5.1.0.
51665         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
51666         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
51667         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
51668         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
51669         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
51670         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
51671         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
51672         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
51673         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
51674         (nonspacing_table_ind): Update.
51675         * tests/uniwidth/test-uc_width2.sh: Update expected result.
51676
51677         Update to Unicode 5.1.0.
51678         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
51679         code transform.
51680         * lib/uniname/uniname.c (unicode_character_name,
51681         unicode_name_character): Add the range 0x1Fxxx to the code transform.
51682         * lib/uniname/uninames.h: Regenerated.
51683         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
51684
51685 2009-02-07  Bruno Haible  <bruno@clisp.org>
51686
51687         Merge gen-ctype and gen-lbrk into a single program.
51688         * lib/gen-uni-tables.c: New file, incorporating
51689         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
51690         Add directory prefixes to the names of the generated files.
51691         * lib/unictype/gen-ctype.c: Remove file.
51692         * lib/unilbrk/gen-lbrk.c: Remove file.
51693         * modules/gen-uni-tables: New file.
51694         * modules/unictype/gen-ctype: Remove file.
51695         * modules/unilbrk/gen-lbrk: Remove file.
51696
51697 2009-02-07  Bruno Haible  <bruno@clisp.org>
51698
51699         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
51700
51701         New module 'unistr/u32-strcoll'.
51702         * modules/unistr/u32-strcoll: New file.
51703         * lib/unistr/u32-strcoll.c: New file.
51704
51705         New module 'unistr/u16-strcoll'.
51706         * modules/unistr/u16-strcoll: New file.
51707         * lib/unistr/u16-strcoll.c: New file.
51708
51709         New module 'unistr/u8-strcoll'.
51710         * modules/unistr/u8-strcoll: New file.
51711         * lib/unistr/u8-strcoll.c: New file.
51712         * lib/unistr/u-strcoll.h: New file.
51713
51714 2009-02-07  Bruno Haible  <bruno@clisp.org>
51715
51716         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
51717         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51718         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51719         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
51720         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
51721         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
51722
51723 2009-02-07  Bruno Haible  <bruno@clisp.org>
51724
51725         Make 64-bit clean.
51726         * lib/unictype/gen-ctype.c (output_predicate, output_category,
51727         output_combclass, output_bidi_category, output_decimal_digit,
51728         output_digit, output_numeric, output_mirror, output_scripts,
51729         output_ident_category): Use proper width specifier in format strings.
51730
51731 2009-02-07  Bruno Haible  <bruno@clisp.org>
51732
51733         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
51734         failure behaviour.
51735
51736 2009-02-07  Jim Meyering  <meyering@redhat.com>
51737
51738         regex: avoid compilation failure with upcoming gcc-4.4
51739         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
51740         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
51741         "... error: integer overflow in preprocessor expression".
51742
51743 2009-02-05  Ben Pfaff  <blp@gnu.org>
51744
51745         Fix link errors on Windows when close module is used.
51746         * modules/close: Add $(LIB_CLOSE) to Link section.
51747         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
51748         $(LIB_CLOSE) on Windows.
51749
51750 2009-02-05  Jim Meyering  <meyering@redhat.com>
51751
51752         still avoid unused-parameter warnings, but do it cleanly
51753         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
51754         (get_fs_usage): Cast to void instead.
51755         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
51756         (dev_from_mount_options, read_file_system_list): Cast to void.
51757         Prompted by Bruno Haible.
51758
51759 2009-02-04  Jim Meyering  <meyering@redhat.com>
51760
51761         fsusage.c: correct copyright year
51762         * lib/fsusage.c: Reflect year in which the change is pushed into
51763
51764         avoid misc. warnings
51765         * lib/fsusage.c (UNUSED_PARAM): Define.
51766         (get_fs_usage): Mark parameter "disk" as unused.
51767         * lib/getugroups.c (getgrent): Use "void" in prototype.
51768         * lib/mountlist.c: Mark unused parameters.
51769         (read_file_system_list): Declare a local with "const".
51770         * lib/nanosleep.c (getnow): Declare static.
51771         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
51772
51773         dirfd: set errno upon failure
51774         * lib/dirfd.c: Include <errno.h>.
51775         Set errno to ENOTSUP when returning -1.
51776         * modules/dirfd (Depends-on): Add errno.
51777         Suggested by John Kodis <kodis@comcast.net>.
51778
51779 2009-02-01  Bruno Haible  <bruno@clisp.org>
51780
51781         Don't assume sizeof (long) >= sizeof (void *).
51782         * lib/memcmp.c: Include stdint.h.
51783         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
51784         srcp2 to 'const byte *'.
51785         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
51786         types to uintptr_t.
51787         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
51788         * modules/memcmp (Depends-on): Add stdint.
51789         Reported by Ozkan Sezer <sezeroz@gmail.com>.
51790
51791 2009-01-30  Eric Blake  <ebb9@byu.net>
51792
51793         fix more require-before-expand issues
51794         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
51795         expand, AC_PROG_AWK.
51796         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
51797
51798 2009-01-28  Eric Blake  <ebb9@byu.net>
51799
51800         version-etc: use consistent URL formatting
51801         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
51802         Improve formatting.  Use fputs for string without %.
51803
51804 2009-01-28  Jim Meyering  <meyering@redhat.com>
51805
51806         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
51807         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
51808         "underquoted definition of NAME" from autoconf-2.59.
51809
51810 2009-01-28  Bruno Haible  <bruno@clisp.org>
51811
51812         * doc/gnulib.texi: Add "Obsolete modules" to index.
51813
51814 2009-01-28  Jim Meyering  <meyering@redhat.com>
51815
51816         useless-if-before-free: recognize more variants
51817         * build-aux/useless-if-before-free: Also recognize e.g.,
51818         if (NULL != p) free (p);
51819
51820 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
51821
51822         test-getaddrinfo: skip (don't fail) this test when there's no network
51823         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
51824         on the presumption that it means you lack network access.
51825
51826 2009-01-26  Jim Meyering  <meyering@redhat.com>
51827
51828         fflush: avoid warnings on modern systems
51829         * lib/fflush.c (rpl_fflush): Move declarations of locals,
51830         pos and result, into scopes where they're used.
51831
51832 2009-01-26  Eric Blake  <ebb9@byu.net>
51833
51834         Silence warning reintroduced by recent extensions patch.
51835         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
51836         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
51837         autoconf.
51838
51839         Backport improved autoconf semantics of AC_DEFUN_ONCE.
51840         * m4/00gnulib.m4: New file.
51841         * gnulib-tool (func_get_filelist): Always use it.
51842         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
51843         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
51844
51845 2009-01-25  Bruno Haible  <bruno@clisp.org>
51846
51847         Make test-quotearg work on MacOS X and AIX.
51848         * tests/test-quotearg.sh: New file.
51849         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
51850         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
51851         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
51852         include <libintl.h>.
51853         (fake_locale): Remove variable.
51854         (gettext, dgettext, dcgettext): Remove functions.
51855         (main): Instead of setting a fake locale, set a real locale. Call
51856         textdomain and bindtextdomain.
51857         * modules/quotearg-tests (Files): Add the new files.
51858         (Depends-on): Add gettext, setenv, unsetenv.
51859         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
51860         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
51861         Augment TESTS_ENVIRONMENT.
51862
51863 2009-01-25  Bruno Haible  <bruno@clisp.org>
51864
51865         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
51866         fr_FR.ISO8859-1 locale on MacOS X.
51867         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
51868         ja_JP.eucJP locale on MacOS X.
51869         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
51870         zh_CN.GB18030 locale on MacOS X.
51871
51872 2009-01-25  Bruno Haible  <bruno@clisp.org>
51873
51874         Avoid link errors on MacOS X 10.3.
51875         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
51876         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
51877
51878 2009-01-25  Bruno Haible  <bruno@clisp.org>
51879
51880         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51881         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
51882         * modules/pipe (Files): Remove m4/posix_spawn.m4.
51883         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51884         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
51885         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51886         posix_spawnattr_init, posix_spawnattr_setsigmask,
51887         posix_spawnattr_setflags, posix_spawnattr_destroy.
51888
51889         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51890         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
51891         * modules/execute (Files): Remove m4/posix_spawn.m4.
51892         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51893         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51894         posix_spawnattr_init, posix_spawnattr_setsigmask,
51895         posix_spawnattr_setflags, posix_spawnattr_destroy.
51896
51897 2009-01-25  Bruno Haible  <bruno@clisp.org>
51898
51899         * lib/glthread/threadlib.c: Include <stdlib.h>.
51900
51901 2009-01-25  Bruno Haible  <bruno@clisp.org>
51902
51903         * lib/glthread/threadlib.c (dummy): New declaration.
51904
51905 2009-01-25  Bruno Haible  <bruno@clisp.org>
51906
51907         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
51908         multibyte characters also for the GB18030 encoding. Don't crash when
51909         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
51910
51911 2009-01-25  Bruno Haible  <bruno@clisp.org>
51912
51913         Avoid redefining 'struct random_data' on OSF/1 5.1.
51914         * lib/stdlib.in.h: Include <random.h> if it exists.
51915         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
51916         HAVE_RANDOM_H. Include <random.h> when testing whether
51917         'struct random_data' exists.
51918         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
51919
51920 2009-01-25  Bruno Haible  <bruno@clisp.org>
51921
51922         Don't install charset.alias on MacOS X >= 10.3.
51923         * lib/localcharset.c (DARWIN7): New macro.
51924         (get_charset_aliases): Hardcode the result for Darwin7.
51925         * modules/localcharset (install-exec-local): Don't install
51926         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
51927
51928 2009-01-25  Bruno Haible  <bruno@clisp.org>
51929
51930         Don't install charset.alias on mingw and Cygwin.
51931         * modules/localcharset (install-exec-local): Don't install
51932         charset.alias on mingw and Cygwin, if the file does not yet exist.
51933         The result for these platforms is hardcoded in localcharset.c.
51934
51935 2009-01-25  Bruno Haible  <bruno@clisp.org>
51936
51937         Make it possible again to use AC_GNU_SOURCE together with gnulib.
51938         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
51939         before requiring AC_USE_SYSTEM_EXTENSIONS.
51940
51941 2009-01-25  Jim Meyering  <meyering@redhat.com>
51942
51943         c-strtod: avoid warnings
51944         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
51945         "assignment discards qualifiers from pointer target type" warnings.
51946
51947 2009-01-24  Bruno Haible  <bruno@clisp.org>
51948
51949         Add support for non-UTF-8 locales on MacOS X.
51950         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
51951         canonical encodings. For Darwin 7 and newer, don't map traditional
51952         encodings to UTF-8.
51953         Reported by Vincent Lefevre <vincent@vinc17.org>
51954         at <http://savannah.gnu.org/bugs/?25235>.
51955
51956 2009-01-24  Bruno Haible  <bruno@clisp.org>
51957
51958         * doc/gnulib.texi (Obsolete modules): New section.
51959         Reported by Mike Frysinger <vapier@gentoo.org>.
51960
51961 2009-01-24  Bruno Haible  <bruno@clisp.org>
51962
51963         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
51964         (%.dvi): New rule.
51965
51966 2009-01-24  Bruno Haible  <bruno@clisp.org>
51967
51968         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
51969         Reported by Eric Blake.
51970
51971 2009-01-24  Bruno Haible  <bruno@clisp.org>
51972
51973         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
51974         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
51975         Reported by Gary V. Vaughan <gary@gnu.org>.
51976
51977 2009-01-24  Bruno Haible  <bruno@clisp.org>
51978
51979         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
51980
51981 2009-01-23  Bruno Haible  <bruno@clisp.org>
51982
51983         Make c-strtod, c-strtold usable in libraries.
51984         * lib/c-strtod.c: Include string.h instead of xalloc.h.
51985         (C_STRTOD): Call strdup instead of xstrdup.
51986         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
51987         * modules/c-strtold (Depends-on): Likewise.
51988         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
51989         * NEWS: Mention the change.
51990         Reported by Michael Gold <mgold@ncf.ca>.
51991
51992 2009-01-23  Jim Meyering  <meyering@redhat.com>
51993
51994         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
51995         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
51996         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
51997
51998 2009-01-23  Simon Josefsson  <simon@josefsson.org>
51999
52000         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
52001         GNU CoreUtils.
52002         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
52003         * modules/version-etc (Description): Update.
52004
52005 2009-01-22  Bruno Haible  <bruno@clisp.org>
52006
52007         Cache the C locale object.
52008         * lib/c-strtod.c (c_locale_cache): New variable.
52009         (c_locale): New function.
52010         (C_STRTOD): Use it, and don't call freelocale.
52011         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
52012         Suggested by Paolo Bonzini.
52013
52014 2009-01-21  Bruno Haible  <bruno@clisp.org>
52015
52016         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
52017         conditions other than overflow.
52018
52019 2009-01-21  Bruno Haible  <bruno@clisp.org>
52020
52021         * lib/c-strtod.c: Include errno.h.
52022         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
52023         value from STRTOD_L and STRTOD.
52024
52025 2009-01-21  Bruno Haible  <bruno@clisp.org>
52026         and Jim Meyering  <meyering@redhat.com>
52027
52028         nanosleep: skip configure test (fail it) for apple universal builds
52029         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
52030         universal builds, assume that nanosleep does not work.
52031         * modules/nanosleep (Depends-on): Add multiarch.
52032
52033         mktime: skip configure test (fail it) for apple universal builds
52034         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
52035         universal builds, assume that mktime does not work.
52036         * modules/mktime (Depends-on): Add multiarch.
52037
52038 2009-01-21  Eric Blake  <ebb9@byu.net>
52039
52040         multiarch: avoid expand-before-require warning
52041         * modules/multiarch (configure.ac): Require, rather than expand,
52042         gl_MULTIARCH.
52043         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
52044         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
52045         enforce that all clients require it.  Partial reversion of
52046         2008-12-29 patch.
52047
52048         error: avoid expand-before-require warning
52049         * modules/errno (configure.ac): Require, rather than expand,
52050         gl_HEADER_ERRNO_H.
52051         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
52052         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
52053         enforce that all clients require it.
52054
52055         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
52056         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
52057         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
52058         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
52059
52060 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
52061
52062         Revert:
52063         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
52064
52065         regex: do not depend on obsolete modules.
52066         * modules/regex: Remove memcmp and memmove.
52067
52068 2009-01-20  Bruno Haible  <bruno@clisp.org>
52069
52070         Make the 'link' module link on Windows NT 4.
52071         * lib/link.c (_WIN32_WINNT): Don't define.
52072         (CreateHardLinkFuncType): New type.
52073         (CreateHardLinkFunc, initialized): New variables.
52074         (initialize): New function.
52075         (link): Invoke CreateHardLink indirectly through the function pointer.
52076
52077 2009-01-20  Bruno Haible  <bruno@clisp.org>
52078
52079         Fix compilation failure on mingw.
52080         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
52081
52082 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
52083
52084         * doc/c-strtod.texi: Mention a couple of restrictions.
52085
52086 2009-01-20  Jim Meyering  <meyering@redhat.com>
52087
52088         gettimeofday: move more declarations out of functions
52089         * lib/gettimeofday.c: Move extern declarations of tzset and
52090         gmtime out of containing functions.  Prompted by Bruno Haible.
52091
52092 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
52093
52094         regex: do not depend on obsolete modules.
52095         * modules/regex: Remove memcmp and memmove.
52096
52097 2009-01-19  Bruno Haible  <bruno@clisp.org>
52098
52099         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
52100         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
52101         gl_BIGENDIAN, not AC_C_BIGENDIAN.
52102         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
52103         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
52104
52105 2009-01-19  Bruno Haible  <bruno@clisp.org>
52106
52107         * tests/test-link.c: Include <errno.h>.
52108         (main): Exit with code 77 when a hard link cannot be created due to
52109         the file system.
52110         * tests/test-link.sh: Skip test when a hard link cannot be created due
52111         to the file system.
52112         Suggested by Eric Blake.
52113
52114 2009-01-19  Martin Lambers  <marlam@marlam.de>
52115
52116         * modules/link-tests: New file.
52117         * tests/test-link.sh: New file.
52118         * tests/test-link.c: New file.
52119
52120 2009-01-19  Eric Blake  <ebb9@byu.net>
52121
52122         doc: mention another function added in cygwin 1.7.0
52123         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
52124         Another new function in cygwin 1.7.
52125
52126 2009-01-19  Bruno Haible  <bruno@clisp.org>
52127
52128         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
52129         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
52130         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
52131         gl_BIGENDIAN, not AC_C_BIGENDIAN.
52132         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
52133         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
52134         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
52135         * m4/md4.m4 (gl_MD4): Likewise.
52136         * m4/md5.m4 (gl_MD5): Likewise.
52137         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
52138         * m4/sha1.m4 (gl_SHA1): Likewise.
52139         * m4/sha256.m4 (gl_SHA256): Likewise.
52140         * m4/sha512.m4 (gl_SHA512): Likewise.
52141
52142 2009-01-19  Bruno Haible  <bruno@clisp.org>
52143
52144         * modules/uniname/uniname-tests (Depends-on): Add progname.
52145         * tests/uniname/test-uninames.c: Include progname.h.
52146         (main): Call set_program_name.
52147
52148         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
52149         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
52150         (main): Call set_program_name.
52151
52152         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
52153         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
52154         (main): Call set_program_name.
52155
52156         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
52157         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
52158         (main): Call set_program_name.
52159
52160         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
52161         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
52162         (main): Call set_program_name.
52163
52164         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
52165         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
52166         (main): Call set_program_name.
52167
52168         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
52169         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
52170         (main): Call set_program_name.
52171
52172         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
52173         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
52174         (main): Call set_program_name.
52175
52176         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
52177         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
52178         (main): Call set_program_name.
52179
52180 2009-01-19  Eric Blake  <ebb9@byu.net>
52181
52182         test-unistd: test previous patch
52183         * tests/test-unistd.c: Test *_FILENO macros.
52184
52185         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
52186         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52187         Guarantee a definition.
52188         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
52189         * modules/unistd-safer (Depends-on): Add dependency on unistd.
52190         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
52191         * lib/dup-safer.c (STDERR_FILENO): Likewise.
52192         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52193         Likewise.
52194         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
52195         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
52196         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52197         Likewise.
52198         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
52199         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
52200         (STDERR_FILENO): Likewise.
52201         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
52202         (STDERR_FILENO): Likewise.
52203         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
52204         (STDERR_FILENO): Likewise.
52205         Reported by Elbert Pol.
52206
52207 2009-01-19  Eric Blake  <ebb9@byu.net>
52208
52209         doc: mention more functions added in cygwin 1.7.0
52210         * doc/posix-functions/abort.texi (abort): Update wording related
52211         to cygwin.
52212         * doc/posix-functions/daylight.texi (daylight): Likewise.
52213         * doc/posix-functions/optarg.texi (optarg): Likewise.
52214         * doc/posix-functions/optarg.texi (opterr): Likewise.
52215         * doc/posix-functions/optarg.texi (optind): Likewise.
52216         * doc/posix-functions/optarg.texi (optopt): Likewise.
52217         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
52218         worked in 1.5.x, and was withdrawn in 1.7.
52219         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
52220         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
52221         cygwin versions.
52222         * doc/posix-functions/perror.texi (perror): Likewise.
52223         * doc/posix-functions/printf.texi (printf): Likewise.
52224         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
52225         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
52226         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
52227         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
52228         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
52229         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
52230         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
52231         Likewise.
52232         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
52233         Likewise.
52234         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
52235         this function.
52236         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
52237         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
52238         Likewise.
52239         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
52240         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
52241         * doc/posix-functions/confstr.texi (confstr): Likewise.
52242         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
52243         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
52244         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
52245         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
52246         * doc/posix-functions/fputws.texi (fputws): Likewise.
52247         * doc/posix-functions/fwide.texi (fwide): Likewise.
52248         * doc/posix-functions/getwc.texi (getwc): Likewise.
52249         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
52250         * doc/posix-functions/putwc.texi (putwc): Likewise.
52251         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
52252         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
52253         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
52254         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
52255         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
52256         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
52257         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
52258         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
52259         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
52260         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
52261         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
52262
52263 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
52264
52265         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
52266         * lib/ioctl.c: Include <sys/ioctl.h>.
52267
52268 2009-01-19  Simon Josefsson  <simon@josefsson.org>
52269
52270         * modules/getdate-tests (Depends-on): Add progname.
52271         * tests/test-getdate.c: Use progname module, to avoid link errors
52272         on non-glibc systems.
52273
52274 2009-01-18  Simon Josefsson  <simon@josefsson.org>
52275
52276         * modules/filenamecat-tests (Depends-on): Add progname.
52277         * modules/fstrcmp-tests (Depends-on): Likewise.
52278
52279         * tests/test-filenamecat.c: Use progname module, to avoid link
52280         errors on non-glibc systems.
52281         * tests/test-fstrcmp.c: Likewise.
52282
52283 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
52284
52285         gettimeofday: avoid warning: nested extern declaration of 'localtime'
52286         * lib/gettimeofday.c: Move extern declaration out of function.
52287
52288 2009-01-18  Bruno Haible  <bruno@clisp.org>
52289
52290         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
52291         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
52292         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
52293
52294 2009-01-18  Bruno Haible  <bruno@clisp.org>
52295
52296         * lib/strftime.c (MEMPCPY): Remove unused macro.
52297         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
52298
52299 2009-01-18  Martin Lambers  <marlam@marlam.de>
52300
52301         New module 'link'.
52302         * lib/unistd.in.h (link): New declaration.
52303         * lib/link.c: New file.
52304         * m4/link.m4: New file.
52305         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
52306         HAVE_LINK.
52307         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
52308         * modules/link: New file.
52309         * doc/posix-functions/link.texi: Mention the new module.
52310
52311 2009-01-18  Bruno Haible  <bruno@clisp.org>
52312
52313         * tests/test-avltree_list.c (main): Call set_program_name.
52314         * tests/test-avltree_oset.c (main): Likewise.
52315         * tests/test-obstack-printf.c: Include progname.h.
52316         (main): Call set_program_name.
52317         * tests/test-quotearg.c: Include progname.h.
52318         (main): Call set_program_name.
52319         * tests/test-xmemdup0.c: Include progname.h.
52320         (main): Call set_program_name.
52321
52322 2009-01-18  Bruno Haible  <bruno@clisp.org>
52323
52324         New module 'alphasort'.
52325         * lib/dirent.in.h (alphasort): New declaration.
52326         * lib/alphasort.c: New file, from glibc with modifications.
52327         * m4/alphasort.m4: New file.
52328         * modules/alphasort: New file.
52329         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
52330         HAVE_ALPHASORT.
52331         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
52332         HAVE_ALPHASORT.
52333         * doc/posix-functions/alphasort.texi: Mention the new module and the
52334         portability problems.
52335
52336 2009-01-18  Bruno Haible  <bruno@clisp.org>
52337
52338         New module 'scandir'.
52339         * lib/dirent.in.h (scandir): New declaration.
52340         * lib/scandir.c: New file, from glibc with modifications.
52341         * m4/scandir.m4: New file.
52342         * modules/scandir: New file.
52343         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
52344         HAVE_SCANDIR.
52345         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
52346         HAVE_SCANDIR.
52347         * doc/posix-functions/scandir.texi: Mention the new module and the
52348         portability problems.
52349
52350 2009-01-17  Bruno Haible  <bruno@clisp.org>
52351
52352         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
52353         Update documentation.
52354         (func_remove_suffix): Escape all dots in the suffix. Update
52355         documentation.
52356         (func_filter_filelist): Update documentation.
52357         Reported by Ralf Wildenhues.
52358
52359 2009-01-17  Bruno Haible  <bruno@clisp.org>
52360
52361         * modules/dprintf-posix-tests: New file.
52362         * tests/test-dprintf-posix.sh: New file.
52363         * tests/test-dprintf-posix.c: New file.
52364
52365         New modules 'dprintf', 'dprintf-posix'.
52366         * lib/stdio.in.h (dprintf): New declaration.
52367         * lib/dprintf.c: New file.
52368         * m4/dprintf.m4: New file.
52369         * m4/dprintf-posix.m4: New file.
52370         * modules/dprintf: New file.
52371         * modules/dprintf-posix: New file.
52372         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
52373         HAVE_DPRINTF, REPLACE_DPRINTF.
52374         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
52375         HAVE_DPRINTF, REPLACE_DPRINTF.
52376         * doc/posix-functions/dprintf.texi: Mention the new modules.
52377
52378 2009-01-17  Bruno Haible  <bruno@clisp.org>
52379
52380         * modules/vdprintf-posix-tests: New file.
52381         * tests/test-vdprintf-posix.sh: New file.
52382         * tests/test-vdprintf-posix.c: New file.
52383
52384         New modules 'vdprintf', 'vdprintf-posix'.
52385         * lib/stdio.in.h (vdprintf): New declaration.
52386         * lib/vdprintf.c: New file.
52387         * m4/vdprintf.m4: New file.
52388         * m4/vdprintf-posix.m4: New file.
52389         * modules/vdprintf: New file.
52390         * modules/vdprintf-posix: New file.
52391         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
52392         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52393         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
52394         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52395         * doc/posix-functions/vdprintf.texi: Mention the new modules.
52396
52397 2009-01-17  Bruno Haible  <bruno@clisp.org>
52398
52399         Fix replacement of fopen on mingw.
52400         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
52401         mingw.
52402
52403 2009-01-17  Bruno Haible  <bruno@clisp.org>
52404
52405         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
52406         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
52407
52408 2009-01-17  Bruno Haible  <bruno@clisp.org>
52409
52410         Avoid test-fflush2.sh failure on mingw.
52411         * tests/test-fflush2.c: Include binary-io.h.
52412         (main): Put standard input into binary mode.
52413         * modules/fflush-tests (Depends-on): Add binary-io.
52414
52415 2009-01-17  Bruno Haible  <bruno@clisp.org>
52416
52417         * lib/wchar.in.h: In another particular situation, include only the
52418         system's <wchar.h> file.
52419         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
52420         Reported by Albert Chin-A-Young <china@thewrittenword.com>
52421         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
52422
52423 2009-01-17  Bruno Haible  <bruno@clisp.org>
52424
52425         Support for stripping executables in --enable-relocatable.
52426         * build-aux/install-reloc: Expect one more argument, or an environment
52427         variable RELOC_STRIP_PROG. If set, strip the destination program and
52428         its wrapper.
52429         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
52430         RELOC_STRIP_PROG.
52431         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
52432         to set RELOCATABLE_STRIP.
52433         * NEWS: Mention the new Makefile requirement.
52434
52435 2009-01-17  Bruno Haible  <bruno@clisp.org>
52436
52437         * build-aux/install-reloc: Remove debugging information left over by
52438         C compiler on MacOS X.
52439
52440 2009-01-17  Bruno Haible  <bruno@clisp.org>
52441
52442         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
52443         * lib/progreloc.c (find_executable): Fix type of pointer passed to
52444         _NSGetExecutablePath.
52445
52446 2009-01-16  Jim Meyering  <meyering@redhat.com>
52447
52448         strerror: avoid warnings about discarding "const"
52449         * lib/strerror.c (rpl_strerror): Instead of returning a const
52450         string from each and every "case", use a variable, and add a single
52451         cast after the switch.
52452
52453 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
52454
52455         * lib/arpa_inet.in.h: Add extern "C" block for C++.
52456
52457 2009-01-16  Bruno Haible  <bruno@clisp.org>
52458
52459         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
52460         array initializer syntax that also works in C++ mode.
52461         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52462
52463 2009-01-16  Jim Meyering  <meyering@redhat.com>
52464
52465         poll: suppress a warning
52466         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
52467         to ignore "...unsigned expression < 0 is always false" warnings.
52468
52469 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
52470
52471         poll: remove declarations of unused variables
52472         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
52473         sockbuf and optlen.
52474
52475 2009-01-15  Bruno Haible  <bruno@clisp.org>
52476
52477         Make fflush-after-ungetc POSIX compliant on BSD systems.
52478         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
52479         (clear_ungetc_buffer): Implement also for other systems.
52480         (rpl_fflush): On glibc systems, invoke
52481         clear_ungetc_buffer_preserving_position. Otherwise, invoke
52482         clear_ungetc_buffer after fetching the stream's position, not before.
52483
52484 2009-01-15  Bruno Haible  <bruno@clisp.org>
52485
52486         Make fflush-after-ungetc POSIX compliant on glibc systems.
52487         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
52488         after ungetc.
52489         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
52490         (rpl_fflush): On glibc systems, simply call the system's fflush
52491         function after clearing the ungetc buffer.
52492         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
52493         Instead, lseek only to the end of file, then use the system's fseeko
52494         for the rest. On glibc systems, reset the EOF indicator bit.
52495
52496 2009-01-15  Jim Meyering  <meyering@redhat.com>
52497
52498         openmp.m4: revert quote-adding change, for portability to older autoconf
52499         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
52500         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
52501         Simon Josefsson noticed the problem when using autoconf-2.61.
52502
52503 2009-01-15  Bruno Haible  <bruno@clisp.org>
52504
52505         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
52506         * tests/test-fflush2.c (ASSERT): Always fail.
52507         (main): Add two tests for fflush() after ungetc(), taking into account
52508         the Austin Group's clarification.
52509         Suggested by Eric Blake.
52510
52511 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
52512
52513         mktime.m4: remove K&R-style function prototypes
52514         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
52515         for the Sun C++ compiler.
52516
52517 2009-01-14  Bruno Haible  <bruno@clisp.org>
52518
52519         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
52520         while including <wchar.h>.
52521         * lib/wchar.in.h: In two particular situations on HP-UX, include only
52522         the system's <wchar.h> file.
52523         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52524
52525 2009-01-14  Bruno Haible  <bruno@clisp.org>
52526
52527         * m4/csharp.m4: Don't mention gettext on the serial number line.
52528         * m4/csharpexec.m4: Likewise.
52529         * m4/eaccess.m4: Likewise.
52530         * m4/javaexec.m4: Likewise.
52531         * m4/sig_atomic_t.m4: Likewise.
52532         * m4/tmpdir.m4: Likewise.
52533         * m4/intldir.m4: Bump gettext version.
52534         * m4/lib-ld.m4: Likewise.
52535
52536 2009-01-14  Bruno Haible  <bruno@clisp.org>
52537
52538         * lib/progname.c (set_program_name): Add more comments.
52539         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
52540
52541 2009-01-14  Simon Josefsson  <simon@josefsson.org>
52542
52543         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
52544         were sys/stat.h does not define it.
52545
52546 2009-01-14  Jim Meyering  <meyering@redhat.com>
52547
52548         many *.m4 files: improve m4 quoting
52549         99% of this change was performed by running the following commands:
52550         git ls-files | grep '\.m4$' | xargs perl -pi \
52551           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
52552           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52553           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52554           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
52555         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
52556         The remainder were to add Copyright dates, increment serial numbers,
52557         undo some changes in comments, exclude m4/intl.m4, and add quotes
52558         around the "1" in ",1" where the unusual spacing prohibited the
52559         above regexps from doing the job.  For more details, see
52560         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
52561         * m4/acl.m4: Modified.
52562         * m4/afs.m4: Likewise.
52563         * m4/alloca.m4: Likewise.
52564         * m4/argp.m4: Likewise.
52565         * m4/argz.m4: Likewise.
52566         * m4/atexit.m4: Likewise.
52567         * m4/bison-i18n.m4: Likewise.
52568         * m4/bison.m4: Likewise.
52569         * m4/byteswap.m4: Likewise.
52570         * m4/c-stack.m4: Likewise.
52571         * m4/c-strtod.m4: Likewise.
52572         * m4/calloc.m4: Likewise.
52573         * m4/canonicalize-lgpl.m4: Likewise.
52574         * m4/chown.m4: Likewise.
52575         * m4/clock_time.m4: Likewise.
52576         * m4/codeset.m4: Likewise.
52577         * m4/copy-file.m4: Likewise.
52578         * m4/csharp.m4: Likewise.
52579         * m4/csharpcomp.m4: Likewise.
52580         * m4/csharpexec.m4: Likewise.
52581         * m4/d-ino.m4: Likewise.
52582         * m4/d-type.m4: Likewise.
52583         * m4/dirfd.m4: Likewise.
52584         * m4/double-slash-root.m4: Likewise.
52585         * m4/eaccess.m4: Likewise.
52586         * m4/eealloc.m4: Likewise.
52587         * m4/environ.m4: Likewise.
52588         * m4/errno_h.m4: Likewise.
52589         * m4/euidaccess.m4: Likewise.
52590         * m4/execute.m4: Likewise.
52591         * m4/fatal-signal.m4: Likewise.
52592         * m4/fchdir.m4: Likewise.
52593         * m4/fcntl_h.m4: Likewise.
52594         * m4/fileblocks.m4: Likewise.
52595         * m4/filenamecat.m4: Likewise.
52596         * m4/findprog.m4: Likewise.
52597         * m4/flexmember.m4: Likewise.
52598         * m4/fnmatch.m4: Likewise.
52599         * m4/fopen.m4: Likewise.
52600         * m4/fpending.m4: Likewise.
52601         * m4/fprintf-posix.m4: Likewise.
52602         * m4/free.m4: Likewise.
52603         * m4/frexp.m4: Likewise.
52604         * m4/frexpl.m4: Likewise.
52605         * m4/fsusage.m4: Likewise.
52606         * m4/ftruncate.m4: Likewise.
52607         * m4/gc-camellia.m4: Likewise.
52608         * m4/gc-random.m4: Likewise.
52609         * m4/gc.m4: Likewise.
52610         * m4/getaddrinfo.m4: Likewise.
52611         * m4/getcwd-abort-bug.m4: Likewise.
52612         * m4/getcwd-path-max.m4: Likewise.
52613         * m4/getdate.m4: Likewise.
52614         * m4/getdomainname.m4: Likewise.
52615         * m4/getgroups.m4: Likewise.
52616         * m4/gethostname.m4: Likewise.
52617         * m4/gethrxtime.m4: Likewise.
52618         * m4/getline.m4: Likewise.
52619         * m4/getloadavg.m4: Likewise.
52620         * m4/getndelim2.m4: Likewise.
52621         * m4/getpass.m4: Likewise.
52622         * m4/gettext.m4: Likewise.
52623         * m4/gettime.m4: Likewise.
52624         * m4/gettimeofday.m4: Likewise.
52625         * m4/gnulib-common.m4: Likewise.
52626         * m4/group-member.m4: Likewise.
52627         * m4/host-os.m4: Likewise.
52628         * m4/iconv.m4: Likewise.
52629         * m4/iconv_open.m4: Likewise.
52630         * m4/inet_ntop.m4: Likewise.
52631         * m4/inet_pton.m4: Likewise.
52632         * m4/inline.m4: Likewise.
52633         * m4/intldir.m4: Likewise.
52634         * m4/intlmacosx.m4: Likewise.
52635         * m4/intmax.m4: Likewise.
52636         * m4/intmax_t.m4: Likewise.
52637         * m4/inttypes.m4: Likewise.
52638         * m4/inttypes_h.m4: Likewise.
52639         * m4/inttypes-pri.m4: Likewise.
52640         * m4/isapipe.m4: Likewise.
52641         * m4/isnand.m4: Likewise.
52642         * m4/isnanf.m4: Likewise.
52643         * m4/isnanl.m4: Likewise.
52644         * m4/javacomp.m4: Likewise.
52645         * m4/javaexec.m4: Likewise.
52646         * m4/jm-winsz1.m4: Likewise.
52647         * m4/jm-winsz2.m4: Likewise.
52648         * m4/lchown.m4: Likewise.
52649         * m4/lcmessage.m4: Likewise.
52650         * m4/ldexpl.m4: Likewise.
52651         * m4/lib-ld.m4: Likewise.
52652         * m4/lib-link.m4: Likewise.
52653         * m4/libsigsegv.m4: Likewise.
52654         * m4/link-follow.m4: Likewise.
52655         * m4/localcharset.m4: Likewise.
52656         * m4/locale-fr.m4: Likewise.
52657         * m4/locale-ja.m4: Likewise.
52658         * m4/locale-tr.m4: Likewise.
52659         * m4/locale-zh.m4: Likewise.
52660         * m4/lock.m4: Likewise.
52661         * m4/longlong.m4: Likewise.
52662         * m4/ls-mntd-fs.m4: Likewise.
52663         * m4/lstat.m4: Likewise.
52664         * m4/malloc.m4: Likewise.
52665         * m4/mathl.m4: Likewise.
52666         * m4/mbrtowc.m4: Likewise.
52667         * m4/mbstate_t.m4: Likewise.
52668         * m4/mbswidth.m4: Likewise.
52669         * m4/memchr.m4: Likewise.
52670         * m4/memcmp.m4: Likewise.
52671         * m4/memcpy.m4: Likewise.
52672         * m4/memmem.m4: Likewise.
52673         * m4/memmove.m4: Likewise.
52674         * m4/mempcpy.m4: Likewise.
52675         * m4/memrchr.m4: Likewise.
52676         * m4/memset.m4: Likewise.
52677         * m4/minmax.m4: Likewise.
52678         * m4/mkdir-slash.m4: Likewise.
52679         * m4/mkdtemp.m4: Likewise.
52680         * m4/mktime.m4: Likewise.
52681         * m4/mmap-anon.m4: Likewise.
52682         * m4/mountlist.m4: Likewise.
52683         * m4/nanosleep.m4: Likewise.
52684         * m4/nls.m4: Likewise.
52685         * m4/nocrash.m4: Likewise.
52686         * m4/open.m4: Likewise.
52687         * m4/openat.m4: Likewise.
52688         * m4/openmp.m4: Likewise.
52689         * m4/pathmax.m4: Likewise.
52690         * m4/perl.m4: Likewise.
52691         * m4/physmem.m4: Likewise.
52692         * m4/pipe.m4: Likewise.
52693         * m4/po.m4: Likewise.
52694         * m4/poll.m4: Likewise.
52695         * m4/posixtm.m4: Likewise.
52696         * m4/posixver.m4: Likewise.
52697         * m4/printf-frexp.m4: Likewise.
52698         * m4/printf-frexpl.m4: Likewise.
52699         * m4/printf-posix.m4: Likewise.
52700         * m4/printf-posix-rpl.m4: Likewise.
52701         * m4/printf.m4: Likewise.
52702         * m4/progtest.m4: Likewise.
52703         * m4/putenv.m4: Likewise.
52704         * m4/readline.m4: Likewise.
52705         * m4/readlink.m4: Likewise.
52706         * m4/readutmp.m4: Likewise.
52707         * m4/realloc.m4: Likewise.
52708         * m4/regex.m4: Likewise.
52709         * m4/relocatable.m4: Likewise.
52710         * m4/relocatable-lib.m4: Likewise.
52711         * m4/rename-dest-slash.m4: Likewise.
52712         * m4/rename.m4: Likewise.
52713         * m4/rmdir-errno.m4: Likewise.
52714         * m4/rmdir.m4: Likewise.
52715         * m4/roundf.m4: Likewise.
52716         * m4/roundl.m4: Likewise.
52717         * m4/rpmatch.m4: Likewise.
52718         * m4/save-cwd.m4: Likewise.
52719         * m4/selinux-selinux-h.m4: Likewise.
52720         * m4/setenv.m4: Likewise.
52721         * m4/settime.m4: Likewise.
52722         * m4/sig2str.m4: Likewise.
52723         * m4/sig_atomic_t.m4: Likewise.
52724         * m4/signalblocking.m4: Likewise.
52725         * m4/signbit.m4: Likewise.
52726         * m4/sigpipe.m4: Likewise.
52727         * m4/sockets.m4: Likewise.
52728         * m4/sockpfaf.m4: Likewise.
52729         * m4/st_dm_mode.m4: Likewise.
52730         * m4/stat-time.m4: Likewise.
52731         * m4/stdbool.m4: Likewise.
52732         * m4/stdint.m4: Likewise.
52733         * m4/stdint_h.m4: Likewise.
52734         * m4/stpcpy.m4: Likewise.
52735         * m4/stpncpy.m4: Likewise.
52736         * m4/strcase.m4: Likewise.
52737         * m4/strchrnul.m4: Likewise.
52738         * m4/strcspn.m4: Likewise.
52739         * m4/strdup.m4: Likewise.
52740         * m4/strftime.m4: Likewise.
52741         * m4/strndup.m4: Likewise.
52742         * m4/strnlen.m4: Likewise.
52743         * m4/strpbrk.m4: Likewise.
52744         * m4/strptime.m4: Likewise.
52745         * m4/strsep.m4: Likewise.
52746         * m4/strtod.m4: Likewise.
52747         * m4/strtoimax.m4: Likewise.
52748         * m4/strtok_r.m4: Likewise.
52749         * m4/strtol.m4: Likewise.
52750         * m4/strtoll.m4: Likewise.
52751         * m4/strtoul.m4: Likewise.
52752         * m4/strtoull.m4: Likewise.
52753         * m4/strtoumax.m4: Likewise.
52754         * m4/strverscmp.m4: Likewise.
52755         * m4/threadlib.m4: Likewise.
52756         * m4/timegm.m4: Likewise.
52757         * m4/tm_gmtoff.m4: Likewise.
52758         * m4/tmpdir.m4: Likewise.
52759         * m4/tmpfile.m4: Likewise.
52760         * m4/tzset.m4: Likewise.
52761         * m4/uintmax_t.m4: Likewise.
52762         * m4/unlinkdir.m4: Likewise.
52763         * m4/unlocked-io.m4: Likewise.
52764         * m4/uptime.m4: Likewise.
52765         * m4/userspec.m4: Likewise.
52766         * m4/utimbuf.m4: Likewise.
52767         * m4/utime.m4: Likewise.
52768         * m4/utimes-null.m4: Likewise.
52769         * m4/utimes.m4: Likewise.
52770         * m4/vararrays.m4: Likewise.
52771         * m4/vasnprintf.m4: Likewise.
52772         * m4/vfprintf-posix.m4: Likewise.
52773         * m4/vprintf-posix.m4: Likewise.
52774         * m4/wait-process.m4: Likewise.
52775         * m4/wchar_t.m4: Likewise.
52776         * m4/wint_t.m4: Likewise.
52777         * m4/write-any-file.m4: Likewise.
52778         * m4/yield.m4: Likewise.
52779
52780 2009-01-13  Bruno Haible  <bruno@clisp.org>
52781
52782         Avoid test-copy-file.sh failures when ACL support insufficient.
52783         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
52784         TESTS_ENVIRONMENT.
52785         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
52786         Reported by Jim Meyering.
52787
52788 2009-01-13  Bruno Haible  <bruno@clisp.org>
52789
52790         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
52791         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
52792         * modules/unistdio/u8-printf-parse (Files): Likewise.
52793         * modules/unistdio/u32-printf-parse (Files): Likewise.
52794         * modules/unistdio/ulc-printf-parse (Files): Likewise.
52795
52796 2009-01-13  Simon Josefsson  <simon@josefsson.org>
52797
52798         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
52799         and m4/inttypes_h.m4 too.
52800
52801 2009-01-12  Eric Blake  <ebb9@byu.net>
52802
52803         tests: IRIX 6.2 cc can't compile -0.0 into .data
52804         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
52805         rather than at compile-time.
52806         * tests/test-floorl.c (minus_zero): Likewise.
52807         * tests/test-frexpl.c (minus_zero): Likewise.
52808         * tests/test-isnan.c (minus_zerol): Likewise.
52809         * tests/test-isnanl.h (minus_zero): Likewise.
52810         * tests/test-ldexpl.c (minus_zero): Likewise.
52811         * tests/test-roundl.c (minus_zero): Likewise.
52812         * tests/test-signbit.c (minus_zerol): Likewise.
52813         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52814         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52815         * tests/test-truncl.c (minus_zero): Likewise.
52816         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52817         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52818         Reported by Tom G. Christensen and Nelson H. F. Beebe.
52819
52820 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52821
52822         regex: fix glibc bug 9697
52823         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
52824         handling.
52825
52826 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52827
52828         regex: fix glibc bug 697
52829         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
52830         being NULL also if there are no backreferences.
52831
52832 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52833
52834         regex: merge glibc changes
52835         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
52836         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
52837         re_string_skip_chars, re_string_reconstruct): Likewise.
52838         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
52839
52840 2009-01-07  Jim Meyering  <meyering@redhat.com>
52841
52842         poll: filter through cppi
52843         * lib/poll.c: Indent cpp directives to reflect nesting.
52844
52845 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
52846
52847         poll: don't return uninitialized
52848         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
52849
52850 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
52851
52852         avoid compile failure on AIX 6.1
52853         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
52854         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
52855
52856 2009-01-04  Jim Meyering  <meyering@redhat.com>
52857
52858         remove duplicate inclusion of <stdio.h>
52859         * tests/test-fprintf-posix.c: Likewise.
52860         * tests/test-printf-posix.c: Likewise.
52861         * tests/test-snprintf-posix.c: Likewise.
52862         * tests/test-sprintf-posix.c: Likewise.
52863         * tests/test-vasprintf-posix.c: Likewise.
52864         * tests/test-vfprintf-posix.c: Likewise.
52865         * tests/test-vprintf-posix.c: Likewise.
52866         * tests/test-vsnprintf-posix.c: Likewise.
52867         * tests/test-vsprintf-posix.c: Likewise.
52868
52869 2009-01-03  Jim Meyering  <meyering@redhat.com>
52870
52871         gnulib-tool: fix sed-based filtering
52872         * gnulib-tool (func_filter_filelist): Remove extra backslash
52873         in sed_fff_filter definition.
52874
52875 2009-01-02  Jim Meyering  <meyering@redhat.com>
52876
52877         strftime: avoid compilation failure on Solaris 2.6
52878         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
52879         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
52880         Don't #define mbrlen or mbsinit, since now they're guaranteed to
52881         be available.  Reported by Tom G. Christensen.  Details in
52882         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
52883
52884 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52885             Bruno Haible  <bruno@clisp.org>
52886
52887         Speed up gnulib-tool by doing more string processing through shell
52888         built-ins.
52889         * gnulib-tool (fast_func_append): New variable.
52890         (func_remove_prefix, func_remove_suffix): New functions.
52891         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
52892         (func_filter_filelist): New function.
52893         (func_get_dependencies): Use func_remove_suffix instead of sed.
52894         (func_get_automake_snippet): Use func_filter_filelist instead of a
52895         subshell and sed invocation.
52896
52897 2009-01-01  Bruno Haible  <bruno@clisp.org>
52898
52899         Fix a security bug.
52900         * gnulib-tool (func_import, import, update): Don't allow the characters
52901         '"', '$', '`', '\' in macro arguments that become part of commands that
52902         are evaluated.
52903
52904 2009-01-01  Bruno Haible  <bruno@clisp.org>
52905
52906         * gnulib-tool (func_reset_sigpipe): Add more comments.
52907
52908 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52909
52910         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
52911         func_emit_tests_Makefile_am, func_import): Abort loops early if we
52912         already know the answer.
52913
52914 2009-01-01  Jim Meyering  <meyering@redhat.com>
52915
52916         * lib/version-etc.c (version_etc_va): Update copyright year.
52917
52918 2008-12-30  Bruno Haible  <bruno@clisp.org>
52919
52920         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
52921         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
52922         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
52923
52924 2008-12-29  Eric Blake  <ebb9@byu.net>
52925
52926         multiarch: avoid autoconf AC_REQUIRE bug
52927         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
52928         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
52929         2.63 and older.
52930         Reported by Bruno Haible, and analyzed in
52931         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
52932
52933 2008-12-29  Bruno Haible  <bruno@clisp.org>
52934
52935         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
52936         files in subdirectories correctly.
52937         Reported by Ralf Wildenhues.
52938
52939 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52940
52941         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
52942         rather than 'join FILE -', for Solaris join.
52943
52944 2008-12-29  Bruno Haible  <bruno@clisp.org>
52945
52946         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
52947         quoting.
52948         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
52949         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
52950         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
52951         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
52952         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
52953         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
52954         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
52955         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
52956         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
52957         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
52958         * m4/nls.m4 (AM_NLS): Likewise.
52959         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
52960         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
52961         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
52962         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
52963         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
52964         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
52965         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
52966         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
52967         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
52968         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
52969         * m4/xsize.m4 (gl_XSIZE): Likewise.
52970         Suggested by Jim Meyering.
52971
52972 2008-11-17  Bruce Korb  <bkorb@gnu.org>
52973
52974         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
52975         * lib/parse-duration.c: use a switch instead of cascading if's.
52976
52977 2008-12-29  Eric Blake  <ebb9@byu.net>
52978
52979         wchar.h: supply WEOF on Irix 5.3
52980         * lib/wchar.in.h (wint_t): Also supply WEOF.
52981         * lib/wctype.in.h (wint_t): Likewise.
52982         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
52983         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
52984         Reported by Tom G. Christensen.
52985
52986 2008-12-26  Bruno Haible  <bruno@clisp.org>
52987
52988         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
52989         i486, i586, i686.
52990
52991 2008-12-26  Bruno Haible  <bruno@clisp.org>
52992
52993         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
52994
52995 2008-12-26  Bruno Haible  <bruno@clisp.org>
52996
52997         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
52998         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
52999         not __STDC_CONSTANT_MACROS.
53000         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
53001
53002 2008-12-25  Bruno Haible  <bruno@clisp.org>
53003
53004         Add support for universal builds to vasnprintf.
53005         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
53006         universal builds, guess no.
53007         * modules/vasnprintf-posix (Depends-on): Add multiarch.
53008         * modules/vasprintf-posix (Depends-on): Likewise.
53009         * modules/fprintf-posix (Depends-on): Likewise.
53010         * modules/vfprintf-posix (Depends-on): Likewise.
53011         * modules/snprintf-posix (Depends-on): Likewise.
53012         * modules/vsnprintf-posix (Depends-on): Likewise.
53013         * modules/sprintf-posix (Depends-on): Likewise.
53014         * modules/vsprintf-posix (Depends-on): Likewise.
53015         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53016         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53017         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53018         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53019         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53020         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53021         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53022
53023         Add support for universal builds to <inttypes.h>.
53024         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
53025         _SCNu64_PREFIX): In Apple
53026         universal builds, define directly, using _LP64.
53027         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
53028         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
53029         * modules/inttypes (Depends-on): Add multiarch.
53030         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
53031
53032         Add support for universal builds to <stdint.h>.
53033         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
53034         universal builds, define directly, using _LP64.
53035         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
53036         Apple universal builds, don't test for the size and suffix of ptrdiff_t
53037         and size_t.
53038         * modules/stdint (Depends-on): Add multiarch.
53039         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
53040
53041         New module 'multiarch'.
53042         * modules/multiarch: New file.
53043         * m4/multiarch.m4: New file.
53044
53045 2008-12-25  Bruno Haible  <bruno@clisp.org>
53046
53047         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
53048
53049 2008-12-25  Bruno Haible  <bruno@clisp.org>
53050
53051         * modules/btowc (License): Relicense under LGPLv2+.
53052         * modules/mbsinit (License): Likewise.
53053         * modules/mbrtowc (License): Likewise.
53054         * modules/wcrtomb (License): Likewise.
53055         * modules/streq (License): Likewise.
53056         Reported by David Lutterkort <lutter@redhat.com>.
53057
53058 2008-12-23  Bruno Haible  <bruno@clisp.org>
53059
53060         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
53061
53062 2008-12-23  Bruno Haible  <bruno@clisp.org>
53063
53064         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
53065         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
53066         GETADDRINFO_LIB, not in LIBS.
53067         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
53068         * modules/canon-host (Link): Likewise.
53069         * NEWS: Mention the change.
53070         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
53071         GETADDRINFO_LIB.
53072
53073 2008-12-22  Bruno Haible  <bruno@clisp.org>
53074
53075         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
53076         * doc/posix-functions/iswalpha_l.texi: Likewise.
53077         * doc/posix-functions/iswblank_l.texi: Likewise.
53078         * doc/posix-functions/iswcntrl_l.texi: Likewise.
53079         * doc/posix-functions/iswctype_l.texi: Likewise.
53080         * doc/posix-functions/iswdigit_l.texi: Likewise.
53081         * doc/posix-functions/iswgraph_l.texi: Likewise.
53082         * doc/posix-functions/iswlower_l.texi: Likewise.
53083         * doc/posix-functions/iswprint_l.texi: Likewise.
53084         * doc/posix-functions/iswpunct_l.texi: Likewise.
53085         * doc/posix-functions/iswspace_l.texi: Likewise.
53086         * doc/posix-functions/iswupper_l.texi: Likewise.
53087         * doc/posix-functions/iswxdigit_l.texi: Likewise.
53088         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
53089         * doc/posix-functions/open_wmemstream.texi: Likewise.
53090         * doc/posix-functions/swscanf.texi: Likewise.
53091         * doc/posix-functions/towctrans_l.texi: Likewise.
53092         * doc/posix-functions/towlower.texi: Likewise.
53093         * doc/posix-functions/towlower_l.texi: Likewise.
53094         * doc/posix-functions/towupper.texi: Likewise.
53095         * doc/posix-functions/towupper_l.texi: Likewise.
53096         * doc/posix-functions/vfwprintf.texi: Likewise.
53097         * doc/posix-functions/vfwscanf.texi: Likewise.
53098         * doc/posix-functions/vswscanf.texi: Likewise.
53099         * doc/posix-functions/vwprintf.texi: Likewise.
53100         * doc/posix-functions/vwscanf.texi: Likewise.
53101         * doc/posix-functions/wcpcpy.texi: Likewise.
53102         * doc/posix-functions/wcpncpy.texi: Likewise.
53103         * doc/posix-functions/wcscasecmp.texi: Likewise.
53104         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
53105         * doc/posix-functions/wcscoll_l.texi: Likewise.
53106         * doc/posix-functions/wcsdup.texi: Likewise.
53107         * doc/posix-functions/wcsncasecmp.texi: Likewise.
53108         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
53109         * doc/posix-functions/wcsnlen.texi: Likewise.
53110         * doc/posix-functions/wcsnrtombs.texi: Likewise.
53111         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
53112         * doc/posix-functions/wctrans_l.texi: Likewise.
53113         * doc/posix-functions/wctype_l.texi: Likewise.
53114         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
53115         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
53116         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
53117         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
53118         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
53119         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
53120         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
53121         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
53122         * doc/glibc-functions/wcschrnul.texi: Likewise.
53123         * doc/glibc-functions/wcsftime_l.texi: Likewise.
53124         * doc/glibc-functions/wcstod_l.texi: Likewise.
53125         * doc/glibc-functions/wcstof_l.texi: Likewise.
53126         * doc/glibc-functions/wcstol_l.texi: Likewise.
53127         * doc/glibc-functions/wcstold_l.texi: Likewise.
53128         * doc/glibc-functions/wcstoll_l.texi: Likewise.
53129         * doc/glibc-functions/wcstoq.texi: Likewise.
53130         * doc/glibc-functions/wcstoul_l.texi: Likewise.
53131         * doc/glibc-functions/wcstoull_l.texi: Likewise.
53132         * doc/glibc-functions/wcstouq.texi: Likewise.
53133         * doc/glibc-functions/wmempcpy.texi: Likewise.
53134
53135 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
53136             Eric Blake  <ebb9@byu.net>
53137             Paolo Bonzini  <bonzini@gnu.org>
53138             Bruno Haible  <bruno@clisp.org>
53139
53140         Make c-stack work on Haiku.
53141         * lib/c-stack.c (SA_ONSTACK): Define fallback.
53142         (c_stack_action): Use SA_ONSTACK flag.
53143
53144 2008-12-22  Bruno Haible  <bruno@clisp.org>
53145
53146         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
53147
53148 2008-12-22  Bruno Haible  <bruno@clisp.org>
53149
53150         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
53151         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
53152         being overridden.
53153         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
53154         New macros.
53155         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
53156         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
53157         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
53158         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
53159
53160 2008-12-22  Bruno Haible  <bruno@clisp.org>
53161
53162         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
53163         from test code.
53164
53165 2008-12-22  Eric Blake  <ebb9@byu.net>
53166
53167         Avoid gcc warnings on cygwin.
53168         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
53169         Avoid unused variable.
53170         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
53171         Likewise.
53172
53173 2008-12-22  Bruno Haible  <bruno@clisp.org>
53174
53175         Remove HAVE_MBRTOWC conditionals.
53176         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
53177         (mbscasecmp): Assume mbrtowc function.
53178         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
53179         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
53180         * lib/mbschr.c: Include mbuiter.h unconditionally.
53181         (mbschr): Assume mbrtowc function.
53182         * lib/mbscspn.c: Include mbuiter.h unconditionally.
53183         (mbscspn): Assume mbrtowc function.
53184         * lib/mbslen.c: Include mbuiter.h unconditionally.
53185         (mbslen): Assume mbrtowc function.
53186         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
53187         (mbsncasecmp): Assume mbrtowc function.
53188         * lib/mbsnlen.c: Include mbiter.h unconditionally.
53189         (mbsnlen): Assume mbrtowc function.
53190         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
53191         (mbspbrk): Assume mbrtowc function.
53192         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
53193         (mbspcasecmp): Assume mbrtowc function.
53194         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
53195         (mbsrchr): Assume mbrtowc function.
53196         * lib/mbssep.c: Include mbuiter.h unconditionally.
53197         (mbssep): Assume mbrtowc function.
53198         * lib/mbsspn.c: Include mbuiter.h unconditionally.
53199         (mbsspn): Assume mbrtowc function.
53200         * lib/mbsstr.c: Include mbuiter.h unconditionally.
53201         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
53202         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
53203         (mbstok_r): Assume mbrtowc function.
53204         * lib/propername.c: Include mbuiter.h unconditionally.
53205         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
53206         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
53207         (trim2): Assume mbrtowc function.
53208         * lib/mbswidth.c (mbsinit): Remove fallback definition.
53209         (mbsnwidth): Assume mbrtowc function.
53210         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
53211         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
53212         fallback definitions.
53213         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
53214
53215 2008-12-22  Bruno Haible  <bruno@clisp.org>
53216
53217         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
53218
53219 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
53220
53221         * modules/regex: Request emulations for the mb*/wc* functions we need.
53222         * m4/regex.m4: Don't look for those functions here.
53223         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
53224
53225 2008-12-22  Bruno Haible  <bruno@clisp.org>
53226
53227         * modules/fnmatch (Depends-on): Remove duplicated dependency.
53228
53229 2008-12-21  Bruno Haible  <bruno@clisp.org>
53230
53231         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
53232         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
53233         (Include): Remove conditionalization.
53234         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
53235         (Include): Remove conditionalization.
53236         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
53237         (Include): Remove conditionalization.
53238         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
53239         * m4/mbfile.m4 (gl_MBFILE): Likewise.
53240         * NEWS: Mention the change.
53241         Reported by Alan Hourihane <alanh@fairlite.co.uk>
53242         via Sergey Poznyakoff <gray@gnu.org.ua>.
53243
53244 2008-12-21  Bruno Haible  <bruno@clisp.org>
53245
53246         * MODULES.html.sh (Extended multibyte and wide character utilities
53247         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
53248         wcrtomb, wcsrtombs.
53249         (Support for systems lacking POSIX:2008): Add accept, bind, close,
53250         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
53251         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
53252         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
53253
53254 2008-12-21  Bruno Haible  <bruno@clisp.org>
53255
53256         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
53257
53258 2008-12-21  Bruno Haible  <bruno@clisp.org>
53259
53260         * modules/wcsnrtombs-tests: New file.
53261         * tests/test-wcsnrtombs1.sh: New file.
53262         * tests/test-wcsnrtombs2.sh: New file.
53263         * tests/test-wcsnrtombs3.sh: New file.
53264         * tests/test-wcsnrtombs4.sh: New file.
53265         * tests/test-wcsnrtombs.c: New file.
53266
53267         New module 'wcsnrtombs'.
53268         * lib/wchar.in.h (wcsnrtombs): New declaration.
53269         * lib/wcsnrtombs.c: New file.
53270         * lib/wcsrtombs-state.c: New file.
53271         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
53272         (internal_state): Remove variable.
53273         * m4/wcsnrtombs.m4: New file.
53274         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
53275         compilation units.
53276         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
53277         HAVE_WCSNRTOMBS.
53278         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
53279         HAVE_WCSNRTOMBS.
53280         * modules/wcsnrtombs: New file.
53281         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
53282         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
53283
53284 2008-12-21  Bruno Haible  <bruno@clisp.org>
53285
53286         * modules/wcsrtombs-tests: New file.
53287         * tests/test-wcsrtombs1.sh: New file.
53288         * tests/test-wcsrtombs2.sh: New file.
53289         * tests/test-wcsrtombs3.sh: New file.
53290         * tests/test-wcsrtombs4.sh: New file.
53291         * tests/test-wcsrtombs.c: New file.
53292
53293         New module 'wcsrtombs'.
53294         * lib/wchar.in.h (wcsrtombs): New declaration.
53295         * lib/wcsrtombs.c: New file.
53296         * m4/wcsrtombs.m4: New file.
53297         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
53298         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
53299         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
53300         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
53301         * modules/wcsrtombs: New file.
53302         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
53303         bugs.
53304
53305 2008-12-21  Bruno Haible  <bruno@clisp.org>
53306
53307         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
53308         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
53309         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
53310         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
53311         if not correct.
53312         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
53313         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
53314         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53315         m4/locale-zh.m4, m4/codeset.m4.
53316         * doc/posix-functions/wcrtomb.texi: Document the bug.
53317
53318 2008-12-21  Bruno Haible  <bruno@clisp.org>
53319
53320         Work around a btowc() bug on IRIX 6.5.
53321         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
53322         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
53323         REPLACE_WTOBC if not.
53324         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
53325         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
53326         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
53327
53328 2008-12-21  Bruno Haible  <bruno@clisp.org>
53329
53330         * modules/wcrtomb-tests: New file.
53331         * tests/test-wcrtomb.sh: New file.
53332         * tests/test-wcrtomb.c: New file.
53333
53334         New module 'wcrtomb'.
53335         * lib/wchar.in.h (wcrtomb): New declaration.
53336         * lib/wcrtomb.c: New file.
53337         * m4/wcrtomb.m4: New file.
53338         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
53339         HAVE_WCRTOMB.
53340         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
53341         HAVE_WCRTOMB.
53342         * modules/wcrtomb: New file.
53343         * doc/posix-functions/wcrtomb.texi: Mention the new module.
53344
53345 2008-12-21  Bruno Haible  <bruno@clisp.org>
53346
53347         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
53348         * modules/mbsrtowcs (Files): Likewise.
53349         * modules/wctob (Files): Likewise.
53350         * modules/c-strcase-tests (Files): Likewise.
53351         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
53352         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
53353         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
53354         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
53355         * modules/vasnprintf-posix-tests (Files): Likewise.
53356
53357 2008-12-21  William Pursell  <bill.pursell@gmail.com>
53358
53359         gitlog-to-changelog: pass all command-line arguments to git-log
53360         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
53361         it is sometimes convenient to filter the commits in various ways.
53362         gitlog-to-changelog only allows --since to specify a start date,
53363         but git-log itself supports many other filtering mechanisms.
53364         At the moment, I want to filter by branch name.  Rather than
53365         adding a --branch option to gitlog-to-changelog, it seems more
53366         flexible to simply pass all options directly to git-log and let
53367         git do the work.  Notice that this effectively makes --since a
53368         redundant option for gitlog-to-changelog, but removing it would
53369         require current usage to change since calls would then require
53370         an additional '--'.
53371
53372 2008-12-21  Bruno Haible  <bruno@clisp.org>
53373
53374         * modules/mbsnrtowcs-tests: New file.
53375         * tests/test-mbsnrtowcs1.sh: New file.
53376         * tests/test-mbsnrtowcs2.sh: New file.
53377         * tests/test-mbsnrtowcs3.sh: New file.
53378         * tests/test-mbsnrtowcs4.sh: New file.
53379         * tests/test-mbsnrtowcs.c: New file.
53380
53381         New module 'mbsnrtowcs'.
53382         * lib/wchar.in.h (mbsnrtowcs): New declaration.
53383         * lib/mbsnrtowcs.c: New file.
53384         * lib/mbsrtowcs-state.c: New file.
53385         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
53386         (internal_state): Remove variable.
53387         * m4/mbsnrtowcs.m4: New file.
53388         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
53389         compilation units.
53390         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
53391         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53392         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
53393         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53394         * modules/mbsnrtowcs: New file.
53395         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
53396         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
53397         portability problem.
53398
53399 2008-12-21  Bruno Haible  <bruno@clisp.org>
53400
53401         Work around mbsrtowcs bug.
53402         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
53403         (gl_FUNC_MBSRTOWCS): Invoke it.
53404         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53405         m4/locale-zh.m4.
53406         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
53407
53408 2008-12-21  Bruno Haible  <bruno@clisp.org>
53409
53410         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
53411
53412 2008-12-21  Bruno Haible  <bruno@clisp.org>
53413
53414         Update doc for AIX.
53415         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
53416         16-bit wchar_t type.
53417         * doc/posix-functions/btowc.texi: Likewise.
53418         * doc/posix-functions/fgetwc.texi: Likewise.
53419         * doc/posix-functions/fgetws.texi: Likewise.
53420         * doc/posix-functions/fputwc.texi: Likewise.
53421         * doc/posix-functions/fputws.texi: Likewise.
53422         * doc/posix-functions/fwide.texi: Likewise.
53423         * doc/posix-functions/fwprintf.texi: Likewise.
53424         * doc/posix-functions/fwscanf.texi: Likewise.
53425         * doc/posix-functions/getwchar.texi: Likewise.
53426         * doc/posix-functions/getwc.texi: Likewise.
53427         * doc/posix-functions/iswalnum.texi: Likewise.
53428         * doc/posix-functions/iswalpha.texi: Likewise.
53429         * doc/posix-functions/iswblank.texi: Likewise.
53430         * doc/posix-functions/iswcntrl.texi: Likewise.
53431         * doc/posix-functions/iswctype.texi: Likewise.
53432         * doc/posix-functions/iswdigit.texi: Likewise.
53433         * doc/posix-functions/iswgraph.texi: Likewise.
53434         * doc/posix-functions/iswlower.texi: Likewise.
53435         * doc/posix-functions/iswprint.texi: Likewise.
53436         * doc/posix-functions/iswpunct.texi: Likewise.
53437         * doc/posix-functions/iswspace.texi: Likewise.
53438         * doc/posix-functions/iswupper.texi: Likewise.
53439         * doc/posix-functions/iswxdigit.texi: Likewise.
53440         * doc/posix-functions/mbrtowc.texi: Likewise.
53441         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53442         * doc/posix-functions/mbstowcs.texi: Likewise.
53443         * doc/posix-functions/mbtowc.texi: Likewise.
53444         * doc/posix-functions/putwchar.texi: Likewise.
53445         * doc/posix-functions/putwc.texi: Likewise.
53446         * doc/posix-functions/swprintf.texi: Likewise.
53447         * doc/posix-functions/tolower.texi: Likewise.
53448         * doc/posix-functions/toupper.texi: Likewise.
53449         * doc/posix-functions/towctrans.texi: Likewise.
53450         * doc/posix-functions/ungetwc.texi: Likewise.
53451         * doc/posix-functions/vswprintf.texi: Likewise.
53452         * doc/posix-functions/wcrtomb.texi: Likewise.
53453         * doc/posix-functions/wcscat.texi: Likewise.
53454         * doc/posix-functions/wcschr.texi: Likewise.
53455         * doc/posix-functions/wcscmp.texi: Likewise.
53456         * doc/posix-functions/wcscoll.texi: Likewise.
53457         * doc/posix-functions/wcscpy.texi: Likewise.
53458         * doc/posix-functions/wcscspn.texi: Likewise.
53459         * doc/posix-functions/wcsftime.texi: Likewise.
53460         * doc/posix-functions/wcslen.texi: Likewise.
53461         * doc/posix-functions/wcsncat.texi: Likewise.
53462         * doc/posix-functions/wcsncmp.texi: Likewise.
53463         * doc/posix-functions/wcsncpy.texi: Likewise.
53464         * doc/posix-functions/wcspbrk.texi: Likewise.
53465         * doc/posix-functions/wcsrchr.texi: Likewise.
53466         * doc/posix-functions/wcsrtombs.texi: Likewise.
53467         * doc/posix-functions/wcsspn.texi: Likewise.
53468         * doc/posix-functions/wcsstr.texi: Likewise.
53469         * doc/posix-functions/wcstod.texi: Likewise.
53470         * doc/posix-functions/wcstof.texi: Likewise.
53471         * doc/posix-functions/wcstoimax.texi: Likewise.
53472         * doc/posix-functions/wcstok.texi: Likewise.
53473         * doc/posix-functions/wcstold.texi: Likewise.
53474         * doc/posix-functions/wcstoll.texi: Likewise.
53475         * doc/posix-functions/wcstol.texi: Likewise.
53476         * doc/posix-functions/wcstombs.texi: Likewise.
53477         * doc/posix-functions/wcstoull.texi: Likewise.
53478         * doc/posix-functions/wcstoul.texi: Likewise.
53479         * doc/posix-functions/wcstoumax.texi: Likewise.
53480         * doc/posix-functions/wcswidth.texi: Likewise.
53481         * doc/posix-functions/wcsxfrm.texi: Likewise.
53482         * doc/posix-functions/wctob.texi: Likewise.
53483         * doc/posix-functions/wctomb.texi: Likewise.
53484         * doc/posix-functions/wctrans.texi: Likewise.
53485         * doc/posix-functions/wctype.texi: Likewise.
53486         * doc/posix-functions/wcwidth.texi: Likewise.
53487         * doc/posix-functions/wmemchr.texi: Likewise.
53488         * doc/posix-functions/wmemcmp.texi: Likewise.
53489         * doc/posix-functions/wmemcpy.texi: Likewise.
53490         * doc/posix-functions/wmemmove.texi: Likewise.
53491         * doc/posix-functions/wmemset.texi: Likewise.
53492         * doc/posix-functions/wprintf.texi: Likewise.
53493         * doc/posix-functions/wscanf.texi: Likewise.
53494
53495 2008-12-21  Bruno Haible  <bruno@clisp.org>
53496
53497         Update doc for HP-UX 11.11.
53498         * doc/posix-functions/btowc.texi: Clarify that the function is missing
53499         in HP-UX version 11.00, not in all versions of HP-UX 11.
53500         * doc/posix-functions/fwide.texi: Likewise.
53501         * doc/posix-functions/fwprintf.texi: Likewise.
53502         * doc/posix-functions/fwscanf.texi: Likewise.
53503         * doc/posix-functions/inet_ntop.texi: Likewise.
53504         * doc/posix-functions/inet_pton.texi: Likewise.
53505         * doc/posix-functions/mbrlen.texi: Likewise.
53506         * doc/posix-functions/mbrtowc.texi: Likewise.
53507         * doc/posix-functions/mbsinit.texi: Likewise.
53508         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53509         * doc/posix-functions/swprintf.texi: Likewise.
53510         * doc/posix-functions/swscanf.texi: Likewise.
53511         * doc/posix-functions/towctrans.texi: Likewise.
53512         * doc/posix-functions/vfwprintf.texi: Likewise.
53513         * doc/posix-functions/vswprintf.texi: Likewise.
53514         * doc/posix-functions/vwprintf.texi: Likewise.
53515         * doc/posix-functions/wcrtomb.texi: Likewise.
53516         * doc/posix-functions/wcsrtombs.texi: Likewise.
53517         * doc/posix-functions/wcsstr.texi: Likewise.
53518         * doc/posix-functions/wctob.texi: Likewise.
53519         * doc/posix-functions/wctrans.texi: Likewise.
53520         * doc/posix-functions/wmemchr.texi: Likewise.
53521         * doc/posix-functions/wmemcmp.texi: Likewise.
53522         * doc/posix-functions/wmemcpy.texi: Likewise.
53523         * doc/posix-functions/wmemmove.texi: Likewise.
53524         * doc/posix-functions/wmemset.texi: Likewise.
53525         * doc/posix-functions/wprintf.texi: Likewise.
53526         * doc/posix-functions/wscanf.texi: Likewise.
53527
53528 2008-12-21  Bruno Haible  <bruno@clisp.org>
53529
53530         Work around a portability problem.
53531         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
53532         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
53533
53534 2008-12-20  Bruno Haible  <bruno@clisp.org>
53535
53536         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
53537         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
53538         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
53539         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
53540         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
53541
53542         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
53543         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
53544         set.
53545         (GNULIB_defined_mbstate_t): New macro.
53546         (mbsinit): Redefine if REPLACE_MBSINIT is set.
53547         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
53548         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
53549         reuses the system's mbrtowc function but works around the bugs.
53550         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
53551         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
53552         macros.
53553         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
53554         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
53555         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
53556         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
53557         REPLACE_MBSINIT if mbsinit needs to be overridden.
53558         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
53559         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53560         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
53561         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53562         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53563         m4/locale-zh.m4.
53564         (Depends): Add mbsinit.
53565         * modules/mbsinit (Depends): Add mbrtowc.
53566         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
53567
53568 2008-12-20  Bruno Haible  <bruno@clisp.org>
53569
53570         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
53571         so that there are no conversion errors on AIX.
53572         * tests/test-mbsrtowcs.c (main): LIkewise.
53573
53574 2008-12-20  Bruno Haible  <bruno@clisp.org>
53575
53576         Work around wctob bug on Solaris <= 9.
53577         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
53578         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
53579         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
53580         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
53581         * modules/wctob (Files): Add m4/locale-fr.m4.
53582         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
53583
53584 2008-12-20  Bruno Haible  <bruno@clisp.org>
53585
53586         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
53587         /dev/null.
53588         * tests/test-select-in.sh: Likewise.
53589         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53590
53591 2008-12-20  Bruno Haible  <bruno@clisp.org>
53592
53593         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
53594         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
53595         Cygwin 1.5.x.
53596
53597 2008-12-20  Bruno Haible  <bruno@clisp.org>
53598
53599         Ensure mbstate_t is defined on HP-UX 11.11.
53600         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
53601         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
53602         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
53603         AC_USE_SYSTEM_EXTENSIONS.
53604         * modules/fnmatch (Depends-on): Add extensions.
53605         * modules/mbrlen (Depends-on): Likewise.
53606         * modules/mbrtowc (Depends-on): Likewise.
53607         * modules/mbsinit (Depends-on): Likewise.
53608         * modules/mbsrtowcs (Depends-on): Likewise.
53609         * modules/mbswidth (Depends-on): Likewise.
53610         * modules/quotearg (Depends-on): Likewise.
53611         * modules/strftime (Depends-on): Likewise.
53612
53613 2008-12-20  Bruno Haible  <bruno@clisp.org>
53614
53615         Ensure wctob is declared on IRIX 6.5.
53616         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
53617         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
53618         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
53619         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
53620         of HAVE_WCTOB.
53621         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
53622         HAVE_WCTOB.
53623         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
53624
53625 2008-12-19  Bruno Haible  <bruno@clisp.org>
53626
53627         * modules/mbsrtowcs-tests: New file.
53628         * tests/test-mbsrtowcs1.sh: New file.
53629         * tests/test-mbsrtowcs2.sh: New file.
53630         * tests/test-mbsrtowcs3.sh: New file.
53631         * tests/test-mbsrtowcs4.sh: New file.
53632         * tests/test-mbsrtowcs.c: New file.
53633
53634         New module 'mbsrtowcs'.
53635         * lib/wchar.in.h (mbsrtowcs): New declaration.
53636         * lib/mbsrtowcs.c: New file.
53637         * m4/mbsrtowcs.m4: New file.
53638         * modules/mbsrtowcs: New file.
53639         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
53640         HAVE_MBSRTOWCS.
53641         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
53642         HAVE_MBSRTOWCS.
53643         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
53644
53645 2008-12-19  Bruno Haible  <bruno@clisp.org>
53646
53647         New module 'mbrlen'.
53648         * lib/wchar.in.h (mbrlen): New declaration.
53649         * lib/mbrlen.c: New file.
53650         * m4/mbrlen.m4: New file.
53651         * modules/mbrlen: New file.
53652         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
53653         HAVE_MBRLEN.
53654         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
53655         HAVE_MBRLEN.
53656         * doc/posix-functions/mbrlen.texi: Document the new module.
53657
53658 2008-12-19  Bruno Haible  <bruno@clisp.org>
53659
53660         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
53661         * modules/mbrtowc (Depends-on): Add verify.
53662         Suggested by Paul Eggert.
53663
53664 2008-12-18  Bruno Haible  <bruno@clisp.org>
53665
53666         * modules/mbsinit-tests: New file.
53667         * tests/test-mbsinit.sh: New file.
53668         * tests/test-mbsinit.c: New file.
53669
53670 2008-12-18  Bruno Haible  <bruno@clisp.org>
53671
53672         * modules/mbrtowc-tests: New file.
53673         * tests/test-mbrtowc1.sh: New file.
53674         * tests/test-mbrtowc2.sh: New file.
53675         * tests/test-mbrtowc3.sh: New file.
53676         * tests/test-mbrtowc4.sh: New file.
53677         * tests/test-mbrtowc.c: New file.
53678
53679         New module 'mbrtowc'.
53680         * lib/wchar.in.h (mbstate_t): Override when the system does not have
53681         mbsinit and mbrtowc.
53682         (mbrtowc): New declaration.
53683         * lib/mbrtowc.c: New file.
53684         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
53685         * modules/mbrtowc: New file.
53686         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
53687         HAVE_MBRTOWC.
53688         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
53689         HAVE_MBRTOWC.
53690         * doc/posix-functions/mbrtowc.texi: Document the new module.
53691
53692 2008-12-18  Bruno Haible  <bruno@clisp.org>
53693
53694         New module 'wctob'.
53695         * lib/wchar.in.h (wctob): New declaration.
53696         * lib/wctob.c: New file.
53697         * m4/wctob.m4: New file.
53698         * modules/wctob: New file.
53699         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
53700         HAVE_WCTOB.
53701         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
53702         * doc/posix-functions/wctob.texi: Document the new module.
53703
53704 2008-12-18  Bruno Haible  <bruno@clisp.org>
53705
53706         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
53707         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
53708
53709 2008-12-18  Simon Josefsson  <simon@josefsson.org>
53710
53711         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
53712         G. Christensen" <tgc@jupiterrise.com>.
53713
53714         * lib/flock.c: Need to include errno.h.  Reported by "Tom
53715         G. Christensen" <tgc@jupiterrise.com>.
53716
53717         * lib/flock.c: Need to include string.h.  Reported by "Tom
53718         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
53719         <ebb9@byu.net>.
53720
53721 2008-12-18  Bruno Haible  <bruno@clisp.org>
53722
53723         * m4/locale-ja.m4: New file, from GNU gettext.
53724
53725 2008-12-17  Bruno Haible  <bruno@clisp.org>
53726
53727         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
53728         Suggested by Eric Blake.
53729
53730 2008-12-17  Bruno Haible  <bruno@clisp.org>
53731
53732         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
53733
53734 2008-12-17  Bruno Haible  <bruno@clisp.org>
53735
53736         * lib/mbsinit.c: Include verify.h. Verify an assumption.
53737         * modules/mbsinit (Depends-on): Add verify.
53738         Suggested by Paul Eggert.
53739
53740 2008-12-17  Bruno Haible  <bruno@clisp.org>
53741
53742         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
53743         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
53744         gl_FUNC_MBRTOWC.
53745         * m4/mbiter.m4 (gl_MBITER): LIkewise.
53746         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
53747         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
53748         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
53749         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
53750         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
53751         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
53752         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
53753         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
53754         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
53755         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
53756         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
53757         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
53758         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
53759         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
53760         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53761         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
53762         * modules/trim (configure.ac): Likewise.
53763
53764 2008-12-17  Bruno Haible  <bruno@clisp.org>
53765
53766         * modules/btowc-tests: New file.
53767         * tests/test-btowc1.sh: New file.
53768         * tests/test-btowc2.sh: New file.
53769         * tests/test-btowc.c: New file.
53770
53771         New module 'btowc'.
53772         * lib/wchar.in.h (btowc): New declaration.
53773         * lib/btowc.c: New file.
53774         * m4/btowc.m4: New file.
53775         * modules/btowc: New file.
53776         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
53777         HAVE_BTOWC.
53778         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
53779         * doc/posix-functions/btowc.texi: Document the new module.
53780
53781 2008-12-17  Bruno Haible  <bruno@clisp.org>
53782
53783         New module 'mbsinit'.
53784         * lib/wchar.in.h (mbsinit): New declaration.
53785         * lib/mbsinit.c: New file.
53786         * m4/mbsinit.m4: New file.
53787         * modules/mbsinit: New file.
53788         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
53789         HAVE_MBSINIT.
53790         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
53791         HAVE_MBSINIT.
53792         * doc/posix-functions/mbsinit.texi: Document the new module.
53793
53794 2008-12-16  Bruno Haible  <bruno@clisp.org>
53795
53796         * lib/unistd.in.h: Add comment.
53797         * tests/test-environ.c: Don't include <stdlib.h>.
53798
53799 2008-12-16  Bruno Haible  <bruno@clisp.org>
53800
53801         * lib/parse-duration.h (parse_duration): Document return value
53802         convention.
53803         * lib/parse-duration.c: Include specification header first. Add
53804         comments.
53805         (_): Remove macro.
53806         (parse_year_month_day, parse_hour_minute_second): Move side effects
53807         outside of strchr call.
53808         (parse_non_iso8601): Move side effects outside of isspace call.
53809         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
53810         call.
53811
53812 2008-12-16  Bruno Haible  <bruno@clisp.org>
53813
53814         * tests/test-parse-duration.sh: Produce no output when the test
53815         succeeds.
53816
53817 2008-12-16  Bruno Haible  <bruno@clisp.org>
53818
53819         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
53820         expressions.
53821
53822 2008-12-15  Bruno Haible  <bruno@clisp.org>
53823
53824         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
53825         * doc/glibc-functions/flistxattr.texi: Likewise.
53826         * doc/glibc-functions/fopencookie.texi: Likewise.
53827         * doc/glibc-functions/fremovexattr.texi: Likewise.
53828         * doc/glibc-functions/fsetxattr.texi: Likewise.
53829         * doc/glibc-functions/getxattr.texi: Likewise.
53830         * doc/glibc-functions/lgetxattr.texi: Likewise.
53831         * doc/glibc-functions/listxattr.texi: Likewise.
53832         * doc/glibc-functions/llistxattr.texi: Likewise.
53833         * doc/glibc-functions/lremovexattr.texi: Likewise.
53834         * doc/glibc-functions/lsetxattr.texi: Likewise.
53835         * doc/glibc-functions/removexattr.texi: Likewise.
53836         * doc/glibc-functions/setxattr.texi: Likewise.
53837         * doc/posix-functions/open_memstream.texi: Likewise.
53838
53839 2008-12-15  Eric Blake  <ebb9@byu.net>
53840
53841         Update doc for cygwin 1.7.
53842         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
53843         functions.
53844         * doc/posix-functions/fchmodat.texi: Likewise.
53845         * doc/posix-functions/fchownat.texi: Likewise.
53846         * doc/posix-functions/fdopendir.texi: Likewise.
53847         * doc/posix-functions/fmemopen.texi: Likewise.
53848         * doc/posix-functions/freeaddrinfo.texi: Likewise.
53849         * doc/posix-functions/fstatat.texi: Likewise.
53850         * doc/posix-functions/futimens.texi: Likewise.
53851         * doc/posix-functions/gai_strerror.texi: Likewise.
53852         * doc/posix-functions/getaddrinfo.texi: Likewise.
53853         * doc/posix-functions/getnameinfo.texi: Likewise.
53854         * doc/posix-functions/if_freenameindex.texi: Likewise.
53855         * doc/posix-functions/if_indextoname.texi: Likewise.
53856         * doc/posix-functions/if_nameindex.texi: Likewise.
53857         * doc/posix-functions/if_nametoindex.texi: Likewise.
53858         * doc/posix-functions/insque.texi: Likewise.
53859         * doc/posix-functions/linkat.texi: Likewise.
53860         * doc/posix-functions/llrint.texi: Likewise.
53861         * doc/posix-functions/llrintf.texi: Likewise.
53862         * doc/posix-functions/llrintl.texi: Likewise.
53863         * doc/posix-functions/lockf.texi: Likewise.
53864         * doc/posix-functions/lrintl.texi: Likewise.
53865         * doc/posix-functions/mkdirat.texi: Likewise.
53866         * doc/posix-functions/mkfifoat.texi: Likewise.
53867         * doc/posix-functions/mknodat.texi: Likewise.
53868         * doc/posix-functions/mq_close.texi: Likewise.
53869         * doc/posix-functions/mq_getattr.texi: Likewise.
53870         * doc/posix-functions/mq_notify.texi: Likewise.
53871         * doc/posix-functions/mq_open.texi: Likewise.
53872         * doc/posix-functions/mq_receive.texi: Likewise.
53873         * doc/posix-functions/mq_send.texi: Likewise.
53874         * doc/posix-functions/mq_setattr.texi: Likewise.
53875         * doc/posix-functions/mq_timedreceive.texi: Likewise.
53876         * doc/posix-functions/mq_timedsend.texi: Likewise.
53877         * doc/posix-functions/mq_unlink.texi: Likewise.
53878         * doc/posix-functions/open_memstream.texi: Likewise.
53879         * doc/posix-functions/openat.texi: Likewise.
53880         * doc/posix-functions/posix_fadvise.texi: Likewise.
53881         * doc/posix-functions/posix_fallocate.texi: Likewise.
53882         * doc/posix-functions/posix_madvise.texi: Likewise.
53883         * doc/posix-functions/posix_memalign.texi: Likewise.
53884         * doc/posix-functions/posix_openpt.texi: Likewise.
53885         * doc/posix-functions/readlinkat.texi: Likewise.
53886         * doc/posix-functions/remque.texi: Likewise.
53887         * doc/posix-functions/renameat.texi: Likewise.
53888         * doc/posix-functions/rintl.texi: Likewise.
53889         * doc/posix-functions/sem_unlink.texi: Likewise.
53890         * doc/posix-functions/shm_open.texi: Likewise.
53891         * doc/posix-functions/shm_unlink.texi: Likewise.
53892         * doc/posix-functions/signgam.texi: Likewise.
53893         * doc/posix-functions/sigset.texi: Likewise.
53894         * doc/posix-functions/stpcpy.texi: Likewise.
53895         * doc/posix-functions/stpncpy.texi: Likewise.
53896         * doc/posix-functions/strerror.texi: Likewise.
53897         * doc/posix-functions/strtod.texi: Likewise.
53898         * doc/posix-functions/symlinkat.texi: Likewise.
53899         * doc/posix-functions/unlinkat.texi: Likewise.
53900         * doc/posix-functions/utimensat.texi: Likewise.
53901         * doc/glibc-functions/bindresvport.texi: Likewise.
53902         * doc/glibc-functions/dn_expand.texi: Likewise.
53903         * doc/glibc-functions/exp10.texi: Likewise.
53904         * doc/glibc-functions/exp10f.texi: Likewise.
53905         * doc/glibc-functions/fgetxattr.texi: Likewise.
53906         * doc/glibc-functions/flistxattr.texi: Likewise.
53907         * doc/glibc-functions/fopencookie.texi: Likewise.
53908         * doc/glibc-functions/freeifaddrs.texi: Likewise.
53909         * doc/glibc-functions/fremovexattr.texi: Likewise.
53910         * doc/glibc-functions/fsetxattr.texi: Likewise.
53911         * doc/glibc-functions/getifaddrs.texi: Likewise.
53912         * doc/glibc-functions/getxattr.texi: Likewise.
53913         * doc/glibc-functions/lgetxattr.texi: Likewise.
53914         * doc/glibc-functions/listxattr.texi: Likewise.
53915         * doc/glibc-functions/llistxattr.texi: Likewise.
53916         * doc/glibc-functions/lremovexattr.texi: Likewise.
53917         * doc/glibc-functions/lsetxattr.texi: Likewise.
53918         * doc/glibc-functions/pow10.texi: Likewise.
53919         * doc/glibc-functions/pow10f.texi: Likewise.
53920         * doc/glibc-functions/rcmd_af.texi: Likewise.
53921         * doc/glibc-functions/removexattr.texi: Likewise.
53922         * doc/glibc-functions/res_init.texi: Likewise.
53923         * doc/glibc-functions/res_mkquery.texi: Likewise.
53924         * doc/glibc-functions/res_query.texi: Likewise.
53925         * doc/glibc-functions/res_querydomain.texi: Likewise.
53926         * doc/glibc-functions/res_send.texi: Likewise.
53927         * doc/glibc-functions/rresvport_af.texi: Likewise.
53928         * doc/glibc-functions/setxattr.texi: Likewise.
53929         * doc/glibc-functions/strcasestr.texi: Likewise.
53930
53931 2008-12-15  Bruno Haible  <bruno@clisp.org>
53932
53933         Fix compilation error on OSF/1 4.0.
53934         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
53935         <sys/time.h>, simply delegate to the system header.
53936         Reported by Daniel Richard G. <oss@teragram.com>.
53937
53938 2008-12-15  Bruno Haible  <bruno@clisp.org>
53939
53940         * doc/posix-functions/openat.texi: Mention the 'openat' module.
53941         * doc/posix-functions/fchmodat.texi: Likewise.
53942         * doc/posix-functions/fchownat.texi: Likewise.
53943         * doc/posix-functions/fdopendir.texi: Likewise.
53944         * doc/posix-functions/fstatat.texi: Likewise.
53945         * doc/posix-functions/mkdirat.texi: Likewise.
53946         * doc/posix-functions/unlinkat.texi: Likewise.
53947
53948 2008-12-14  Bruno Haible  <bruno@clisp.org>
53949
53950         Update doc for POSIX:2008.
53951         * doc/posix-functions/faccessat.texi: New file.
53952         * doc/posix-functions/fchmodat.texi: New file.
53953         * doc/posix-functions/fchownat.texi: New file.
53954         * doc/posix-functions/fdopendir.texi: New file.
53955         * doc/posix-functions/fstatat.texi: New file.
53956         * doc/posix-functions/futimens.texi: New file.
53957         * doc/posix-functions/linkat.texi: New file.
53958         * doc/posix-functions/mkdirat.texi: New file.
53959         * doc/posix-functions/mkfifoat.texi: New file.
53960         * doc/posix-functions/mknodat.texi: New file.
53961         * doc/posix-functions/open_wmemstream.texi: New file.
53962         * doc/posix-functions/openat.texi: New file.
53963         * doc/posix-functions/psiginfo.texi: New file.
53964         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
53965         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
53966         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
53967         * doc/posix-functions/readlinkat.texi: New file.
53968         * doc/posix-functions/renameat.texi: New file.
53969         * doc/posix-functions/strerror_l.texi: New file.
53970         * doc/posix-functions/symlinkat.texi: New file.
53971         * doc/posix-functions/unlinkat.texi: New file.
53972         * doc/posix-functions/utimensat.texi: New file.
53973         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53974
53975 2008-12-14  Bruno Haible  <bruno@clisp.org>
53976
53977         Update doc for POSIX:2008.
53978         * doc/posix-functions/alphasort.texi: Renamed from
53979         doc/glibc-functions/alphasort.texi.
53980         * doc/posix-functions/dirfd.texi: Renamed from
53981         doc/glibc-functions/dirfd.texi.
53982         * doc/posix-functions/dprintf.texi: Renamed from
53983         doc/glibc-functions/dprintf.texi.
53984         * doc/posix-functions/duplocale.texi: Renamed from
53985         doc/glibc-functions/duplocale.texi.
53986         * doc/posix-functions/fexecve.texi: Renamed from
53987         doc/glibc-functions/fexecve.texi.
53988         * doc/posix-functions/fmemopen.texi: Renamed from
53989         doc/glibc-functions/fmemopen.texi.
53990         * doc/posix-functions/freelocale.texi: Renamed from
53991         doc/glibc-functions/freelocale.texi.
53992         * doc/posix-functions/getdate_err.texi: Renamed from
53993         doc/glibc-functions/getdate_err.texi.
53994         * doc/posix-functions/isalnum_l.texi: Renamed from
53995         doc/glibc-functions/isalnum_l.texi.
53996         * doc/posix-functions/isalpha_l.texi: Renamed from
53997         doc/glibc-functions/isalpha_l.texi.
53998         * doc/posix-functions/isblank_l.texi: Renamed from
53999         doc/glibc-functions/isblank_l.texi.
54000         * doc/posix-functions/iscntrl_l.texi: Renamed from
54001         doc/glibc-functions/iscntrl_l.texi.
54002         * doc/posix-functions/isdigit_l.texi: Renamed from
54003         doc/glibc-functions/isdigit_l.texi.
54004         * doc/posix-functions/isgraph_l.texi: Renamed from
54005         doc/glibc-functions/isgraph_l.texi.
54006         * doc/posix-functions/islower_l.texi: Renamed from
54007         doc/glibc-functions/islower_l.texi.
54008         * doc/posix-functions/isprint_l.texi: Renamed from
54009         doc/glibc-functions/isprint_l.texi.
54010         * doc/posix-functions/ispunct_l.texi: Renamed from
54011         doc/glibc-functions/ispunct_l.texi.
54012         * doc/posix-functions/isspace_l.texi: Renamed from
54013         doc/glibc-functions/isspace_l.texi.
54014         * doc/posix-functions/isupper_l.texi: Renamed from
54015         doc/glibc-functions/isupper_l.texi.
54016         * doc/posix-functions/iswalnum_l.texi: Renamed from
54017         doc/glibc-functions/iswalnum_l.texi.
54018         * doc/posix-functions/iswalpha_l.texi: Renamed from
54019         doc/glibc-functions/iswalpha_l.texi.
54020         * doc/posix-functions/iswblank_l.texi: Renamed from
54021         doc/glibc-functions/iswblank_l.texi.
54022         * doc/posix-functions/iswcntrl_l.texi: Renamed from
54023         doc/glibc-functions/iswcntrl_l.texi.
54024         * doc/posix-functions/iswctype_l.texi: Renamed from
54025         doc/glibc-functions/iswctype_l.texi.
54026         * doc/posix-functions/iswdigit_l.texi: Renamed from
54027         doc/glibc-functions/iswdigit_l.texi.
54028         * doc/posix-functions/iswgraph_l.texi: Renamed from
54029         doc/glibc-functions/iswgraph_l.texi.
54030         * doc/posix-functions/iswlower_l.texi: Renamed from
54031         doc/glibc-functions/iswlower_l.texi.
54032         * doc/posix-functions/iswprint_l.texi: Renamed from
54033         doc/glibc-functions/iswprint_l.texi.
54034         * doc/posix-functions/iswpunct_l.texi: Renamed from
54035         doc/glibc-functions/iswpunct_l.texi.
54036         * doc/posix-functions/iswspace_l.texi: Renamed from
54037         doc/glibc-functions/iswspace_l.texi.
54038         * doc/posix-functions/iswupper_l.texi: Renamed from
54039         doc/glibc-functions/iswupper_l.texi.
54040         * doc/posix-functions/iswxdigit_l.texi: Renamed from
54041         doc/glibc-functions/iswxdigit_l.texi.
54042         * doc/posix-functions/isxdigit_l.texi: Renamed from
54043         doc/glibc-functions/isxdigit_l.texi.
54044         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
54045         doc/glibc-functions/mbsnrtowcs.texi.
54046         * doc/posix-functions/mkdtemp.texi: Renamed from
54047         doc/glibc-functions/mkdtemp.texi.
54048         * doc/posix-functions/newlocale.texi: Renamed from
54049         doc/glibc-functions/newlocale.texi.
54050         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
54051         doc/glibc-functions/nl_langinfo_l.texi.
54052         * doc/posix-functions/open_memstream.texi: Renamed from
54053         doc/glibc-functions/open_memstream.texi.
54054         * doc/posix-functions/opterr.texi: Renamed from
54055         doc/glibc-functions/opterr.texi.
54056         * doc/posix-functions/optind.texi: Renamed from
54057         doc/glibc-functions/optind.texi.
54058         * doc/posix-functions/optopt.texi: Renamed from
54059         doc/glibc-functions/optopt.texi.
54060         * doc/posix-functions/psignal.texi: Renamed from
54061         doc/glibc-functions/psignal.texi.
54062         * doc/posix-functions/scandir.texi: Renamed from
54063         doc/glibc-functions/scandir.texi.
54064         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
54065         doc/glibc-functions/sched_get_priority_min.texi.
54066         * doc/posix-functions/signgam.texi: Renamed from
54067         doc/glibc-functions/signgam.texi.
54068         * doc/posix-functions/stpcpy.texi: Renamed from
54069         doc/glibc-functions/stpcpy.texi.
54070         * doc/posix-functions/stpncpy.texi: Renamed from
54071         doc/glibc-functions/stpncpy.texi.
54072         * doc/posix-functions/strcasecmp_l.texi: Renamed from
54073         doc/glibc-functions/strcasecmp_l.texi.
54074         * doc/posix-functions/strcoll_l.texi: Renamed from
54075         doc/glibc-functions/strcoll_l.texi.
54076         * doc/posix-functions/strfmon_l.texi: Renamed from
54077         doc/glibc-functions/strfmon_l.texi.
54078         * doc/posix-functions/strftime_l.texi: Renamed from
54079         doc/glibc-functions/strftime_l.texi.
54080         * doc/posix-functions/strncasecmp_l.texi: Renamed from
54081         doc/glibc-functions/strncasecmp_l.texi.
54082         * doc/posix-functions/strndup.texi: Renamed from
54083         doc/glibc-functions/strndup.texi.
54084         * doc/posix-functions/strnlen.texi: Renamed from
54085         doc/glibc-functions/strnlen.texi.
54086         * doc/posix-functions/strsignal.texi: Renamed from
54087         doc/glibc-functions/strsignal.texi.
54088         * doc/posix-functions/strxfrm_l.texi: Renamed from
54089         doc/glibc-functions/strxfrm_l.texi.
54090         * doc/posix-functions/timer_gettime.texi: Renamed from
54091         doc/glibc-functions/timer_gettime.texi.
54092         * doc/posix-functions/tolower_l.texi: Renamed from
54093         doc/glibc-functions/tolower_l.texi.
54094         * doc/posix-functions/toupper_l.texi: Renamed from
54095         doc/glibc-functions/toupper_l.texi.
54096         * doc/posix-functions/towctrans_l.texi: Renamed from
54097         doc/glibc-functions/towctrans_l.texi.
54098         * doc/posix-functions/towlower_l.texi: Renamed from
54099         doc/glibc-functions/towlower_l.texi.
54100         * doc/posix-functions/towupper_l.texi: Renamed from
54101         doc/glibc-functions/towupper_l.texi.
54102         * doc/posix-functions/uselocale.texi: Renamed from
54103         doc/glibc-functions/uselocale.texi.
54104         * doc/posix-functions/vdprintf.texi: Renamed from
54105         doc/glibc-functions/vdprintf.texi.
54106         * doc/posix-functions/wcpcpy.texi:
54107         Renamed from doc/glibc-functions/wcpcpy.texi.
54108         * doc/posix-functions/wcpncpy.texi: Renamed from
54109         doc/glibc-functions/wcpncpy.texi.
54110         * doc/posix-functions/wcscasecmp.texi: Renamed from
54111         doc/glibc-functions/wcscasecmp.texi.
54112         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
54113         doc/glibc-functions/wcscasecmp_l.texi.
54114         * doc/posix-functions/wcscoll_l.texi: Renamed from
54115         doc/glibc-functions/wcscoll_l.texi.
54116         * doc/posix-functions/wcsdup.texi: Renamed from
54117         doc/glibc-functions/wcsdup.texi.
54118         * doc/posix-functions/wcsncasecmp.texi: Renamed from
54119         doc/glibc-functions/wcsncasecmp.texi.
54120         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
54121         doc/glibc-functions/wcsncasecmp_l.texi.
54122         * doc/posix-functions/wcsnlen.texi: Renamed from
54123         doc/glibc-functions/wcsnlen.texi.
54124         * doc/posix-functions/wcsnrtombs.texi: Renamed from
54125         doc/glibc-functions/wcsnrtombs.texi.
54126         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
54127         doc/glibc-functions/wcsxfrm_l.texi.
54128         * doc/posix-functions/wctrans_l.texi: Renamed from
54129         doc/glibc-functions/wctrans_l.texi.
54130         * doc/posix-functions/wctype_l.texi: Renamed from
54131         doc/glibc-functions/wctype_l.texi.
54132         * doc/gnulib.texi (Function Substitutes): Add these subsections.
54133         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
54134         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
54135         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
54136         these subsections.
54137         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
54138         Remove sections.
54139
54140 2008-12-14  Bruno Haible  <bruno@clisp.org>
54141
54142         Update doc for POSIX:2008.
54143         * doc/posix-functions/*.texi: Update URL of POSIX specification.
54144
54145 2008-12-14  Bruno Haible  <bruno@clisp.org>
54146
54147         Update doc for POSIX:2008.
54148         * doc/pastposix-functions/bcmp.texi: Renamed from
54149         doc/posix-functions/bcmp.texi.
54150         * doc/pastposix-functions/bcopy.texi: Renamed from
54151         doc/posix-functions/bcopy.texi.
54152         * doc/pastposix-functions/bsd_signal.texi: Renamed from
54153         doc/posix-functions/bsd_signal.texi.
54154         * doc/pastposix-functions/bzero.texi: Renamed from
54155         doc/posix-functions/bzero.texi.
54156         * doc/pastposix-functions/ecvt.texi: Renamed from
54157         doc/posix-functions/ecvt.texi.
54158         * doc/pastposix-functions/fcvt.texi: Renamed from
54159         doc/posix-functions/fcvt.texi.
54160         * doc/pastposix-functions/ftime.texi: Renamed from
54161         doc/posix-functions/ftime.texi.
54162         * doc/pastposix-functions/gcvt.texi: Renamed from
54163         doc/posix-functions/gcvt.texi.
54164         * doc/pastposix-functions/getcontext.texi: Renamed from
54165         doc/posix-functions/getcontext.texi.
54166         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
54167         doc/posix-functions/gethostbyaddr.texi.
54168         * doc/pastposix-functions/gethostbyname.texi: Renamed from
54169         doc/posix-functions/gethostbyname.texi.
54170         * doc/pastposix-functions/getwd.texi: Renamed from
54171         doc/posix-functions/getwd.texi.
54172         * doc/pastposix-functions/h_errno.texi: Renamed from
54173         doc/posix-functions/h_errno.texi.
54174         * doc/pastposix-functions/index.texi: Renamed from
54175         doc/posix-functions/index.texi.
54176         * doc/pastposix-functions/makecontext.texi: Renamed from
54177         doc/posix-functions/makecontext.texi.
54178         * doc/pastposix-functions/mktemp.texi: Renamed from
54179         doc/posix-functions/mktemp.texi.
54180         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
54181         doc/posix-functions/pthread_attr_getstackaddr.texi.
54182         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
54183         doc/posix-functions/pthread_attr_setstackaddr.texi.
54184         * doc/pastposix-functions/rindex.texi: Renamed from
54185         doc/posix-functions/rindex.texi.
54186         * doc/pastposix-functions/scalb.texi: Renamed from
54187         doc/posix-functions/scalb.texi.
54188         * doc/pastposix-functions/setcontext.texi: Renamed from
54189         doc/posix-functions/setcontext.texi.
54190         * doc/pastposix-functions/swapcontext.texi: Renamed from
54191         doc/posix-functions/swapcontext.texi.
54192         * doc/pastposix-functions/ualarm.texi: Renamed from
54193         doc/posix-functions/ualarm.texi.
54194         * doc/pastposix-functions/usleep.texi: Renamed from
54195         doc/posix-functions/usleep.texi.
54196         * doc/pastposix-functions/vfork.texi: Renamed from
54197         doc/posix-functions/vfork.texi.
54198         * doc/pastposix-functions/wcswcs.texi: Renamed from
54199         doc/posix-functions/wcswcs.texi.
54200         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
54201         (Function Substitutes): Update.
54202
54203 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54204
54205         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
54206         m4/strerror.m4.
54207
54208 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54209             Bruno Haible  <bruno@clisp.org>
54210
54211         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
54212
54213 2008-12-13  Bruno Haible  <bruno@clisp.org>
54214
54215         * modules/strtoull (Depends-on): Remove unistd.
54216
54217 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54218
54219         * modules/strtoull (Depends-on): Add stdlib.
54220
54221 2008-12-11  Simon Josefsson  <simon@josefsson.org>
54222
54223         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
54224
54225 2008-12-10  Jim Meyering  <meyering@redhat.com>
54226
54227         gl_ASSERT: don't say assertions are disabled when they're not
54228         * m4/assert.m4 (gl_ASSERT): Do not make configure report
54229         "checking whether to enable assertions... no", when they are in
54230         fact enabled.  This is solely a bug in the output of configure.
54231         In spite of saying "no", NDEBUG was not defined in that case.
54232         Also, as noted by Eric Blake, leave assertions enabled upon
54233         --enable-assert=INVALID.
54234
54235 2008-12-10  Bruno Haible  <bruno@clisp.org>
54236
54237         Change MODULES.html to refer to POSIX:2008 where possible.
54238         * MODULES.html.sh (POSIX2008_URL): New variable.
54239         (posix_headers): Remove sys/timeb, ucontext.
54240         (posix2001_headers): New variable.
54241         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
54242         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
54243         index, makecontext, mktemp, pthread_attr_getstackaddr,
54244         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
54245         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
54246         (posix2001_functions): New variable.
54247         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
54248         otherwise.
54249
54250 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54251
54252         add missing include to parse-duration.c
54253         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
54254         * modules/parse-duration (Depends-on): Add xalloc.
54255
54256         fix sed script reading maint.mk
54257         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
54258         (syntax-check-rules): Use it.
54259
54260 2008-12-09  Bruno Haible  <bruno@clisp.org>
54261
54262         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
54263         MacOS X 10.4/PowerPC.
54264         Reported by Simon Josefsson.
54265
54266 2008-12-08  Jim Meyering  <meyering@redhat.com>
54267
54268         work around mingw's lack of some S_IF definitions
54269         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
54270         Reported by Simon Josefsson.
54271
54272 2008-12-08  Bruno Haible  <bruno@clisp.org>
54273
54274         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
54275         applied to variables. Needed on MacOS X 10.4/PowerPC.
54276         Reported by Simon Josefsson.
54277
54278 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
54279         and Eric Blake  <ebb9@byu.net>
54280
54281         assert: honor --enable-assert
54282         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
54283         order to honor --enable-assert, rather than treating it as a
54284         synonym for --disable-assert.
54285
54286 2008-12-08  Jim Meyering  <meyering@redhat.com>
54287
54288         * lib/posixtm.c: Remove now-useless declaration of mktime.
54289
54290         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
54291
54292 2008-12-07  Bruno Haible  <bruno@clisp.org>
54293
54294         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
54295         test_once): Mark functions as static.
54296         * tests/test-tls.c (test_tls): Likewise.
54297
54298 2008-12-07  Bruno Haible  <bruno@clisp.org>
54299
54300         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
54301         iconv_register_autodetect.
54302
54303 2008-12-07  Jim Meyering  <meyering@redhat.com>
54304
54305         posixtm.c: avoid a warning
54306         * lib/posixtm.c (posixtime): Don't initialize tm0.
54307         It's no longer needed to placate gcc4's -Wuninitialized,
54308         and the attempt to placate would elicit a new warning.
54309
54310         unicodeio.c: mark unused parameters
54311         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
54312         (fallback_failure_callback): Likewise.
54313
54314 2008-12-07  Bruno Haible  <bruno@clisp.org>
54315
54316         * gnulib-tool (func_create_testdir): When building the tests
54317         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
54318         Reported by Simon Josefsson.
54319
54320 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54321
54322         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
54323
54324 2008-12-06  Bruno Haible  <bruno@clisp.org>
54325
54326         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
54327         Suggested by Eric Blake.
54328
54329 2008-12-06  Bruno Haible  <bruno@clisp.org>
54330
54331         Fix a c-stack test failure on MacOS X.
54332         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
54333         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
54334         handler for SIGBUS as well.
54335         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
54336         install a signal handler for SIGBUS as well.
54337         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
54338
54339 2008-12-06  Bruno Haible  <bruno@clisp.org>
54340
54341         Advocacy documentation.
54342         * doc/gnulib-intro.texi (Benefits): New section.
54343         * doc/gnulib.texi: Update.
54344
54345 2008-12-06  Bruno Haible  <bruno@clisp.org>
54346
54347         Document the 'manywarnings' module.
54348         * doc/manywarnings.texi: New file.
54349         * doc/gnulib.texi: Include it.
54350
54351 2008-12-05  Eric Blake  <ebb9@byu.net>
54352
54353         tests: silence some gcc warnings
54354         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
54355         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
54356         type mismatches.
54357
54358 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54359             Bruno Haible  <bruno@clisp.org>
54360
54361         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
54362
54363 2008-11-29  Jim Meyering  <meyering@redhat.com>
54364
54365         unicodeio.c: mark unused parameters
54366         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
54367         (fallback_failure_callback): Likewise.
54368
54369         fts: fix a thinko
54370         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
54371         (set_stat_type): Return S_IF*-valued "type" directly.
54372         Prompted by James Youngman's spotting a related bug.
54373         Confirmed by further testing through find.
54374
54375         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
54376         * lib/fts.c (D_TYPE): Define.
54377         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
54378         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
54379         (s_ifmt_shift_bits): New function.
54380         (set_stat_type): New function.
54381         (fts_build): When not calling fts_stat, call set_stat_type
54382         to propagate dirent.d_type info to fts_read caller.
54383         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
54384         fts_statp->st_mode type information may be valid.
54385
54386 2008-11-28  Simon Josefsson  <simon@josefsson.org>
54387
54388         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
54389         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
54390         <sds@gnu.org>.
54391
54392 2008-11-20  Bruno Haible  <bruno@clisp.org>
54393
54394         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
54395         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
54396         INCLUDE_NEXT.
54397         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
54398         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
54399         * modules/math (Makefile.am): Substitute
54400         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
54401         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54402
54403 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
54404             Bruno Haible  <bruno@clisp.org>
54405
54406         * lib/stdint.in.h: Define all type macros so that their expansion is
54407         a single typedef'ed token. Fixes a compilation failure in Boost which
54408         does "using ::int8_t;".
54409
54410 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54411
54412         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
54413         gl_MANYWARN_ALL_GCC.
54414         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
54415         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
54416         * modules/manywarnings: New file.
54417         * MODULES.html.sh: Mention manywarnings module.
54418
54419 2008-11-18  Bruno Haible  <bruno@clisp.org>
54420
54421         * doc/gnulib-tool.texi (Unit tests): New section.
54422
54423 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54424
54425         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
54426         paths like 'lib/po/foo.po'.
54427
54428 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54429
54430         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
54431         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
54432
54433 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54434
54435         * m4/warnings.m4: Use CPPFLAGS to really check whether the
54436         parameter works.
54437
54438 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54439
54440         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
54441
54442 2008-11-17  Bruce Korb  <bkorb@gnu.org>
54443
54444         * modules/parse-duration-tests: New file.
54445         * tests/test-parse-duration.sh: New file.
54446         * tests/test-parse-duration.c: New file.
54447
54448         New module 'parse-duration'.
54449         * lib/parse-duration.h: New file.
54450         * lib/parse-duration.c: New file.
54451         * modules/parse-duration: New file.
54452
54453 2008-11-17  Bruno Haible  <bruno@clisp.org>
54454
54455         * tests/test-select-out.sh: Comment out the first pipe test.
54456         Reported by Simon Josefsson.
54457
54458 2008-11-17  Bruno Haible  <bruno@clisp.org>
54459
54460         * modules/getaddrinfo (Depends-on): Add servent, hostent.
54461         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
54462         gl_HOSTENT.
54463
54464 2008-11-17  Bruno Haible  <bruno@clisp.org>
54465
54466         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
54467         -lnetwork and -lnet. Needed for Haiku and BeOS.
54468
54469 2008-11-16  Bruno Haible  <bruno@clisp.org>
54470
54471         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
54472
54473 2008-11-16  Bruno Haible  <bruno@clisp.org>
54474
54475         Avoid test failure on Haiku.
54476         * tests/test-fsync.c: Include <errno.h>.
54477         (main): Don't require that fsync (0) fails.
54478
54479 2008-11-15  Bruno Haible  <bruno@clisp.org>
54480
54481         New module 'hostent'.
54482         * modules/hostent: New file.
54483         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
54484
54485 2008-11-15  Bruno Haible  <bruno@clisp.org>
54486
54487         New module 'servent'.
54488         * modules/servent: New file.
54489         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
54490
54491 2008-11-15  Bruno Haible  <bruno@clisp.org>
54492
54493         Avoid generating same test program with two different rules.
54494         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
54495         test-frexp to test-frexp-nolibm.
54496         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
54497         test-frexpl to test-frexpl-nolibm.
54498
54499 2008-11-15  Bruno Haible  <bruno@clisp.org>
54500
54501         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
54502         $(FREXPL_LIBM).
54503
54504 2008-11-15  Bruno Haible  <bruno@clisp.org>
54505
54506         * lib/netdb.in.h: Activate the definitions also when the system's
54507         <netdb.h> has 'struct addrinfo'.
54508         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
54509         EAI_OVERFLOW or AI_NUMERICSERV.
54510         * doc/posix-headers/netdb.texi: Document the problem.
54511
54512 2008-11-15  Bruno Haible  <bruno@clisp.org>
54513
54514         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
54515
54516         Make the 'sched' module work on platforms where <sched.h> exists but
54517         is incomplete (such as Haiku).
54518         * lib/sched.in.h; Include the system's <sched.h> if it exists.
54519         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
54520         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
54521         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
54522         HAVE_STRUCT_SCHED_PARAM.
54523         * modules/sched (Depends-on): Add include_next.
54524         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
54525         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
54526         * doc/posix-headers/sched.texi: Document the issue.
54527
54528 2008-11-13  Jim Meyering  <meyering@redhat.com>
54529
54530         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
54531         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
54532         test would fail due to the difference in the Report bugs to ...
54533         line.  The expected address is empty, "<>", while the actual
54534         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
54535
54536 2008-11-12  Bruno Haible  <bruno@clisp.org>
54537
54538         lstat: don't compile lstat.c on systems lacking lstat
54539         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
54540         which don't have lstat; this is handled by lib/sys_stat.in.h already.
54541         Reported by Daniel P. Berrange via Jim Meyering.
54542
54543 2008-11-12  Jim Meyering  <meyering@redhat.com>
54544
54545         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
54546
54547 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54548
54549         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
54550         instead.
54551
54552 2008-11-12  Bruno Haible  <bruno@clisp.org>
54553
54554         * lib/unicodeio.c: Include unistr.h.
54555         (utf8_wctomb): Remove function.
54556         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
54557
54558 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54559
54560         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
54561         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
54562         <bruno@clisp.org>.
54563         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
54564
54565 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54566
54567         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
54568         * doc/gnulib.texi: Add section for warnings.
54569
54570 2008-11-11  Bruno Haible  <bruno@clisp.org>
54571
54572         * lib/sockets.h: Add a comment.
54573
54574 2008-11-11  Karl Berry  <karl@gnu.org>
54575
54576         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
54577
54578 2008-11-11  Eric Blake  <ebb9@byu.net>
54579
54580         fdl.texi: avoid git symlinks
54581         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
54582
54583 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54584
54585         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
54586
54587 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54588
54589         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
54590         (gl_WARN_ADD): Substitute $2 if literal.
54591
54592 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54593
54594         * m4/warning.m4: Remove.
54595
54596 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54597
54598         * m4/warnings.m4: Almost complete rewrite. :-)
54599
54600 2008-11-10  Simon Josefsson  <simon@josefsson.org>
54601
54602         * modules/warnings: New module.
54603         * m4/warnings.m4: New file.
54604         * MODULES.html.sh: Mention warnings module.
54605         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
54606         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54607
54608 2008-11-10  Eric Blake  <ebb9@byu.net>
54609
54610         fdl.texi: make a symlink to the latest version
54611         * doc/standards.texi: Revert today's earlier change.
54612         * doc/fdl-1.2.texi: Rename from old fdl.texi...
54613         * doc/fdl.texi: ...and replace this with a symlink to the newer
54614         fdl-1.3.texi.
54615
54616 2008-11-10  Bruno Haible  <bruno@clisp.org>
54617
54618         * tests/test-select-fd.c (main): Accept the result file name as fourth
54619         argument.
54620         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
54621         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
54622
54623 2008-11-10  Bruno Haible  <bruno@clisp.org>
54624
54625         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
54626         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
54627         as autoconf-substituted macros.
54628         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
54629         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
54630         gl_NETDB_H_DEFAULTS. Set these variables.
54631         * modules/netdb (Makefile.am): Substitute these variables.
54632
54633 2008-11-10  Eric Blake  <ebb9@byu.net>
54634
54635         standards.texi: include correct file for FDL 1.3
54636         * doc/standards.texi (GNU Free Documentation License): Change
54637         include file to pull in FDL 1.3, not 1.2.
54638
54639         fdl.texi: revert accidental change to license
54640         * doc/fdl.texi: This is FDL 1.2, not 1.3.
54641
54642 2008-11-10  Bruno Haible  <bruno@clisp.org>
54643
54644         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
54645         cross-compiling guesses also when the native compile gives no result.
54646
54647 2008-11-10  Bruno Haible  <bruno@clisp.org>
54648
54649         * lib/spawni.c (__spawni): Force variable into the stack.
54650
54651 2008-11-10  Bruno Haible  <bruno@clisp.org>
54652
54653         Add support for Haiku.
54654         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
54655         glibc and BeOS, but also on Haiku.
54656         * lib/fpurge.c (fpurge): Likewise.
54657         * lib/freadable.c (freadable): Likewise.
54658         * lib/freadahead.c (freadahead): Likewise.
54659         * lib/freading.c (freading): Likewise.
54660         * lib/freadptr.c (freadptr): Likewise.
54661         * lib/freadseek.c (freadptrinc): Likewise.
54662         * lib/fseeko.c (rpl_fseeko): Likewise.
54663         * lib/fseterr.c (fseterr): Likewise.
54664         * lib/fwritable.c (fwritable): Likewise.
54665         * lib/fwriting.c (fwriting): Likewise.
54666         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
54667
54668 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54669
54670         * lib/config.charset: Treat Haiku like BeOS.
54671
54672 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54673
54674         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
54675         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
54676
54677 2008-11-08  Bruno Haible  <bruno@clisp.org>
54678
54679         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
54680         AC_CACHE_CHECK.
54681
54682 2008-11-08  Bruno Haible  <bruno@clisp.org>
54683
54684         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
54685
54686 2008-11-08  Bruno Haible  <bruno@clisp.org>
54687
54688         * tests/test-select-fd.c: New file.
54689         * tests/test-select-in.sh: New file.
54690         * tests/test-select-out.sh: New file.
54691         * tests/test-select-stdin.c: New file.
54692         * modules/select-tests (Files): Add the new files.
54693         (Depends-on): Add gettimeofday.
54694         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
54695         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
54696         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
54697
54698 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
54699             Bruno Haible  <bruno@clisp.org>
54700
54701         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
54702
54703 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
54704
54705         * build-aux/pmccabe2html: Added support for C++ source files.
54706
54707 2008-11-05  Ben Pfaff  <blp@gnu.org>
54708
54709         Fix lib/close.c build on Windows.
54710         * modules/close (Files): Add lib/w32sock.h.
54711
54712 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
54713
54714         Accept Bison's NEWS format.
54715         * build-aux/announce-gen (print_news_deltas): Tweak
54716         $re_prefix.
54717
54718 2008-11-04  Bruno Haible  <bruno@clisp.org>
54719
54720         * modules/random_r (Maintainer): Add glibc.
54721
54722 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54723
54724         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
54725         by karl@freefriends.org (Karl Berry).
54726         * doc/alloca.texi: Likewise.
54727         * doc/c-ctype.texi: Likewise.
54728         * doc/c-strcase.texi: Likewise.
54729         * doc/c-strcaseeq.texi: Likewise.
54730         * doc/c-strcasestr.texi: Likewise.
54731         * doc/c-strstr.texi: Likewise.
54732         * doc/c-strtod.texi: Likewise.
54733         * doc/c-strtold.texi: Likewise.
54734         * doc/ctime.texi: Likewise.
54735         * doc/error.texi: Likewise.
54736         * doc/fdl.texi: Likewise.
54737         * doc/gcd.texi: Likewise.
54738         * doc/getdate.texi: Likewise.
54739         * doc/gnulib-intro.texi: Likewise.
54740         * doc/gnulib-tool.texi: Likewise.
54741         * doc/gnulib.texi: Likewise.
54742         * doc/inet_ntoa.texi: Likewise.
54743         * doc/maintain.texi: Likewise.
54744         * doc/make-stds.texi: Likewise.
54745         * doc/quote.texi: Likewise.
54746         * doc/regexprops-generic.texi: Likewise.
54747         * doc/standards.texi: Likewise.
54748         * doc/verify.texi: Likewise.
54749         * doc/visibility.texi: Likewise.
54750         * doc/gnulib.texi (GNU Free Documentation License): Include
54751         fdl-1.3.texi instead of fdl.texi.
54752
54753 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54754
54755         * doc/fdl-1.3.texi: New file, from
54756         <http://www.gnu.org/licenses/fdl-1.3.texi>.
54757         * modules/fdl-1.3: Add.
54758         * MODULES.html.sh: Add fdl-1.3.
54759
54760 2008-11-03  Bruno Haible  <bruno@clisp.org>
54761
54762         Make determination of absolute name of header file work with AIX xlc.
54763         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
54764         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
54765         preprocessing.
54766         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54767         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
54768
54769 2008-11-03  Simon Josefsson  <simon@josefsson.org>
54770
54771         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
54772         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
54773         <ludo@gnu.org>.
54774
54775 2008-11-02  Bruno Haible  <bruno@clisp.org>
54776
54777         Mark 'strpbrk' obsolete.
54778         * modules/strpbrk (Status, Notice): New sections.
54779         * modules/strtok_r (Depends-on): Add strpbrk.
54780
54781 2008-11-02  Bruno Haible  <bruno@clisp.org>
54782
54783         Mark 'strdup' obsolete.
54784         * modules/strdup (Status, Notice): New sections.
54785         * modules/findprog (Depends-on): Add strdup.
54786         * modules/getaddrinfo (Depends-on): Likewise.
54787         * modules/localename (Depends-on): Likewise.
54788         * modules/relocatable-lib (Depends-on): Likewise.
54789         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
54790         * modules/relocatable-prog (Depends-on): Likewise.
54791         * modules/trim (Depends-on): Likewise.
54792         * modules/unictype/gen-ctype (Depends-on): Likewise.
54793         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54794
54795 2008-11-02  Bruno Haible  <bruno@clisp.org>
54796
54797         Mark 'strcspn' obsolete.
54798         * modules/strcspn (Status, Notice): New sections.
54799
54800 2008-11-02  Bruno Haible  <bruno@clisp.org>
54801
54802         Mark 'rmdir' obsolete.
54803         * modules/rmdir (Status, Notice): New sections.
54804         * modules/clean-temp (Depends-on): Add rmdir.
54805         * modules/openat (Depends-on): Likewise.
54806
54807 2008-11-02  Bruno Haible  <bruno@clisp.org>
54808
54809         Mark 'raise' obsolete.
54810         * modules/raise (Status, Notice): New sections.
54811         (Include): Specify <signal.h>.
54812         * modules/stdio (Depends-on): Add raise.
54813         * modules/write (Depends-on): Likewise.
54814
54815 2008-11-02  Bruno Haible  <bruno@clisp.org>
54816
54817         Mark 'memset' obsolete.
54818         * modules/memset (Status, Notice): New sections.
54819
54820 2008-11-02  Bruno Haible  <bruno@clisp.org>
54821
54822         Mark 'memmove' obsolete.
54823         * modules/memmove (Status, Notice): New sections.
54824         * modules/argp (Depends-on): Add memmove.
54825         * modules/argz (Depends-on): Likewise.
54826         * modules/canonicalize (Depends-on): Likewise.
54827         * modules/canonicalize-lgpl (Depends-on): Likewise.
54828         * modules/fts (Depends-on): Likewise.
54829         * modules/getcwd (Depends-on): Likewise.
54830         * modules/human (Depends-on): Likewise.
54831         * modules/regex (Depends-on): Likewise.
54832         * modules/striconveh (Depends-on): Likewise.
54833         * modules/trim (Depends-on): Likewise.
54834         * modules/unistr/u8-move (Depends-on): Likewise.
54835         * modules/unistr/u16-move (Depends-on): Likewise.
54836         * modules/unistr/u32-move (Depends-on): Likewise.
54837
54838 2008-11-02  Bruno Haible  <bruno@clisp.org>
54839
54840         Mark 'memcpy' obsolete.
54841         * modules/memcpy (Status, Notice): New sections.
54842
54843 2008-11-02  Bruno Haible  <bruno@clisp.org>
54844
54845         Mark 'memcmp' obsolete.
54846         * modules/memcmp (Status, Notice): New sections.
54847         * modules/argmatch (Depends-on): Add memchr.
54848         * modules/backupfile (Depends-on): Likewise.
54849         * modules/c-strcasestr (Depends-on): Likewise.
54850         * modules/crypto/des (Depends-on): Likewise.
54851         * modules/csharpcomp (Depends-on): Likewise.
54852         * modules/fnmatch (Depends-on): Likewise.
54853         * modules/git-merge-changelog (Depends-on): Likewise.
54854         * modules/isnand (Depends-on): Likewise.
54855         * modules/isnand-nolibm (Depends-on): Likewise.
54856         * modules/isnanf (Depends-on): Likewise.
54857         * modules/isnanf-nolibm (Depends-on): Likewise.
54858         * modules/isnanl (Depends-on): Likewise.
54859         * modules/isnanl-nolibm (Depends-on): Likewise.
54860         * modules/mbchar (Depends-on): Likewise.
54861         * modules/memcoll (Depends-on): Likewise.
54862         * modules/quotearg (Depends-on): Likewise.
54863         * modules/regex (Depends-on): Likewise.
54864         * modules/relocatable-prog (Depends-on): Likewise.
54865         * modules/same (Depends-on): Likewise.
54866         * modules/signbit (Depends-on): Likewise.
54867         * modules/strcasestr-simple (Depends-on): Likewise.
54868         * modules/unictype/gen-ctype (Depends-on): Likewise.
54869         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54870         * modules/uniname/uniname (Depends-on): Likewise.
54871         * modules/unistr/u8-cmp (Depends-on): Likewise.
54872
54873 2008-11-02  Bruno Haible  <bruno@clisp.org>
54874
54875         Mark 'memchr' obsolete.
54876         * modules/memchr (Status, Notice): New sections.
54877         * modules/argp (Depends-on): Add memchr.
54878         * modules/base64 (Depends-on): Likewise.
54879         * modules/c-strcasestr (Depends-on): Likewise.
54880         * modules/chdir-long (Depends-on): Likewise.
54881         * modules/fnmatch (Depends-on): Likewise.
54882         * modules/getsubopt (Depends-on): Likewise.
54883         * modules/git-merge-changelog (Depends-on): Likewise.
54884         * modules/glob (Depends-on): Likewise.
54885         * modules/strcasestr-simple (Depends-on): Likewise.
54886         * modules/strnlen (Depends-on): Likewise.
54887
54888 2008-11-02  Bruno Haible  <bruno@clisp.org>
54889
54890         Mark 'atexit' obsolete.
54891         * modules/atexit (Status, Notice): New sections.
54892         * modules/chdir-long (Depends-on): Add atexit.
54893         * modules/wait-process (Depends-on): Likewise.
54894
54895 2008-11-02  Bruno Haible  <bruno@clisp.org>
54896
54897         * gnulib-tool: New option --with-obsolete.
54898         (func_usage): Document it.
54899         (func_modules_transitive_closure): Drop obsolete dependencies if
54900         incobsolete is not true.
54901         (func_import): Read and save the incobsolete variable to the cache.
54902
54903 2008-11-02  Bruno Haible  <bruno@clisp.org>
54904
54905         * modules/TEMPLATE-EXTENDED: New field 'Status'.
54906         * gnulib-tool: New option --extract-status.
54907         (func_usage): Document it.
54908         (sed_extract_prog): Recognize it.
54909         (func_get_status): New function.
54910
54911 2008-10-30  Simon Josefsson  <simon@josefsson.org>
54912
54913         * modules/sockets (License): Change from LGPL to LGPLv2+.
54914
54915 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54916
54917         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
54918
54919 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54920
54921         * MODULES.html.sh (Support for systems lacking POSIX:2001):
54922         Mention times and sys_times.
54923         * modules/sys_times, modules/sys_times-tests: New modules.
54924         * modules/times, modules/times-tests: Likewise
54925         * m4/sys_times_h.m4: New file.
54926         * lib/sys_times.in.h: Likewise
54927         * lib/times.c: Likewise.
54928         * tests/test-sys_times.c: Likewise.
54929         * tests/test-times.c: Likewise.
54930         * doc/posix-headers/sys_times.texi: Update.
54931         * doc/posix-functions/times.texi: Update.
54932
54933 2008-10-28  Jim Meyering  <meyering@redhat.com>
54934
54935         * modules/tempname (Depends-on): Add lstat.
54936
54937         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
54938
54939 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54940
54941         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
54942         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
54943         using idiom used elsewhere in gnulib.
54944
54945 2008-10-27  Jim Meyering  <meyering@redhat.com>
54946
54947         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
54948
54949 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54950
54951         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
54952         TESTS_ENVIRONMENT, for shell scripts that needs to call built
54953         programs.
54954         * tests/test-argp-2.sh: Use $EXEEXT when needed.
54955
54956 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54957
54958         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
54959
54960 2008-10-27  Bruno Haible  <bruno@clisp.org>
54961
54962         * tests/test-lstat.c: Include <stdio.h>.
54963
54964 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54965
54966         * modules/lstat-tests: New module.
54967         * tests/test-lstat.c: New file.
54968
54969 2008-10-26  Jim Meyering  <meyering@redhat.com>
54970
54971         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
54972
54973 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54974             Bruno Haible  <bruno@clisp.org>
54975
54976         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
54977         * modules/configmake (Include): Add a note that the include must come
54978         after all system headers.
54979         * lib/javaversion.c: Include configmake.h after all other includes.
54980
54981 2008-10-26  Bruno Haible  <bruno@clisp.org>
54982
54983         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
54984         HAVE_STRUCT_RANDOM_DATA to 1.
54985         (gl_STDLIB_H): Simplify.
54986
54987 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54988
54989         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
54990         substitute HAVE_STRUCT_RANDOM_DATA.
54991         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
54992         random_data.
54993         * modules/stdlib (Makefile.am): Substitute
54994         HAVE_STRUCT_RANDOM_DATA.
54995
54996 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54997
54998         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
54999         * doc/gnulib-intro.texi (Copyright): Likewise.
55000
55001 2008-10-26  Simon Josefsson  <simon@josefsson.org>
55002
55003         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
55004         findings.
55005
55006 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
55007             Bruno Haible  <bruno@clisp.org>
55008
55009         * lib/unistd.in.h: Include <winsock2.h>.
55010         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
55011         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
55012         Provide dummy declarations.
55013         (gethostname): Override.
55014         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
55015         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
55016         gl_PREREQ_SYS_H_WINSOCK2.
55017         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
55018         * doc/posix-functions/gethostname.texi: More details.
55019
55020 2008-10-25  Bruno Haible  <bruno@clisp.org>
55021
55022         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
55023         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
55024         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
55025
55026         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
55027         here ...
55028         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
55029         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
55030         gl_UNISTD_H_DEFAULTS.
55031
55032 2008-10-25  Eric Blake  <ebb9@byu.net>
55033
55034         signbit: avoid spurious compiler failure
55035         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
55036         declarations inside function.
55037
55038 2008-10-24  Simon Josefsson  <simon@josefsson.org>
55039             Bruno Haible  <bruno@clisp.org>
55040
55041         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
55042         * modules/random_r (Depends-on): Add stdint.
55043
55044 2008-10-24  Bruno Haible  <bruno@clisp.org>
55045
55046         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
55047         Eggert.
55048         * modules/strerror (License): Likewise.
55049
55050 2008-10-24  Jim Meyering  <meyering@redhat.com>
55051
55052         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
55053         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
55054
55055 2008-10-24  Eric Blake  <ebb9@byu.net>
55056
55057         getgroups: fix compilation when getgroups is available
55058         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
55059         but with <config.h> override of getgroups disabled.
55060
55061 2008-10-24  Simon Josefsson  <simon@josefsson.org>
55062
55063         * doc/gnulib.texi (Header files): Add note about C++ problems.
55064         Explained by Bruno Haible <bruno@clisp.org>.
55065
55066 2008-10-23  Bruno Haible  <bruno@clisp.org>
55067
55068         Define a dummy SA_NODEFER macro on Interix.
55069         * lib/signal.in.h (SA_NODEFER): Define fallback.
55070         Reported by Aleksey Cheusov <cheusov@tut.by> via
55071         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
55072
55073 2008-10-23  Bruno Haible  <bruno@clisp.org>
55074
55075         * modules/freadahead (License): Change to LGPLv2+.
55076         Suggested by Simon Josefsson.
55077
55078 2008-10-23  Jim Meyering  <meyering@redhat.com>
55079
55080         random_r: new module
55081         * modules/random_r: New file.
55082         * m4/random_r.m4: New file.
55083         * lib/random_r.c: New file, from glibc.
55084         * modules/random_r-tests: New file.
55085         * tests/test-random_r.c: New file.
55086         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
55087          Declare.
55088         (RAND_MAX): Define.
55089         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
55090         * modules/stdlib: Substitute them, too.
55091         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
55092         * doc/glibc-functions/initstate_r.texi: Mention the new module.
55093         * doc/glibc-functions/random_r.texi: Likewise.
55094         * doc/glibc-functions/setstate_r.texi: Likewise.
55095         * doc/glibc-functions/srandom_r.texi: Likewise.
55096         * config/srclist.txt: Mention it.
55097
55098 2008-10-23  David Lutterkort  <lutter@redhat.com>
55099
55100         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
55101         link requirement
55102
55103 2008-10-23  Jim Meyering  <meyering@redhat.com>
55104
55105         selinux-h: mark parameters of stub functions as intentionally unused
55106         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
55107         * lib/se-context.in.h: Likewise.
55108
55109 2008-10-22  Simon Josefsson  <simon@josefsson.org>
55110
55111         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
55112
55113 2008-10-22  Simon Josefsson  <simon@josefsson.org>
55114
55115         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
55116
55117 2008-10-22  Eric Blake  <ebb9@byu.net>
55118
55119         glthread/thread: avoid compiler warning
55120         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
55121         Add unreachable abort to silence compiler.
55122
55123 2008-10-22  Eric Blake  <ebb9@byu.net>
55124
55125         netdb: also supply struct addrinfo for cygwin 1.5.x
55126         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
55127         older cygwin.
55128         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
55129         cygwin.
55130         * doc/posix-headers/netdb.texi (netdb.h): Document this.
55131
55132 2008-10-22  Bruno Haible  <bruno@clisp.org>
55133
55134         * users.txt: Update entry about pspp.
55135
55136 2008-10-21  Bruno Haible  <bruno@clisp.org>
55137
55138         Simplification.
55139         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
55140         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
55141
55142         Simplification.
55143         * lib/ioctl.c (ioctl): Don't undefine.
55144         * lib/socket.c (socket): Don't undefine.
55145
55146         Remove unused module indicator macros.
55147         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
55148         GNULIB_$1 as a C macro.
55149
55150         * doc/posix-functions/close.texi: Undo last change.
55151         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
55152         Windows platforms.
55153
55154 2008-10-21  Bruno Haible  <bruno@clisp.org>
55155
55156         Add gethostname() declaration to <unistd.h>.
55157         * lib/unistd.in.h (gethostname): New declaration.
55158         * lib/gethostname.c: Include <unistd.h>.
55159         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
55160         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
55161         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
55162         and HAVE_GETHOSTNAME.
55163         * modules/gethostname (Depends-on): Add unistd.
55164         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55165         (Include): Specify <unistd.h>.
55166         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
55167         HAVE_GETHOSTNAME.
55168         * tests/test-gethostname.c: Include <unistd.h> first.
55169
55170 2008-10-21  Bruno Haible  <bruno@clisp.org>
55171
55172         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
55173         * modules/select-tests (Depends-on): Likewise.
55174         Reported by Simon Josefsson.
55175
55176 2008-10-21  Simon Josefsson  <simon@josefsson.org>
55177
55178         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
55179         * lib/accept.c: New file, based on winsock.c.
55180         * lib/bind.c: New file, based on winsock.c.
55181         * lib/connect.c: New file, based on winsock.c.
55182         * lib/getpeername.c: New file, based on winsock.c.
55183         * lib/getsockname.c: New file, based on winsock.c.
55184         * lib/getsockopt.c: New file, based on winsock.c.
55185         * lib/ioctl.c: New file, based on winsock.c.
55186         * lib/listen.c: New file, based on winsock.c.
55187         * lib/recv.c: New file, based on winsock.c.
55188         * lib/recvfrom.c: New file, based on winsock.c.
55189         * lib/send.c: New file, based on winsock.c.
55190         * lib/sendto.c: New file, based on winsock.c.
55191         * lib/setsockopt.c: New file, based on winsock.c.
55192         * lib/shutdown.c: New file, based on winsock.c.
55193         * lib/socket.c: New file, based on winsock.c.
55194         * lib/w32sock.h: New file, based on winsock.c.
55195         * lib/winsock.c: Remove file.
55196         * modules/accept: Likewise.
55197         * modules/bind: Likewise.
55198         * modules/connect: Likewise.
55199         * modules/getpeername: Likewise.
55200         * modules/getsockname: Likewise.
55201         * modules/getsockopt: Likewise.
55202         * modules/ioctl: Likewise.
55203         * modules/listen: Likewise.
55204         * modules/recv: Likewise.
55205         * modules/recvfrom: Likewise.
55206         * modules/send: Likewise.
55207         * modules/sendto: Likewise.
55208         * modules/setsockopt: Likewise.
55209         * modules/shutdown: Likewise.
55210         * modules/socket: Use socket.c instead of winsock.c.
55211         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
55212         * doc/posix-functions/accept.texi: Doc fix.
55213         * doc/posix-functions/bind.texi: Doc fix.
55214         * doc/posix-functions/close.texi: Doc fix.
55215         * doc/posix-functions/connect.texi: Doc fix.
55216         * doc/posix-functions/getpeername.texi: Doc fix.
55217         * doc/posix-functions/getsockname.texi: Doc fix.
55218         * doc/posix-functions/getsockopt.texi: Doc fix.
55219         * doc/posix-functions/ioctl.texi: Doc fix.
55220         * doc/posix-functions/listen.texi: Doc fix.
55221         * doc/posix-functions/recv.texi: Doc fix.
55222         * doc/posix-functions/recvfrom.texi: Doc fix.
55223         * doc/posix-functions/send.texi: Doc fix.
55224         * doc/posix-functions/sendto.texi: Doc fix.
55225         * doc/posix-functions/setsockopt.texi: Doc fix.
55226         * doc/posix-functions/shutdown.texi: Doc fix.
55227         * doc/posix-functions/socket.texi: Doc fix.
55228
55229 2008-10-20  Bruno Haible  <bruno@clisp.org>
55230
55231         Take into account the role of SIGABRT_COMPAT on Windows 2008.
55232         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
55233         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
55234         as an alias for SIGABRT.
55235         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
55236         (sigaction): Map it to SIGABRT.
55237         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
55238
55239 2008-10-20  Bruno Haible  <bruno@clisp.org>
55240
55241         * lib/fts.c: Don't include lstat.h.
55242         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
55243
55244         Move the lstat() declaration to <sys/stat.h>.
55245         * lib/lstat.h: Remove file.
55246         * lib/sys_stat.in.h: Add special invocation convention.
55247         (lstat): New declaration.
55248         * lib/lstat.c (orig_lstat): New function.
55249         (rpl_lstat): Use orig_lstat instead of lstat.
55250         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
55251         AC_C_INLINE. Set REPLACE_LSTAT.
55252         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
55253         and REPLACE_LSTAT.
55254         * modules/lstat (Files): Remove lib/lstat.h.
55255         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55256         (Include): Specify <sys/stat.h> instead of lstat.h.
55257         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
55258         REPLACE_LSTAT.
55259         * NEWS: Mention the change.
55260
55261 2008-10-20  Bruno Haible  <bruno@clisp.org>
55262
55263         * modules/posix_spawn-tests: New file.
55264         * tests/test-posix_spawn3.c: New file.
55265
55266 2008-10-20  Bruno Haible  <bruno@clisp.org>
55267
55268         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
55269         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
55270         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
55271         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
55272         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
55273
55274 2008-10-20  Bruno Haible  <bruno@clisp.org>
55275
55276         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
55277         of posix_spawn on AIX 5.3.
55278
55279 2008-10-20  Bruno Haible  <bruno@clisp.org>
55280
55281         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
55282
55283 2008-10-20  Bruno Haible  <bruno@clisp.org>
55284
55285         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
55286         of AC_LANG_PROGRAM.
55287
55288 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55289
55290         * lib/netdb.in.h: Don't define GNU specific constants until they
55291         are supported or needed.  Reported by Bruno Haible
55292         <bruno@clisp.org>.
55293
55294 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55295
55296         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
55297
55298 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55299
55300         * lib/getaddrinfo.h: Remove file.
55301         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
55302         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
55303         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
55304         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
55305         * modules/netdb: Substitute GNULIB_GETADDRINFO.
55306         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
55307         * tests/test-getaddrinfo.c: Likewise.
55308         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
55309         * NEWS: Mention change.
55310
55311 2008-10-19  Bruno Haible  <bruno@clisp.org>
55312
55313         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
55314
55315 2008-10-19  Bruno Haible  <bruno@clisp.org>
55316
55317         * lib/wait-process.c: Include simply <sys/wait.h>.
55318         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
55319         WIFSTOPPED): Remove fallback definitions.
55320         * modules/wait-process (Depends-on): Add sys_wait.
55321
55322         New module 'sys_wait'.
55323         * modules/sys_wait: New file.
55324         * lib/sys_wait.in.h: New file, partially copied from
55325         lib/wait-process.c.
55326         * m4/sys_wait_h.m4: New file.
55327         * doc/posix-headers/sys_wait.texi: Mention the new module.
55328
55329 2008-10-19  Bruno Haible  <bruno@clisp.org>
55330
55331         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
55332
55333 2008-10-19  Bruno Haible  <bruno@clisp.org>
55334
55335         Assume that waitpid() fills an 'int' status, not a 'union wait'.
55336         * lib/wait-process.c (WAIT_T): Remove type.
55337         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
55338         (wait_subprocess): Update.
55339
55340 2008-10-19  Bruno Haible  <bruno@clisp.org>
55341
55342         New module 'atoll'.
55343         * modules/atoll: New file.
55344         * lib/stdlib.in.h (atoll): New declaration.
55345         * lib/atoll.c: New file, from glibc with modifications.
55346         * m4/atoll.m4: New file.
55347         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
55348         HAVE_ATOLL.
55349         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
55350         * doc/posix-functions/atoll.texi: Mention the new module.
55351
55352 2008-10-19  Bruno Haible  <bruno@clisp.org>
55353
55354         Add strtoull() declaration to <stdlib.h>.
55355         * lib/stdlib.in.h (strtoull): New declaration.
55356         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55357         Set HAVE_STRTOULL.
55358         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
55359         HAVE_STRTOULL.
55360         * modules/strtoull (Depends-on): Add stdlib.
55361         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55362         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
55363         HAVE_STRTOULL.
55364
55365 2008-10-19  Bruno Haible  <bruno@clisp.org>
55366
55367         Add strtoll() declaration to <stdlib.h>.
55368         * lib/stdlib.in.h (strtoll): New declaration.
55369         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55370         Set HAVE_STRTOLL.
55371         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
55372         HAVE_STRTOLL.
55373         * modules/strtoll (Depends-on): Add stdlib.
55374         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55375         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
55376
55377 2008-10-19  Bruno Haible  <bruno@clisp.org>
55378
55379         * modules/bcopy (Depends-on): Add strings.
55380         (Include): Specify <strings.h>.
55381
55382 2008-10-19  Bruno Haible  <bruno@clisp.org>
55383
55384         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
55385
55386 2008-10-19  Bruno Haible  <bruno@clisp.org>
55387
55388         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
55389         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
55390         mingw.
55391
55392 2008-10-19  Bruno Haible  <bruno@clisp.org>
55393
55394         * lib/atanl.c: Don't include isnanl.h.
55395         * lib/cosl.c: Likewise.
55396         * lib/ldexpl.c: Likewise.
55397         * lib/logl.c: Likewise.
55398         * lib/sinl.c: Likewise.
55399         * lib/sqrtl.c: Likewise.
55400         * lib/tanl.c: Likewise.
55401
55402         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
55403         * lib/isnanf.h: Remove file.
55404         * lib/isnand.h: Remove file.
55405         * lib/isnanl.h: Remove file.
55406         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
55407         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
55408         macros.
55409         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
55410         HAVE_ISNANF, don't define it as a C macro.
55411         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
55412         HAVE_ISNAND, don't define it as a C macro.
55413         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
55414         HAVE_ISNANL, don't define it as a C macro.
55415         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
55416         HAVE_ISNAN[FDL].
55417         * modules/isnanf (Files): Remove lib/isnanf.h.
55418         (Depends-on): Add math.
55419         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55420         (Include): Specify <math.h> instead of isnanf.h.
55421         * modules/isnand (Files): Remove lib/isnand.h.
55422         (Depends-on): Add math.
55423         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55424         (Include): Specify <math.h> instead of isnand.h.
55425         * modules/isnanl (Files): Remove lib/isnanl.h.
55426         (Depends-on): Add math.
55427         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55428         (Include): Specify <math.h> instead of isnanl.h.
55429         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
55430         HAVE_ISNAN[FDL].
55431         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
55432         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
55433         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
55434         * NEWS: Mention the change.
55435
55436 2008-10-18  Bruno Haible  <bruno@clisp.org>
55437
55438         Add getusershell(), setusershell(), endusershell() declarations to
55439         <unistd.h>.
55440         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
55441         declarations.
55442         * lib/getusershell.c: Include unistd.h.
55443         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
55444         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55445         HAVE_GETUSERSHELL.
55446         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
55447         and HAVE_GETUSERSHELL.
55448         * modules/getusershell (Depends-on): Add unistd, extensions.
55449         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55450         (Include): Specify <unistd.h>.
55451         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
55452         HAVE_GETUSERSHELL.
55453
55454 2008-10-18  Bruno Haible  <bruno@clisp.org>
55455
55456         Add a getloadavg() declaration to <stdlib.h>.
55457         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
55458         getloadavg declaration.
55459         (getloadavg): New declaration.
55460         * lib/getloadavg.c: Include <stdlib.h> first.
55461         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
55462         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
55463         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
55464         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
55465         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55466         * modules/getloadavg (Depends-on): Add stdlib, extensions.
55467         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55468         (Include): Specify <stdlib.h>.
55469         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
55470         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55471
55472 2008-10-18  Bruno Haible  <bruno@clisp.org>
55473
55474         * lib/dirchownmod.c: Don't include lchmod.h.
55475
55476         Move the lchmod() declaration to <sys/stat.h>.
55477         * lib/lchmod.h: Remove file.
55478         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
55479         (lchmod): New declaration, moved here from lib/lchown.h.
55480         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
55481         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
55482         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
55483         and HAVE_LCHMOD.
55484         * modules/lchmod (Files): Remove lib/lchmod.h.
55485         (Depends-on): Add sys_stat, extensions.
55486         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55487         (Include): Specify <sys/stat.h> instead of lchmod.h.
55488         * modules/sys_stat (Depends-on): Add link-warning.
55489         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
55490         definition of GL_LINK_WARNING.
55491         * NEWS: Mention the change.
55492
55493 2008-10-18  Bruno Haible  <bruno@clisp.org>
55494
55495         * lib/fchdir.c: Don't include dirfd.h.
55496         * lib/fts.c: Likewise.
55497         * lib/getcwd.c: Likewise.
55498         * lib/glob.c: Likewise.
55499
55500         Move the dirfd() declaration to <dirent.h>.
55501         * lib/dirfd.h: Remove file.
55502         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
55503         (dirfd): New declaration.
55504         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
55505         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
55506         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
55507         HAVE_DECL_DIRFD.
55508         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
55509         HAVE_DECL_DIRFD.
55510         * modules/dirfd (Files): Remove lib/dirfd.h.
55511         (Depends-on): Add dirent, extensions.
55512         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
55513         (Include): Specify <dirent.h> instead of dirfd.h.
55514         * modules/dirent (Depends-on): Add link-warning.
55515         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
55516         definition of GL_LINK_WARNING.
55517         * NEWS: Mention the change.
55518
55519 2008-10-18  Bruno Haible  <bruno@clisp.org>
55520
55521         Move the euidaccess() declaration to <unistd.h>.
55522         * lib/euidaccess.h: Remove file.
55523         * lib/unistd.in.h (euidaccess): New declaration.
55524         * lib/euidaccess.c: Don't include euidaccess.h.
55525         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
55526         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
55527         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
55528         and HAVE_EUIDACCESS.
55529         * modules/euidaccess (Files): Remove lib/euidaccess.h.
55530         (Depends-on): Add unistd.
55531         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55532         (Include): Specify <unistd.h> instead of euidaccess.h.
55533         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
55534         HAVE_EUIDACCESS.
55535         * NEWS: Mention the change.
55536
55537 2008-10-18  Bruno Haible  <bruno@clisp.org>
55538
55539         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
55540
55541         Move the getdomainname() declaration to <unistd.h>.
55542         * lib/getdomainname.h: Remove file.
55543         * lib/unistd.in.h (getdomainname): New declaration.
55544         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
55545         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
55546         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55547         HAVE_GETDOMAINNAME.
55548         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55549         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
55550         * modules/getdomainname (Files): Remove lib/getdomainname.h.
55551         (Depends-on): Add unistd, extensions.
55552         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55553         (Includes): Specify <unistd.h> instead of getdomainname.h.
55554         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
55555         HAVE_GETDOMAINNAME.
55556         * NEWS: Mention the change.
55557
55558 2008-10-18  Bruno Haible  <bruno@clisp.org>
55559
55560         * modules/dirent: New file.
55561         * m4/dirent_h.m4: New file.
55562         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
55563         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
55564         * modules/fchdir (Files): Remove lib/dirent.in.h.
55565         (Depends-on): Add dirent.
55566         (Makefile.am): Move rules to modules/dirent.
55567         * doc/posix-headers/dirent.texi: Mention the new module.
55568
55569 2008-10-18  Bruno Haible  <bruno@clisp.org>
55570
55571         Avoid -Wunused-parameter warnings in public gnulib header files.
55572         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
55573         macro.
55574         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
55575
55576 2008-10-18  Bruno Haible  <bruno@clisp.org>
55577
55578         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
55579         * doc/glibc-functions/error.texi: Mention the module 'error'.
55580         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
55581         * doc/glibc-functions/getdomainname.texi: Mention the module
55582         'getdomainname'.
55583         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
55584         * doc/glibc-functions/getpagesize.texi: Mention the module
55585         'getpagesize'.
55586         * doc/glibc-functions/getusershell.texi: Mention the module
55587         'getusershell'.
55588         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
55589         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
55590         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
55591         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
55592         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
55593         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
55594         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
55595         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
55596         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
55597         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
55598         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
55599         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
55600         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
55601         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
55602
55603 2008-10-17  Bruno Haible  <bruno@clisp.org>
55604
55605         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
55606         HP-UX and IRIX, use -0.0L.
55607         * tests/test-ceill.c (minus_zero): Likewise.
55608         * tests/test-floorl.c (minus_zero): Likewise.
55609         * tests/test-frexpl.c (minus_zero): Likewise.
55610         * tests/test-isnan.c (minus_zerol): Likewise.
55611         * tests/test-isnanl.h (minus_zero): Likewise.
55612         * tests/test-ldexpl.c (minus_zero): Likewise.
55613         * tests/test-roundl.c (minus_zero): Likewise.
55614         * tests/test-signbit.c (minus_zerol): Likewise.
55615         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
55616         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
55617         * tests/test-truncl.c (minus_zero): Likewise.
55618         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
55619         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
55620         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
55621         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
55622
55623 2008-10-17  Bruno Haible  <bruno@clisp.org>
55624
55625         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
55626         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
55627         that it gets activated only for gcc >= 3.0.
55628         * lib/dirent.in.h: Likewise.
55629         * lib/errno.in.h: Likewise.
55630         * lib/fcntl.in.h: Likewise.
55631         * lib/float.in.h: Likewise.
55632         * lib/iconv.in.h: Likewise.
55633         * lib/inttypes.in.h: Likewise.
55634         * lib/locale.in.h: Likewise.
55635         * lib/math.in.h: Likewise.
55636         * lib/netdb.in.h: Likewise.
55637         * lib/netinet_in.in.h: Likewise.
55638         * lib/search.in.h: Likewise.
55639         * lib/signal.in.h: Likewise.
55640         * lib/spawn.in.h: Likewise.
55641         * lib/stdarg.in.h: Likewise.
55642         * lib/stdint.in.h: Likewise.
55643         * lib/stdio.in.h: Likewise.
55644         * lib/stdlib.in.h: Likewise.
55645         * lib/string.in.h: Likewise.
55646         * lib/strings.in.h: Likewise.
55647         * lib/sys_file.in.h: Likewise.
55648         * lib/sys_ioctl.in.h: Likewise.
55649         * lib/sys_select.in.h: Likewise.
55650         * lib/sys_socket.in.h: Likewise.
55651         * lib/sys_stat.in.h: Likewise.
55652         * lib/sys_time.in.h: Likewise.
55653         * lib/sysexits.in.h: Likewise.
55654         * lib/time.in.h: Likewise.
55655         * lib/unistd.in.h: Likewise.
55656         * lib/wchar.in.h: Likewise.
55657         * lib/wctype.in.h: Likewise.
55658         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55659
55660 2008-10-17  Jim Meyering  <meyering@redhat.com>
55661
55662         ignore-value: don't depend on inline module
55663         * modules/ignore-value (Depends-on): Remove 'inline'.
55664         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
55665         Suggestion from Bruno Haible.
55666
55667 2008-10-17  Bruno Haible  <bruno@clisp.org>
55668
55669         New implementation of condition variables for Win32.
55670         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
55671         (gl_linked_waitqueue_t): New type.
55672         (gl_cond_t): Use it.
55673         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
55674         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
55675         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
55676         (glthread_cond_init_func, glthread_cond_wait_func,
55677         glthread_cond_timedwait_func, glthread_cond_signal_func,
55678         glthread_cond_broadcast_func, glthread_cond_destroy_func):
55679         Reimplemented on the basis of gl_linked_waitqueue_t.
55680         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
55681         gl_waitqueue_t.
55682         (gl_rwlock_t): Update.
55683         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
55684
55685 2008-10-17  Simon Josefsson  <simon@josefsson.org>
55686
55687         * modules/recvfrom (Depends-on): Add dependency on getpeername.
55688         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55689
55690 2008-10-17  Jim Meyering  <meyering@redhat.com>
55691
55692         ignore-value: new module
55693         * modules/ignore-value: New file.
55694         * lib/ignore-value.h: New file.
55695         * MODULES.html.sh (Compiler warning management): New section,
55696         just for this module.  More to come.
55697
55698 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55699
55700         open-safer.c: avoid 'signed and unsigned in conditional...' warning
55701         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
55702         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
55703
55704 2008-10-16  Jim Meyering  <meyering@redhat.com>
55705
55706         openat-die.c: avoid 'no previous prototype' warning
55707         * lib/openat-die.c: Include "openat.h".
55708         Reported by Reuben Thomas <rrt@sc3d.org>.
55709
55710 2008-10-16  Simon Josefsson  <simon@josefsson.org>
55711
55712         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
55713         * lib/netdb.in.h: Fix typo.
55714         Reported by Bruno Haible  <bruno@clisp.org>
55715
55716         * lib/netdb.in.h: Include sys/socket.h for platforms without
55717         netdb.h, to get structures like hostent on MinGW.
55718         * modules/netdb (Depends-on): Add sys_socket.
55719
55720 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55721
55722         * modules/netdb, modules/netdb-tests: New file.
55723         * m4/netdb_h.m4: New file.
55724         * lib/netdb.in.h: Add, currently just an empty file pending
55725         definitions.
55726         * tests/test-netdb.c: New file.
55727         * doc/posix-headers/netdb.texi: Mention that we replace it if
55728         needed.
55729         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55730         netdb.
55731
55732 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55733
55734         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
55735         with code.
55736
55737 2008-10-13  Bruno Haible  <bruno@clisp.org>
55738
55739         * lib/glthread/cond.c (glthread_cond_wait_func,
55740         glthread_cond_timedwait_func): Add a comment.
55741
55742 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55743
55744         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
55745         * tests/test-select.c: Likewise,
55746
55747 2008-10-13  Bruno Haible  <bruno@clisp.org>
55748
55749         * lib/glthread/cond.c (glthread_cond_wait_func,
55750         glthread_cond_timedwait_func): Fix variable name.
55751         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55752
55753 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
55754
55755         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
55756         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
55757         struct sockaddr.sa_len.
55758         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
55759
55760 2008-10-13  Simon Josefsson  <simon@josefsson.org>
55761
55762         * build-aux/pmccabe2html: Add css and css_url parameters.
55763
55764 2008-10-12  Bruno Haible  <bruno@clisp.org>
55765
55766         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
55767         calling aclx_get.
55768         Reported by Rainer Tammer <tammer@tammer.net>.
55769
55770 2008-10-12  Bruno Haible  <bruno@clisp.org>
55771
55772         Use msvcrt aware primitives for creation/termination of Win32 threads.
55773         * lib/glthread/thread.c: Include <process.h>.
55774         (glthread_create_func): Use _beginthreadex instead of CreateThread.
55775         (wrapper_func): Update signature.
55776         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
55777
55778 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55779             Bruno Haible  <bruno@clisp.org>
55780
55781         Provide a Win32 implementation of the 'cond' module.
55782         * lib/glthread/cond.h [USE_WIN32]: New implementation.
55783         * lib/glthread/cond.c (glthread_cond_init_func,
55784         glthread_cond_wait_func, glthread_cond_timedwait_func,
55785         glthread_cond_signal_func, glthread_cond_broadcast_func,
55786         glthread_cond_destroy_func) [USE_WIN32]: New functions.
55787         * modules/cond (Dependencies): Add gettimeofday.
55788
55789 2008-10-11  Bruno Haible  <bruno@clisp.org>
55790
55791         Make sleep work on older versions of mingw.
55792         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
55793         only whether it exists.
55794         * doc/posix-functions/sleep.texi: Mention the problem with older
55795         versions of mingw.
55796
55797 2008-10-11  Bruno Haible  <bruno@clisp.org>
55798
55799         New module 'shutdown'.
55800         * modules/shutdown: New file.
55801         * lib/sys_socket.in.h (shutdown): New declaration.
55802         * lib/winsock.c (shutdown): New function.
55803         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
55804         GNULIB_SHUTDOWN.
55805         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
55806         * doc/posix-functions/shutdown.texi: Document the new module.
55807
55808 2008-10-11  Jim Meyering  <meyering@redhat.com>
55809
55810         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
55811
55812 2008-10-11  Bruno Haible  <bruno@clisp.org>
55813
55814         New module 'fclose'.
55815         * modules/fclose: New file.
55816         * lib/stdio.in.h (fclose): New declaration.
55817         * lib/fclose.c: New file.
55818         * m4/fclose.m4: New file.
55819         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
55820         REPLACE_FCLOSE.
55821         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
55822         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
55823         REPLACE_FCLOSE.
55824         * modules/close (Depends-on): fclose.
55825         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
55826
55827 2008-10-11  Bruno Haible  <bruno@clisp.org>
55828
55829         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
55830         set errno and don't call _close.
55831
55832 2008-10-10  Bruno Haible  <bruno@clisp.org>
55833
55834         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
55835         ACL, not afterwards. Fixes test failure on Cygwin.
55836
55837 2008-10-09  Ben Pfaff  <blp@gnu.org>
55838
55839         * build-aux/announce-gen: Fix gnulib version related part of usage
55840         message.  Die with a useful error message if no tarballs are
55841         found.
55842
55843 2008-10-10  Jim Meyering  <meyering@redhat.com>
55844
55845         bootstrap: use git's --depth=N option only if it's supported
55846         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
55847         recognize the --depth option.  Reported by Pádraig Brady.
55848
55849 2008-10-09  Bruno Haible  <bruno@clisp.org>
55850
55851         New module 'ioctl'.
55852         * modules/ioctl: New file.
55853         * lib/sys_socket.in.h (ioctl): Remove declaration.
55854         * lib/winsock.c: Include <sys/ioctl.h>.
55855         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
55856         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
55857         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
55858         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
55859         * doc/posix-functions/ioctl.texi: Mention the new module.
55860
55861 2008-10-09  Bruno Haible  <bruno@clisp.org>
55862
55863         New module 'sys_ioctl'.
55864         * lib/sys_ioctl.in.h: New file.
55865         * m4/sys_ioctl_h.m4: New file.
55866         * modules/sys_ioctl: New file.
55867         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
55868
55869 2008-10-09  Bruno Haible  <bruno@clisp.org>
55870
55871         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
55872         * lib/winsock.c: Include <stdarg.h>.
55873         (rpl_ioctl): Change to second argument 'int' and then varargs.
55874
55875 2008-10-09  Bruno Haible  <bruno@clisp.org>
55876
55877         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
55878         when the sys_socket module is present and the system has <winsock2.h>.
55879
55880 2008-10-09  Bruno Haible  <bruno@clisp.org>
55881
55882         * doc/posix-functions/close.texi: Mention module 'close' instead of
55883         module 'sys_socket'.
55884
55885 2008-10-09  Bruno Haible  <bruno@clisp.org>
55886
55887         * doc/glibc-headers/sys_ioctl.texi: New file.
55888         * doc/gnulib.texi: Include it.
55889
55890 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55891             Bruno Haible  <bruno@clisp.org>
55892
55893         Combine the two replacements of 'close'.
55894         * lib/sys_socket.in.h (close): Define to a reminder to include
55895         <unistd.h>.
55896         (_gl_close_fd_maybe_socket): New declaration.
55897         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
55898         * lib/winsock.c (close): Remove undefinition.
55899         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
55900         needed for the gnulib module 'close'.
55901         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
55902         define to an error symbol or to a warning, if suitable.
55903         * lib/close.c: Include <sys/socket.h>.
55904         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
55905         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
55906         UNISTD_H_HAVE_WINSOCK2_H.
55907         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
55908         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55909         UNISTD_H_HAVE_WINSOCK2_H.
55910         * modules/sys_socket (Files): Add m4/unistd_h.m4.
55911         (configure.ac): Set a module indicator.
55912         (Makefile.am): Substitute GNULIB_CLOSE.
55913         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
55914         * modules/poll-tests (Depends-on): Add close.
55915         * modules/select-tests (Depends-on): Likewise.
55916
55917 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55918             Bruno Haible  <bruno@clisp.org>
55919
55920         New module 'close'.
55921         * modules/close: New file.
55922         * lib/unistd.in.h (close): Move declaration out of the
55923         FCHDIR_REPLACEMENT scope.
55924         (_gl_unregister_fd): New declaration.
55925         * lib/close.c: New file.
55926         * lib/fchdir.c (rpl_close): Remove function.
55927         * m4/close.m4: New file.
55928         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55929         close.
55930         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
55931         REPLACE_CLOSE.
55932         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
55933         REPLACE_CLOSE.
55934         * modules/fchdir (Depends-on): Add close.
55935
55936 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55937             Bruno Haible  <bruno@clisp.org>
55938
55939         * lib/fcntl.in.h (open): Simplify conditionals.
55940         (_gl_register_fd): New declaration.
55941         * lib/fchdir.c (rpl_open): Remove function.
55942         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
55943         also.
55944         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
55945         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55946         open.
55947
55948 2008-10-09  Jim Meyering  <meyering@redhat.com>
55949
55950         GNUmakefile: use the more name-space-friendly "_version"
55951         * top/GNUmakefile (_dummy): Update.
55952         (_version): Rename from "version".
55953
55954 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55955             Bruno Haible  <bruno@clisp.org>
55956
55957         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
55958         rpl_close.
55959         (_gl_register_fd): New function, extracted from rpl_open.
55960         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
55961         (rpl_open, rpl_opendir): Use _gl_register_fd.
55962
55963 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55964
55965         Fix organization of 'open' replacement.
55966         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
55967         (gl_FUNC_OPEN): Use it.
55968         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
55969
55970 2008-10-08  Bruno Haible  <bruno@clisp.org>
55971
55972         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
55973
55974 2008-10-08  Simon Josefsson  <simon@josefsson.org>
55975
55976         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
55977         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
55978         listen).
55979
55980 2008-10-08  Eric Blake  <ebb9@byu.net>
55981
55982         GNUmakefile: add 'make version' target
55983         * top/GNUmakefile (_curr-ver): Split version update rules...
55984         (version): ...into a target.
55985
55986 2008-10-07  Bruno Haible  <bruno@clisp.org>
55987
55988         Use a more portable replacement expression for -0.0L.
55989         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
55990         instead of -0.0L. Fix m4 quotation.
55991
55992         * tests/test-signbit.c: Include <float.h>.
55993         (minus_zero): New variable.
55994         (test_signbitl): Use minus_zero instead of -zero.
55995         * modules/signbit-tests (Depends-on): Add float.
55996
55997         * tests/test-ceill.c: Include <float.h>.
55998         (zero): Remove variable.
55999         (minus_zero): New variable.
56000         (main): Use minus_zero instead of -zero.
56001         * modules/ceill-tests (Depends-on): Add float.
56002
56003         * tests/test-floorl.c: Include <float.h>.
56004         (zero): Remove variable.
56005         (minus_zero): New variable.
56006         (main): Use minus_zero instead of -zero.
56007         * modules/floorl-tests (Depends-on): Add float.
56008
56009         * tests/test-roundl.c: Include <float.h>.
56010         (zero): Remove variable.
56011         (minus_zero): New variable.
56012         (main): Use minus_zero instead of -zero.
56013         * modules/roundl-tests (Depends-on): Add float.
56014
56015         * tests/test-truncl.c: Include <float.h>.
56016         (zero): Remove variable.
56017         (minus_zero): New variable.
56018         (main): Use minus_zero instead of -zero.
56019         * modules/truncl-tests (Depends-on): Add float.
56020
56021         * tests/test-frexpl.c (zero): Remove variable.
56022         (minus_zero): New variable.
56023         (main): Use minus_zero instead of -zero.
56024         * modules/frexpl-tests (Depends-on): Add float.
56025
56026         * tests/test-isnan.c (zerol): Remove variable.
56027         (minus_zerol): New variable.
56028         (test_long_double): Use minus_zerol instead of -zerol.
56029         * modules/isnan-tests (Depends-on): Add float.
56030
56031         * tests/test-isnanl.h (zero): Remove variable.
56032         (minus_zero): New variable.
56033         (main): Use minus_zero instead of -zero.
56034         * modules/isnanl-nolibm-tests (Depends-on): Add float.
56035         * modules/isnanl-tests (Depends-on): Add float.
56036
56037         * tests/test-ldexpl.c (zero): Remove variable.
56038         (minus_zero): New variable.
56039         (main): Use minus_zero instead of -zero.
56040         * modules/ldexpl-tests (Depends-on): Add float.
56041
56042         * tests/test-snprintf-posix.h (zerol): Remove variable.
56043         (minus_zerol): New variable.
56044         (test_function): Use minus_zerol instead of -zerol.
56045         * modules/snprintf-posix-tests (Depends-on): Add float.
56046         * modules/vsnprintf-posix-tests (Depends-on): Add float.
56047
56048         * tests/test-sprintf-posix.h (zerol): Remove variable.
56049         (minus_zerol): New variable.
56050         (test_function): Use minus_zerol instead of -zerol.
56051         * modules/sprintf-posix-tests (Depends-on): Add float.
56052         * modules/vsprintf-posix-tests (Depends-on): Add float.
56053
56054         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
56055         (minus_zerol): New variable.
56056         (test_function): Use minus_zerol instead of -zerol.
56057         * modules/vasnprintf-posix-tests (Depends-on): Add float.
56058
56059         * tests/test-vasprintf-posix.c (zerol): Remove variable.
56060         (minus_zerol): New variable.
56061         (test_function): Use minus_zerol instead of -zerol.
56062         * modules/vasprintf-posix-tests (Depends-on): Add float.
56063
56064 2008-10-07  Simon Josefsson  <simon@josefsson.org>
56065
56066         * MODULES.html.sh (Support for building documentation): Mention
56067         pmccabe2html.  Sort entries.
56068
56069         Add pmccabe2html module, from gnupdf.
56070         * build-aux/pmccabe.css: New file.
56071         * build-aux/pmccabe2html: New file.
56072         * m4/pmccabe2html.m4: New file.
56073         * modules/pmccabe2html: New file.
56074
56075 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
56076
56077         flock: new module
56078         * MODULES.html.sh: Add to list of modules.
56079         * lib/flock.c: flock implementation for Windows and Unix systems
56080         which have fcntl.
56081         * doc/glibc-functions/flock.texi: Update documentation.
56082         * lib/sys_file.in.h: <sys/file.h> header file.
56083         * m4/flock.m4: M4 macros.
56084         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
56085         * modules/flock: flock module.
56086         * modules/flock-tests: flock tests module.
56087         * modules/sys_file: sys/file.h module.
56088         * tests/test-flock.c: test suite for flock.
56089
56090 2008-10-06  Jim Meyering  <meyering@redhat.com>
56091
56092         bootstrap: check for LT_INIT more portably still ;-)
56093         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
56094         Spotted by Bruno Haible.
56095
56096 2008-10-06  Eric Blake  <ebb9@byu.net>
56097
56098         test-signbit: avoid tripping Irix cc bug on -0.0L
56099         * tests/test-signbit.c (minus_zerol): Delete, and replace with
56100         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
56101         entire testsuite consistent and avoids an Irix 6.2 bug.
56102
56103 2008-10-05  Bruno Haible  <bruno@clisp.org>
56104             Jim Meyering  <jim@meyering.net>
56105
56106         Add an option for ignoring EPIPE during close_stdout.
56107         * lib/closeout.h: Include <stdbool.h>.
56108         (close_stdout_set_ignore_EPIPE): New declaration.
56109         * lib/closeout.c: Include <stdbool.h>.
56110         (ignore_EPIPE): New variable.
56111         (close_stdout_set_ignore_EPIPE): New function.
56112         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
56113         * lib/close-stream.c (close_stream): Mention the possible EPIPE
56114         failure.
56115         * modules/closeout (Depends-on): Add stdbool.
56116
56117 2008-10-05  Bruno Haible  <bruno@clisp.org>
56118
56119         * modules/accept: New file.
56120         * modules/bind: New file.
56121         * modules/connect: New file.
56122         * modules/getpeername: New file.
56123         * modules/getsockname: New file.
56124         * modules/getsockopt: New file.
56125         * modules/listen: New file.
56126         * modules/recv: New file.
56127         * modules/recvfrom: New file.
56128         * modules/send: New file.
56129         * modules/sendto: New file.
56130         * modules/setsockopt: New file.
56131         * modules/socket: New file.
56132         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
56133         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
56134         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
56135         the particular module is requested. Add a link warning when the
56136         particular module is not requested.
56137         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
56138         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
56139         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
56140         the particular module is requested.
56141         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
56142         gl_SYS_SOCKET_H_DEFAULTS): New macros.
56143         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
56144         * modules/sys_socket (Depends-on): Add link-warning.
56145         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
56146         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
56147         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
56148         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
56149         GL_LINK_WARNING.
56150         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
56151         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
56152         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
56153         * doc/posix-functions/getpeername.texi: Mention the new module
56154         'getpeername'.
56155         * doc/posix-functions/getsockname.texi: Mention the new module
56156         'getsockname'.
56157         * doc/posix-functions/getsockopt.texi: Mention the new module
56158         'getsockopt'.
56159         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
56160         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
56161         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
56162         * doc/posix-functions/send.texi: Mention the new module 'send'.
56163         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
56164         * doc/posix-functions/setsockopt.texi: Mention the new module
56165         'setsockopt'.
56166         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
56167         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
56168         listen, connect, accept.
56169         * modules/select-tests (Depends-on): Likewise.
56170
56171 2008-10-05  Bruno Haible  <bruno@clisp.org>
56172
56173         * lib/winsock.c (strerror): Remove unused #undef.
56174         (rpl_close): Remove unused local variable.
56175
56176         * modules/sys_socket (Depends-on); Add errno.
56177
56178 2008-10-05  Bruno Haible  <bruno@clisp.org>
56179
56180         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
56181         (select): Add a link warning when the 'select' module is not used.
56182         * modules/sys_select (Depends-on): Add link-warning.
56183         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
56184         Suggested by Paolo Bonzini.
56185
56186 2008-10-05  Jim Meyering  <meyering@redhat.com>
56187
56188         bootstrap: check for LT_INIT more portably
56189         * build-aux/bootstrap: Avoid using grep -E, since it's not
56190         portable enough.  Suggestion from Bruno Haible.
56191
56192 2008-10-05  Bruno Haible  <bruno@clisp.org>
56193
56194         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
56195         as being fixed by gnulib.
56196
56197 2008-10-05  Bruno Haible  <bruno@clisp.org>
56198
56199         * modules/select-tests: New file, mostly copied from
56200         modules/sys_select-tests.
56201         * tests/test-select.c: New file, mostly copied from
56202         tests/test-sys_select.c.
56203         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
56204         * modules/sys_select-tests (Depends-on): Remove all dependencies.
56205         (Makefile.am): Remove test_sys_select_LDADD.
56206
56207         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
56208         to an undefined symbol, for an error message.
56209         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
56210         (gl_SYS_SELECT_H_DEFAULTS): New macro.
56211         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
56212         winsock-select.c here.
56213         * modules/sys_select (Files): Remove lib/winsock-select.c.
56214         (Depends-on): Remove alloca.
56215         (Makefile.am): Substitute GNULIB_SELECT.
56216         * modules/select: New file.
56217         * doc/posix-functions/select.texi: Update.
56218
56219 2008-10-05  Bruno Haible  <bruno@clisp.org>
56220
56221         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
56222         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
56223         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
56224         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
56225         getdtablesize.
56226         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
56227         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
56228
56229 2008-10-05  Bruno Haible  <bruno@clisp.org>
56230
56231         * modules/getdtablesize-tests: New file.
56232         * tests/test-getdtablesize.c: New file.
56233
56234         New module 'getdtablesize'.
56235         * lib/unistd.in.h (getdtablesize): New declaration.
56236         * lib/getdtablesize.c: New file.
56237         * m4/getdtablesize.m4: New file.
56238         * modules/getdtablesize: New file.
56239         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56240         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
56241         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
56242         HAVE_GETDTABLESIZE.
56243         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
56244
56245 2008-10-05  Bruno Haible  <bruno@clisp.org>
56246
56247         * modules/sched (Makefile.am): Fix typo.
56248         Reported by Simon Josefsson.
56249
56250 2008-10-05  Jim Meyering  <meyering@redhat.com>
56251
56252         bootstrap: check for LT_INIT, too
56253         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
56254         are deprecated.  Suggestion from Ralf Wildenhues.
56255
56256 2008-10-05  Bruno Haible  <bruno@clisp.org>
56257
56258         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
56259         overriding them by ours.
56260         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
56261
56262 2008-10-05  Jim Meyering  <meyering@redhat.com>
56263
56264         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
56265         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
56266         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
56267
56268 2008-10-04  Bruno Haible  <bruno@clisp.org>
56269
56270         * modules/dup2 (License): Change to LGPLv2+.
56271         * modules/sleep (License): Likewise.
56272         * modules/perror (License): Likewise.
56273         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
56274         Blake.
56275         * modules/signal (License): Likewise.
56276         * modules/sigprocmask (License): Likewise.
56277         * modules/raise (License): Change to LGPLv2+, with approval by Jim
56278         Meyering.
56279
56280 2008-10-04  Bruno Haible  <bruno@clisp.org>
56281
56282         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
56283         Reported by Rainer Tammer <tammer@tammer.net>.
56284
56285 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
56286             Bruno Haible  <bruno@clisp.org>
56287
56288         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
56289         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
56290         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
56291
56292 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
56293
56294         filevercmp: new module
56295         * lib/filevercmp.h: New function filevercmp comparing version strings.
56296         * lib/filevercmp.c: Implementation of filevercmp function.
56297         * modules/filevercmp: Module metadata.
56298         * tests/test-filevercmp.c: Unit test for new module.
56299         * modules/filevercmp-tests: Unit test metadata.
56300         * MODULES.html.sh: Add filevercmp module.
56301
56302 2008-10-03  Bruno Haible  <bruno@clisp.org>
56303
56304         * lib/c-ctype.h: Add comment.
56305         Reported by Jim Meyering.
56306
56307 2008-10-02  Bruno Haible  <bruno@clisp.org>
56308
56309         * modules/posix_spawn-internal (Depends-on): Add 'open'.
56310
56311 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56312
56313         * build-aux/bootstrap: Allow renaming bootstrap, and change the
56314         name of bootstrap.conf accordingly.
56315
56316 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56317
56318         * build-aux/bootstrap: Install git-merge-changelog configuration
56319         items into .gitconfig if needed.
56320
56321 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56322
56323         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
56324         git repository, and initialize/update it accordingly.
56325
56326 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
56327
56328         * modules/fsync-tests: New file.
56329         * tests/test-fsync.c: New file.
56330
56331         New module 'fsync'.
56332         * lib/fsync.c: New file.
56333         * m4/fsync.m4: New file.
56334         * modules/fsync: New file.
56335         * lib/unistd.in.h (fsync): New declaration.
56336         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
56337         GNULIB_FSYNC and HAVE_FSYNC.
56338         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
56339         * MODULES.html.sh (posix_functions): Add fsync.
56340         * doc/posix-functions/fsync.texi: Mention the new module.
56341
56342 2008-10-02  Jim Meyering  <meyering@redhat.com>
56343
56344         fts.c: sync with similar code from coreutils' remove.c
56345         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
56346         Guard also with "#if defined __linux__", since for now at least,
56347         this code is Linux-kernel-specific.
56348
56349 2008-10-02  Jim Meyering  <meyering@redhat.com>
56350
56351         fts: bug fixes
56352         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
56353         Include <sys/vfs.h>, not <sys/statfs.h>.
56354
56355         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
56356         Include <sys/vfs.h>, not <sys/statfs.h>.
56357
56358 2008-10-01  Bruno Haible  <bruno@clisp.org>
56359
56360         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
56361         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
56362         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
56363         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
56364         * doc/posix-functions/posix_spawnp.texi: Likewise.
56365         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
56366         whether posix_spawn actually works.
56367         * m4/pipe.m4 (gl_PIPE): Likewise.
56368         * modules/execute (Files): Add m4/posix_spawn.m4.
56369         * modules/pipe (Files): Add m4/posix_spawn.m4.
56370         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
56371
56372 2008-10-01  Jim Meyering  <meyering@redhat.com>
56373
56374         remove trailing spaces
56375         * NEWS: Likewise.
56376         * lib/poll.c (poll): Likewise.
56377         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
56378         * lib/winsock.c (rpl_close): Likewise.
56379         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
56380         * modules/yield: Likewise.
56381         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
56382         * tests/test-sys_select.c (connect_to_socket): Likewise.
56383
56384         fts.c: adjust a new interface to be more generally useful
56385         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
56386         (fts_build): Adjust caller.
56387
56388 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56389
56390         * modules/cond-tests: New file.
56391         * tests/test-cond.c: New file.
56392
56393 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56394             Bruno Haible  <bruno@clisp.org>
56395
56396         * modules/cond (Dependencies): Add errno, time.
56397         * lib/glthread/cond.h: Include <time.h>.
56398         (gl_cond_define, gl_cond_define_initialized): Use the same definition
56399         across platforms.
56400
56401 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56402             Bruno Haible  <bruno@clisp.org>
56403
56404         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
56405
56406 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56407             Bruno Haible  <bruno@clisp.org>
56408
56409         * modules/tls-tests (Depends-on): Add thread, yield.
56410         (configure.ac): Remove all checks.
56411         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
56412         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56413         gl_thread_self): Remove definitions. Include glthread/thread.h and
56414         glthread/yield.h instead.
56415         (test_tls): Pass an additional NULL argument to gl_thread_join.
56416
56417 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56418             Bruno Haible  <bruno@clisp.org>
56419
56420         * modules/lock-tests (Depends-on): Add thread, yield.
56421         (configure.ac): Remove all checks.
56422         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
56423         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56424         gl_thread_self): Remove definitions. Include glthread/thread.h and
56425         glthread/yield.h instead.
56426         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
56427         additional NULL argument to gl_thread_join.
56428
56429 2008-09-30  Bruno Haible  <bruno@clisp.org>
56430
56431         Fix the Win32 implementation of the 'thread' module.
56432         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
56433         pointer type.
56434         (gl_thread_self): Invoke gl_thread_self_func.
56435         (gl_thread_self_func): New declaration.
56436         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
56437         (do_init_self_key, init_self_key): New functions.
56438         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
56439         Remove some fields.
56440         (running_threads, running_lock): Remove variables.
56441         (get_current_thread_handle): New function.
56442         (gl_thread_self_func, wrapper_func, glthread_create_func,
56443         glthread_join_func, gl_thread_exit_func): Largely rewritten and
56444         simplified.
56445
56446 2008-09-30  Bruno Haible  <bruno@clisp.org>
56447
56448         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
56449         files.
56450
56451 2008-09-30  Jim Meyering  <meyering@redhat.com>
56452
56453         fts.m4: correct the test for statfs.f_type
56454         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
56455         when checking for statfs.f_type.
56456
56457 2008-09-15  Simon Josefsson  <simon@josefsson.org>
56458
56459         tests: avoid some compiler warnings
56460         * tests/test-memchr.c (main): Pass NULL indirectly.
56461         * tests/test-getdate.c (main): Remove unused variable 'ret'.
56462
56463 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
56464
56465         getdate.y: disallow countable dayshifts like "4 yesterday ago"
56466         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
56467         exactly specified dayshifts.
56468         (dayshift): New rule.
56469         (rel): Add dayshift.
56470         (relative_time_table) [tomorrow, yesterday, today, now]:
56471         Use tDAY_SHIFT in place of tDAY_UNIT.
56472         * tests/test-getdate.c: Add tests for now-disallowed countable
56473         dayshifts, e.g., "4 yesterday ago".
56474
56475 2008-09-29  Bruno Haible  <bruno@clisp.org>
56476
56477         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
56478         * tests/test-posix_spawn1.in.sh: Renamed from
56479         tests/test-posix_spawn.in.sh.
56480         * tests/test-posix_spawn2.c: New file.
56481         * tests/test-posix_spawn2.in.sh: New file.
56482         * modules/posix_spawnp-tests (Files): Update.
56483         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
56484
56485 2008-09-29  Bruno Haible  <bruno@clisp.org>
56486
56487         Propagate effects of putenv/setenv/unsetenv to child processes.
56488         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
56489         * lib/pipe.c (create_pipe): Likewise.
56490
56491 2008-09-29  Bruno Haible  <bruno@clisp.org>
56492
56493         Enable use of shell scripts as executables in mingw.
56494         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
56495         run the program as a shell script.
56496         * lib/pipe.c (create_pipe): Likewise.
56497         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
56498         resulting array.
56499
56500 2008-09-29  Eric Blake  <ebb9@byu.net>
56501
56502         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
56503
56504 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
56505
56506         * doc/posix-functions/accept.texi: Update mingw problems.
56507         * doc/posix-functions/bind.texi: Update mingw problems.
56508         * doc/posix-functions/close.texi: Update mingw problems.
56509         * doc/posix-functions/connect.texi: Update mingw problems.
56510         * doc/posix-functions/getpeername.texi: Update mingw problems.
56511         * doc/posix-functions/getsockname.texi: Update mingw problems.
56512         * doc/posix-functions/getsockopt.texi: Update mingw problems.
56513         * doc/posix-functions/ioctl.texi: Update mingw problems.
56514         * doc/posix-functions/listen.texi: Update mingw problems.
56515         * doc/posix-functions/recv.texi: Update mingw problems.
56516         * doc/posix-functions/recvfrom.texi: Update mingw problems.
56517         * doc/posix-functions/select.texi: Update mingw problems.
56518         * doc/posix-functions/send.texi: Update mingw problems.
56519         * doc/posix-functions/sendto.texi: Update mingw problems.
56520         * doc/posix-functions/setsockopt.texi: Update mingw problems.
56521         * doc/posix-functions/socket.texi: Update mingw problems.
56522
56523 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
56524             Bruno Haible  <bruno@clisp.org>
56525
56526         * lib/sys_select.in.h: Include sys/time.h.
56527         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
56528         * modules/sys_select: Depend on sys_time.
56529         * tests/test-sys_select.c: Test that sys/select.h defines struct
56530         timeval fully.
56531
56532 2008-09-29  Bruno Haible  <bruno@clisp.org>
56533
56534         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
56535         * lib/sys_select.in.h: Likewise.
56536
56537 2008-09-29  Bruno Haible  <bruno@clisp.org>
56538
56539         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
56540
56541 2008-09-29  Bruno Haible  <bruno@clisp.org>
56542
56543         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
56544         Set LIBSOCKET instead of augmenting LIBS.
56545         * modules/sockets (Link): New section.
56546         * modules/sockets-tests (test_sockets_LDADD): New variable.
56547         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
56548         * modules/poll-tests (test_poll_LDADD): New variable.
56549         * NEWS: Document the change.
56550
56551 2008-09-29  Bruno Haible  <bruno@clisp.org>
56552
56553         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
56554         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
56555         ARPA_INET_H directly.
56556         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56557
56558 2008-09-28  Bruno Haible  <bruno@clisp.org>
56559
56560         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
56561         from gl_HEADER_SYS_SOCKET.
56562         (gl_HEADER_SYS_SOCKET): Invoke it.
56563         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56564
56565 2008-09-28  Bruno Haible  <bruno@clisp.org>
56566
56567         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
56568         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
56569         Needed on OSF/1 4.0.
56570
56571 2008-09-28  Bruno Haible  <bruno@clisp.org>
56572
56573         Override open more carefully.
56574         * lib/open.c (orig_open): New function.
56575         (rpl_open): Use orig_open instead of open.
56576         * lib/fcntl.in.h: Add special invocation convention.
56577         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
56578         (gl_FUNC_OPEN): Invoke it.
56579
56580         Override freopen more carefully.
56581         * lib/freopen.c (orig_freopen): New function.
56582         (rpl_freopen): Use orig_freopen instead of freopen.
56583         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
56584         (gl_FUNC_FREOPEN): Invoke it.
56585
56586         Override fopen more carefully.
56587         * lib/fopen.c (orig_fopen): New function.
56588         (rpl_fopen): Use orig_fopen instead of fopen.
56589         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
56590         (gl_FUNC_FOPEN): Invoke it.
56591         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
56592
56593 2008-09-28  Bruno Haible  <bruno@clisp.org>
56594
56595         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
56596         SIGPIPE.
56597
56598 2008-09-28  Bruno Haible  <bruno@clisp.org>
56599
56600         * tests/test-sigaction.c (handler, main): Disable the check whether
56601         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
56602         glibc systems with LinuxThreads.
56603
56604 2008-09-28  Bruno Haible  <bruno@clisp.org>
56605
56606         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
56607
56608         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
56609         with AIX xlc.
56610         * lib/fcntl.in.h (open): Likewise.
56611         Reported by Rainer Tammer <tammer@tammer.net>.
56612
56613 2008-09-28  Bruno Haible  <bruno@clisp.org>
56614
56615         * modules/posix_spawnp-tests: New file.
56616         * tests/test-posix_spawn.c: New file.
56617         * tests/test-posix_spawn.in.sh: New file.
56618
56619         New module 'posix_spawnp'.
56620         * modules/posix_spawnp: New file.
56621         * lib/spawnp.c: New file, from GNU libc with modifications.
56622         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
56623
56624         New module 'posix_spawn'.
56625         * modules/posix_spawn: New file.
56626         * lib/spawn.c: New file, from GNU libc with modifications.
56627         * doc/posix-functions/posix_spawn.texi: Mention the new module.
56628
56629         New module 'posix_spawnattr_destroy'.
56630         * modules/posix_spawnattr_destroy: New file.
56631         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
56632         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
56633         module.
56634
56635         New module 'posix_spawnattr_setsigmask'.
56636         * modules/posix_spawnattr_setsigmask: New file.
56637         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
56638         modifications.
56639         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
56640         new module.
56641
56642         New module 'posix_spawnattr_getsigmask'.
56643         * modules/posix_spawnattr_getsigmask: New file.
56644         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
56645         modifications.
56646         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
56647         new module.
56648
56649         New module 'posix_spawnattr_setsigdefault'.
56650         * modules/posix_spawnattr_setsigdefault: New file.
56651         * lib/spawnattr_setdefault.c: New file, from GNU libc with
56652         modifications.
56653         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
56654         new module.
56655
56656         New module 'posix_spawnattr_getsigdefault'.
56657         * modules/posix_spawnattr_getsigdefault: New file.
56658         * lib/spawnattr_getdefault.c: New file, from GNU libc with
56659         modifications.
56660         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
56661         new module.
56662
56663         New module 'posix_spawnattr_setschedpolicy'.
56664         * modules/posix_spawnattr_setschedpolicy: New file.
56665         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
56666         modifications.
56667         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
56668         new module.
56669
56670         New module 'posix_spawnattr_getschedpolicy'.
56671         * modules/posix_spawnattr_getschedpolicy: New file.
56672         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
56673         modifications.
56674         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
56675         new module.
56676
56677         New module 'posix_spawnattr_setschedparam'.
56678         * modules/posix_spawnattr_setschedparam: New file.
56679         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
56680         modifications.
56681         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
56682         new module.
56683
56684         New module 'posix_spawnattr_getschedparam'.
56685         * modules/posix_spawnattr_getschedparam: New file.
56686         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
56687         modifications.
56688         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
56689         new module.
56690
56691         New module 'posix_spawnattr_setpgroup'.
56692         * modules/posix_spawnattr_setpgroup: New file.
56693         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
56694         modifications.
56695         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
56696         module.
56697
56698         New module 'posix_spawnattr_getpgroup'.
56699         * modules/posix_spawnattr_getpgroup: New file.
56700         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
56701         modifications.
56702         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
56703         module.
56704
56705         New module 'posix_spawnattr_setflags'.
56706         * modules/posix_spawnattr_setflags: New file.
56707         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
56708         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
56709         module.
56710
56711         New module 'posix_spawnattr_getflags'.
56712         * modules/posix_spawnattr_getflags: New file.
56713         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
56714         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
56715         module.
56716
56717         New module 'posix_spawnattr_init'.
56718         * modules/posix_spawnattr_init: New file.
56719         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
56720         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
56721         module.
56722
56723         New module 'posix_spawn_file_actions_destroy'.
56724         * modules/posix_spawn_file_actions_destroy: New file.
56725         * lib/spawn_faction_destroy.c: New file, from GNU libc with
56726         modifications.
56727         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
56728         the new module.
56729
56730         New module 'posix_spawn_file_actions_addopen'.
56731         * modules/posix_spawn_file_actions_addopen: New file.
56732         * lib/spawn_faction_addopen.c: New file, from GNU libc with
56733         modifications.
56734         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
56735         the new module.
56736
56737         New module 'posix_spawn_file_actions_adddup2'.
56738         * modules/posix_spawn_file_actions_adddup2: New file.
56739         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
56740         modifications.
56741         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
56742         the new module.
56743
56744         New module 'posix_spawn_file_actions_addclose'.
56745         * modules/posix_spawn_file_actions_addclose: New file.
56746         * lib/spawn_faction_addclose.c: New file, from GNU libc with
56747         modifications.
56748         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
56749         the new module.
56750
56751         New module 'posix_spawn_file_actions_init'.
56752         * modules/posix_spawn_file_actions_init: New file.
56753         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
56754         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
56755         new module.
56756
56757         New module 'posix_spawn-internal'.
56758         * modules/posix_spawn-internal: New file.
56759         * lib/spawn_int.h: New file, from GNU libc with modifications.
56760         * lib/spawni.c: New file, from GNU libc with modifications.
56761         * m4/posix_spawn.m4: New file.
56762
56763         New module 'spawn'.
56764         * modules/spawn: New file.
56765         * lib/spawn.in.h: New file, from GNU libc with modifications.
56766         * m4/spawn_h.m4: New file.
56767         * doc/posix-headers/spawn.texi: Mention the new module.
56768
56769 2008-09-28  Bruno Haible  <bruno@clisp.org>
56770
56771         * modules/sched-tests: New file.
56772         * tests/test-sched.c: New file.
56773
56774         New module 'sched'.
56775         * modules/sched: New file.
56776         * lib/sched.in.h: New file.
56777         * m4/sched_h.m4: New file.
56778         * doc/posix-headers/sched.texi: Mention the new module.
56779
56780 2008-09-27  Eric Blake  <ebb9@byu.net>
56781
56782         Fix previous patch, and tweak references to $0.
56783         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
56784         (func_version, func_gnulib_dir): Don't call this program
56785         gnulib-tool.
56786         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
56787         with using $0 in function.
56788         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
56789         (func_fatal_error): Reuse the name the user invoked us with.
56790
56791 2008-09-27  Bruno Haible  <bruno@clisp.org>
56792
56793         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
56794         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
56795         (gl_ICONV_H): Not here.
56796         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
56797         instead of assigning ICONV_H directly.
56798
56799         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
56800         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
56801         WCHAR_H directly.
56802
56803 2008-09-27  Bruno Haible  <bruno@clisp.org>
56804
56805         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
56806         * modules/arpa_inet (Depends-on): Add link-warning.
56807         (Makefile.am): Insert the definition of GL_LINK-WARNING.
56808         * modules/unistd (Makefile.am): Likewise.
56809
56810 2008-09-26  Bruno Haible  <bruno@clisp.org>
56811
56812         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
56813         variables.
56814         (func_version): Essentially copied from gnulib-tool.
56815         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
56816         func_readlink): Copied from gnulib-tool.
56817
56818 2008-09-26  Bruno Haible  <bruno@clisp.org>
56819
56820         * gnulib-tool (func_version): Change directory to $gnulib_dir before
56821         invoking git-version-gen.
56822
56823 2008-09-26  Bruno Haible  <bruno@clisp.org>
56824
56825         * posix-modules: Update to directory names changed on 2008-01-19.
56826         Remove commas in output before splitting into words. No more need to
56827         avoid 'ftruncate' since 2007-02-19.
56828
56829 2008-09-26  Bruno Haible  <bruno@clisp.org>
56830
56831         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
56832
56833 2008-09-26  Bruno Haible  <bruno@clisp.org>
56834
56835         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
56836         * modules/fwriteerror (Depends-on): Add errno.
56837
56838 2008-09-26  Bruno Haible  <bruno@clisp.org>
56839
56840         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
56841         * tests/test-vc-list-files-cvs.sh: Likewise.
56842
56843 2008-09-26  Bruno Haible  <bruno@clisp.org>
56844
56845         * doc/posix-headers/sys_resource.texi: Reorder items.
56846
56847 2008-09-26  Jim Meyering  <meyering@redhat.com>
56848
56849         fts: tweak inode comparison function
56850         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
56851         inode numbers, as documented.
56852
56853         fts: sort dirent entries on inode number before traversing
56854         This avoids a quadratic, seek-related performance penalty when
56855         operating on a directory containing many entries (measurable at 10k;
56856         3.5 hours at 2 million entries with a cold cache) on certain types
56857         of file systems, including ext3 and ext4, but not tmpfs.
56858         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
56859         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
56860         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
56861         (fs_handles_readdir_ordered_dirents_efficiently): New function.
56862         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
56863         (fts_build): Set the stat.st_ino member from D_INO.
56864         If it is likely to be useful, sort dirent entries on inode number.
56865
56866         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
56867         and the struct statfs.f_type member.
56868         * modules/fts (Depends-on): Add d-ino.
56869
56870 2008-09-26  Bruno Haible  <bruno@clisp.org>
56871
56872         * modules/sigpipe-die (Depends-on): Add sigpipe.
56873
56874         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
56875         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
56876         and GNULIB_STDIO_H_SIGPIPE are set.
56877         * lib/stdio-write.c: New file.
56878         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
56879         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56880         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56881         REPLACE_STDIO_WRITE_FUNCS.
56882         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
56883         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56884         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56885         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56886         * modules/stdio (Files): Add lib/stdio-write.c.
56887         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
56888         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56889         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56890         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56891         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
56892         REPLACE_FPRINTF_POSIX.
56893         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
56894         REPLACE_PRINTF_POSIX.
56895         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
56896         REPLACE_VFPRINTF_POSIX.
56897         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
56898         REPLACE_VPRINTF_POSIX.
56899         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
56900         SIGPIPE issue.
56901         * doc/posix-functions/fputc.texi: Likewise.
56902         * doc/posix-functions/fputs.texi: Likewise.
56903         * doc/posix-functions/fwrite.texi: Likewise.
56904         * doc/posix-functions/printf.texi: Likewise.
56905         * doc/posix-functions/putc.texi: Likewise.
56906         * doc/posix-functions/putchar.texi: Likewise.
56907         * doc/posix-functions/puts.texi: Likewise.
56908         * doc/posix-functions/vfprintf.texi: Likewise.
56909         * doc/posix-functions/vprintf.texi: Likewise.
56910
56911         * modules/safe-write (Depends-on): Add write.
56912
56913         * modules/sigpipe-tests: New file.
56914         * tests/test-sigpipe.c: New file.
56915         * tests/test-sigpipe.sh: New file.
56916
56917         * modules/write: New file.
56918         * lib/unistd.in.h: Include <sys/types.h>.
56919         (write): New declaration.
56920         * lib/write.c: New file.
56921         * m4/write.m4: New file.
56922         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56923         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
56924         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
56925         GNULIB_WRITE, REPLACE_WRITE.
56926         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
56927         and the SIGPIPE issue.
56928
56929         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
56930         (raise): New declaration.
56931         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
56932         (ext_signal): New function.
56933         (rpl_raise): New function.
56934         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
56935         GNULIB_SIGNAL_H_SIGPIPE.
56936         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
56937         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
56938
56939         * modules/sigpipe: New file.
56940         * m4/sigpipe.m4: New file.
56941
56942 2008-09-25  Derek Price  <derek@ximbiot.com>
56943             Bruno Haible  <bruno@clisp.org>
56944
56945         * gnulib-tool (func_import): Report all license incompatibilities, not
56946         just the first one.
56947
56948 2008-09-25  Bruno Haible  <bruno@clisp.org>
56949
56950         * gnulib-tool (func_import): When computing the edits, consider not
56951         only the Makefile.ams that exist but also those that will be generated.
56952
56953 2008-09-25  Simon Josefsson  <simon@josefsson.org>
56954
56955         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
56956         fixes gnulib-tool --test warning about duplicate dependency.
56957
56958 2008-09-25  Bruno Haible  <bruno@clisp.org>
56959
56960         * gnulib-tool: Don't ask the user to perform edits in the generated
56961         Makefile.ams.
56962         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
56963         apply to the Makefile.am being generated.
56964         (func_emit_tests_Makefile_am): Execute edits that apply to the
56965         Makefile.am being generated.
56966         (func_import): Setup list of Makefile.am edits before emitting the
56967         Makefile.ams, not at the end.
56968         (func_create_testdir): Update.
56969         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56970
56971 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56972
56973         * gnulib-tool (func_import): Store the --tests-base option in the
56974         comment in gnulib-cache.m4.
56975
56976 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
56977
56978         * NEWS: Document increased portability that sys_select now provides.
56979
56980         * lib/sys_select.in.h: Install select wrapper.
56981         * lib/sys_socket.in.h: Use more descriptive name when there is no
56982         select wrapper.
56983         * lib/winsock-select.c: New.
56984         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
56985         Require gl_HEADER_SYS_SOCKET.
56986         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
56987         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
56988         * tests/test-sys_select.c: Add functional tests.
56989
56990 2008-09-24  Eric Blake  <ebb9@byu.net>
56991
56992         open, fopen: close fd leak in last patch
56993         * lib/open.c (rpl_open): Close fd before returning error.
56994         * lib/fopen.c (rpl_fopen): Close fd before returning error.
56995         * doc/posix-functions/open.texi (open): Document that Irix also
56996         has the bug.
56997         * doc/posix-functions/fopen.texi (fopen): Likewise.
56998         Reported by Paolo Bonzini.
56999
57000 2008-09-24  Bruno Haible  <bruno@clisp.org>
57001
57002         Ensure that a filename ending in a slash cannot be used to access a
57003         non-directory.
57004         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
57005         to check whether it's really a directory.
57006         * lib/fopen.c: Include fcntl.h, unistd.h.
57007         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
57008         and fdopen().
57009         * modules/fopen (Depends-on): Add unistd.
57010         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
57011         * tests/test-fopen.c (main): Likewise.
57012         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
57013         * doc/posix-functions/fopen.texi: Likewise.
57014         Reported by Eric Blake.
57015
57016 2008-09-23  Eric Blake  <ebb9@byu.net>
57017
57018         c-stack: avoid compiler optimizations when provoking overflow
57019         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
57020         recursion harder to optimize, to ensure a stack overflow occurs.
57021         * tests/test-c-stack.c (recurse): Likewise.
57022         Borrowed from libsigsegv.
57023
57024         c-stack: work around Irix sigaltstack bug
57025         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
57026         whether sigaltstack uses wrong end of stack_t (copied in part from
57027         libsigsegv).
57028         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
57029         Irix bug, without requiring an over-allocation.
57030         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
57031         bug.
57032
57033         fopen: document mingw bug on directories
57034         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
57035         not allowing a stream visiting a directory, even though reading
57036         from such a stream is not portable.
57037
57038 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
57039
57040         * lib/poll.c: Rewrite.
57041         * modules/poll: Depend on alloca.
57042
57043 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
57044
57045         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
57046         instead define prototypes for a full set of wrappers.  Ensure
57047         that Cygwin does not use the compatibility code, which is only
57048         for MinGW.
57049         * lib/winsock.c: New.
57050         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
57051         * modules/sys_socket: Add lib/winsock.c.
57052
57053         * modules/poll-tests: Add errno and perror.
57054         * tests/test-poll.c: Use ioctl, not ioctlsocket.
57055
57056 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
57057
57058         * tests/test-poll.c: Downgrade minimum needed Winsock version.
57059
57060 2008-09-23  Bruno Haible  <bruno@clisp.org>
57061
57062         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
57063         * doc/glibc-functions/*: Likewise.
57064
57065 2008-09-23  Simon Josefsson  <simon@josefsson.org>
57066
57067         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
57068         success.
57069
57070 2008-09-22  Eric Blake  <ebb9@byu.net>
57071             Bruno Haible  <bruno@clisp.org>
57072
57073         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
57074         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
57075         supply %A but mishandle pseudo-NaN.
57076         Reported by Simon Josefsson.
57077
57078 2008-09-21  Bruno Haible  <bruno@clisp.org>
57079
57080         * tests/test-lock.c (main): Tweak skip message.
57081         * tests/test-tls.c (main): Likewise.
57082
57083 2008-09-21  Bruno Haible  <bruno@clisp.org>
57084
57085         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
57086         whether 'struct sigaction' has sa_sigaction here...
57087         (gl_PREREQ_SIG_HANDLER_H): ... not here.
57088         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
57089
57090 2008-09-21  Bruno Haible  <bruno@clisp.org>
57091
57092         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
57093         section.
57094         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
57095         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
57096         the new section.
57097         (Support for obsolete systems lacking POSIX:2001): New section.
57098         (String handling <string.h>): Move strdup to the new section.
57099         Suggested by Simon Josefsson and Paolo Bonzini.
57100
57101 2008-09-21  Bruno Haible  <bruno@clisp.org>
57102
57103         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
57104         exponents in %e and %g results on 'long double'. Needed for mingw's
57105         improved *printf functions.
57106         * tests/test-vasprintf-posix.c (test_function): Likewise.
57107         * tests/test-snprintf-posix.h (test_function): Likewise.
57108         * tests/test-sprintf-posix.h (test_function): Likewise.
57109         Reported by Eric Blake.
57110
57111 2008-09-21  Bruno Haible  <bruno@clisp.org>
57112
57113         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
57114         * tests/test-sprintf-posix.h (test_function): Likewise.
57115
57116 2008-09-21  Bruno Haible  <bruno@clisp.org>
57117
57118         * modules/getpass (Depends-on): Add strdup-posix.
57119
57120         New module 'strdup-posix'.
57121         * modules/strdup-posix: New file.
57122         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
57123         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
57124         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
57125         REPLACE_STRDUP.
57126         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
57127         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
57128         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57129         strdup-posix.
57130
57131         * modules/strdup (Depends-on): Remove malloc-posix.
57132
57133 2008-09-20  Bruno Haible  <bruno@clisp.org>
57134
57135         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
57136         Wildenhues.
57137
57138 2008-09-20  Bruno Haible  <bruno@clisp.org>
57139
57140         Ensure that wint_t gets defined on IRIX 5.3.
57141         * lib/wchar.in.h (wint_t): Define if not defined by the system.
57142         * lib/wctype.in.h (wint_t): Likewise.
57143         (__wctype_wint_t): Remove type.
57144         (isw*): Use wint_t instead of __wctype_wint_t.
57145         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
57146         * modules/wchar (Files): Add m4/wint_t.m4.
57147         (Makefile.am): Substitute HAVE_WINT_T.
57148         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
57149         * tests/test-wctype.c: Check that wint_t is defined.
57150         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
57151         * doc/posix-headers/wctype.texi: Likewise.
57152         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
57153
57154 2008-09-18  Bruno Haible  <bruno@clisp.org>
57155
57156         * gnulib-tool (func_exit): Update comment.
57157
57158 2008-09-18  Simon Josefsson  <simon@josefsson.org>
57159
57160         * modules/getaddrinfo (Depends-on): Remove strdup, this module
57161         assumes strdup exists and does not depend on strdup to return
57162         ENOMEM on out of memory conditions.
57163
57164 2008-09-18  Bruno Haible  <bruno@clisp.org>
57165
57166         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
57167         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
57168         digits for the exponent.
57169
57170 2008-09-18  Jim Meyering  <meyering@redhat.com>
57171             Bruno Haible  <bruno@clisp.org>
57172
57173         * lib/vasnprintf.c (decimal_point_char): Define also if
57174         NEED_PRINTF_INFINITE_LONG_DOUBLE.
57175
57176 2008-09-16  Bruno Haible  <bruno@clisp.org>
57177         and Eric Blake  <ebb9@byu.net>
57178
57179         vasnprintf: support Irix 5.3
57180         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
57181         that mishandle long double infinity.
57182         Reported by Tom G. Christensen.
57183
57184 2008-09-16  Bruno Haible  <bruno@clisp.org>
57185
57186         * doc/glibc-functions/scandir.texi: Mention the function is missing on
57187         Solaris 9.
57188         * doc/glibc-functions/alphasort.texi: Likewise.
57189         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
57190
57191 2008-09-16  Jim Meyering  <meyering@redhat.com>
57192
57193         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
57194         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
57195         a umask modification leak out of a subshell.  Otherwise, the
57196         opensolaris /bin/sh would be accepted and thus cause unwarranted
57197         failures in the coreutils test suite.
57198
57199 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
57200
57201         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
57202         to succeed.
57203
57204 2008-09-16  Jim Meyering  <meyering@redhat.com>
57205
57206         avoid spurious test failure when library is built without ACL support
57207         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
57208         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
57209         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
57210         * tests/test-copy-acl.sh: Likewise.
57211
57212 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57213
57214         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
57215         based on character occurrence counts.
57216
57217 2008-09-15  Eric Blake  <ebb9@byu.net>
57218
57219         tests: avoid some compiler warnings
57220         * tests/test-memchr.c (main): Pass NULL indirectly.
57221         * tests/test-closein.c (main): Avoid unused variable.
57222
57223 2008-09-15  Bruno Haible  <bruno@clisp.org>
57224
57225         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
57226         are missing on OpenBSD 4.0 individually.
57227         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57228
57229 2008-09-15  Bruno Haible  <bruno@clisp.org>
57230
57231         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
57232         * doc/posix-functions/strerror.texi: Mention also Cygwin.
57233         * doc/posix-functions/perror.texi: Likewise.
57234         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
57235         is missing.
57236         Reported by Eric Blake.
57237
57238         * lib/errno.in.h: Use replacement values >= 2000.
57239         Reported by Eric Blake.
57240
57241 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57242
57243         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
57244         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
57245         limit.
57246         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
57247         compareseq was aborted.
57248
57249 2008-09-14  Bruno Haible  <bruno@clisp.org>
57250
57251         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
57252         yvec_edit_count.
57253         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
57254         (fstrcmp_bounded): Simplify result computation accordingly.
57255
57256 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57257
57258         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
57259         (fstrcmp): Define in terms of fstrcmp_bounded.
57260         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
57261         lower_bound argument.
57262         Return quickly if the result is certainly < lower_bound.
57263         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
57264
57265 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57266
57267         * lib/diffseq.h (EARLY_ABORT): New macro.
57268         (compareseq): Change return type to bool. Return true when EARLY_ABORT
57269         evaluates to true.
57270
57271 2008-09-14  Bruno Haible  <bruno@clisp.org>
57272
57273         * modules/perror-tests: New file.
57274         * tests/test-perror.sh: New file.
57275         * tests/test-perror.c: New file.
57276
57277         New module 'perror'.
57278         * lib/stdio.in.h (perror): New declaration.
57279         * lib/perror.c: New file.
57280         * m4/perror.m4: New file.
57281         * modules/perror: New file.
57282         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
57283         * doc/posix-functions/perror.texi: Mention the perror module.
57284         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
57285         REPLACE_PERROR.
57286         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
57287         REPLACE_PERROR.
57288
57289 2008-09-14  Bruno Haible  <bruno@clisp.org>
57290
57291         * modules/stdio (Makefile.am): Reorder to match the order in
57292         lib/stdio.in.h.
57293         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
57294
57295 2008-09-13  Bruno Haible  <bruno@clisp.org>
57296
57297         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
57298
57299 2008-09-13  Bruno Haible  <bruno@clisp.org>
57300
57301         Extend strerror to cover the added errno values.
57302         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
57303         (rpl_strerror): Provide error messages for the added errno values and
57304         for the WSA* values.
57305         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
57306         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
57307         strerror.
57308         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
57309         * modules/strerror (Depends-on): Add errno.
57310         * doc/posix-functions/strerror.texi: Document the change.
57311         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
57312         and EOVERFLOW.
57313
57314 2008-09-13  Bruno Haible  <bruno@clisp.org>
57315
57316         * modules/EOVERFLOW: Remove file.
57317         * m4/eoverflow.m4: Remove file.
57318         * modules/EOVERFLOW-tests: Remove file.
57319         * tests/test-EOVERFLOW.c: Remove file.
57320         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
57321         * modules/ftell (Depends-on): Likewise.
57322         * modules/getdelim (Depends-on): Likewise.
57323         * modules/getugroups (Depends-on): Likewise.
57324         * modules/poll (Depends-on): Likewise.
57325         * modules/snprintf (Depends-on): Likewise.
57326         * modules/sprintf-posix (Depends-on): Likewise.
57327         * modules/vasnprintf (Depends-on): Likewise.
57328         * modules/vasprintf (Depends-on): Likewise.
57329         * modules/vfprintf-posix (Depends-on): Likewise.
57330         * modules/vsnprintf (Depends-on): Likewise.
57331         * modules/vsprintf-posix (Depends-on): Likewise.
57332         * modules/xvasprintf (Depends-on): Likewise.
57333         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57334         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
57335         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
57336         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
57337         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57338         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
57339         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
57340         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
57341         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57342         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
57343         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
57344         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
57345         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57346         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
57347         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
57348         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
57349         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57350         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
57351         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
57352         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
57353         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57354         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
57355         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
57356         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
57357         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
57358         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57359         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
57360         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
57361         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
57362         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
57363         * MODULES.html.sh: Remove EOVERFLOW.
57364         * NEWS: Mention the change.
57365
57366 2008-09-13  Bruno Haible  <bruno@clisp.org>
57367
57368         * modules/errno-tests: New file.
57369         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
57370
57371         * lib/errno.in.h: New file.
57372         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
57373         * modules/errno: New file.
57374         * doc/posix-headers/errno.texi: Update documentation.
57375         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
57376
57377 2008-09-13  Bruno Haible  <bruno@clisp.org>
57378
57379         * tests/test-poll.c: Use #if for native Windows, rather than testing
57380         __MSVCRT__.
57381
57382 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57383             Bruno Haible  <bruno@clisp.org>
57384
57385         * lib/glob.c: Don't include <pwd.h> on native Windows.
57386         (WINDOWS32): New macro.
57387         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
57388
57389 2008-09-13  Bruno Haible  <bruno@clisp.org>
57390
57391         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
57392         (ETIMEDOUT): Remove macro.
57393         (glthread_cond_timedwait_multithreaded): New declaration.
57394         (glthread_cond_timedwait): Use it.
57395         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
57396         (glthread_cond_timedwait_multithreaded): New function.
57397
57398 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57399
57400         * modules/poll-tests: Do not check for io.h.
57401         * tests/test-poll.c: Check for __MSVCRT__ instead.
57402
57403 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57404
57405         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
57406         * modules/poll-tests: Add inet_pton, stdbool, sockets.
57407         * tests/test-poll.c: Use them.  Use _pipe on Windows.
57408
57409 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57410
57411         * modules/poll-tests: New.
57412         * tests/test-poll.c: New.
57413
57414 2008-09-12  Eric Blake  <ebb9@byu.net>
57415
57416         frexp: test for NetBSD failure on -0.0
57417         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
57418         not all, bugs from NetBSD 3.0 have been fixed.
57419         * doc/posix-functions/frexp.texi (frexp): Document bug.
57420         Reported by Thomas Klausner.
57421
57422         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
57423         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
57424         literal -0.0.
57425         Reported by Jonathan C. Patschke <jp@centtech.com>.
57426
57427 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57428
57429         * lib/glthread/cond.h: Use dummy implementation also if
57430         USE_WIN32_THREADS.
57431
57432 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57433
57434         * modules/fnmatch-posix (License): Change to LGPLv2+.
57435         * modules/fnmatch-gnu (License): Likewise.
57436
57437 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57438
57439         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
57440
57441 2008-09-11  Jim Meyering  <meyering@redhat.com>
57442
57443         * users.txt: Add gtk-vnc.
57444
57445 2008-09-08  Simon Josefsson  <simon@josefsson.org>
57446
57447         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
57448         rotate amounts.
57449
57450         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
57451         required for 16-bit and 8-bit rotates.
57452         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
57453         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
57454         UINT8_MAX instead of hard-coded constants.
57455         Suggested by Paul Eggert.
57456
57457 2008-09-07  Bruno Haible  <bruno@clisp.org>
57458
57459         * tests/test-striconveh.c (main): Check behaviour when converting from
57460         UTF-7.
57461
57462         Make striconveh work better with stateful encodings.
57463         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
57464         that iconv does not increment the inptr when returning -1/EINVAL.
57465
57466 2008-09-07  Bruno Haible  <bruno@clisp.org>
57467
57468         * build-aux/config.rpath: Update according to libtool-2.2.6.
57469         * build-aux/config.libpath: Likewise.
57470
57471 2008-09-06  Bruno Haible  <bruno@clisp.org>
57472
57473         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
57474         * lib/freadptr.c (freadptr): Likewise.
57475         * lib/freadseek.c (freadptrinc): Likewise.
57476         Reported by Simon Josefsson.
57477
57478 2008-09-06  Bruno Haible  <bruno@clisp.org>
57479
57480         * modules/freadptr (License): Change to LGPLv2+.
57481         * modules/freadseek (License): Likewise.
57482         Suggested by Eric Blake.
57483
57484         * modules/memchr2 (License): Change to LGPLv2+.
57485         Approved by Eric Blake.
57486
57487 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57488             Bruno Haible  <bruno@clisp.org>
57489
57490         Make gnulib-tool work with native 'sed' on AIX.
57491         * gnulib-tool (sed_noop): New variable.
57492         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
57493         func_add_or_update, func_create_testdir): Use it to initialize sed
57494         script variables.
57495         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57496
57497 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
57498             Bruno Haible  <bruno@clisp.org>
57499
57500         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
57501         also works after #include directives.
57502
57503 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
57504
57505         getdate.y: reject an out-of-range timezone value
57506         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
57507         the range [-24...+24].  When specified with only one or two digits,
57508         * tests/test-getdate.c: Tests for the fix.
57509         * doc/getdate.texi: Document this change.
57510
57511 2008-09-03  Bruno Haible  <bruno@clisp.org>
57512
57513         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
57514
57515 2008-09-02  Simon Josefsson  <simon@josefsson.org>
57516
57517         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
57518         <bruce.korb@gmail.com> with ideas from Ben Pfaff
57519         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
57520         Blake <ebb9@byu.net>.
57521
57522         * tests/test-bitrotate.c: Add more test vectors.
57523
57524 2008-09-02  Eric Blake  <ebb9@byu.net>
57525
57526         vasnprintf-posix: handle large precision via %.*d
57527         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
57528         when handling it ourselves.
57529         * tests/test-vasnprintf-posix.c (test_function): Add test.
57530         * tests/test-snprintf-posix.h (test_function): Likewise.
57531         * tests/test-sprintf-posix.h (test_function): Likewise.
57532         * tests/test-vasprintf-posix.c (test_function): Likewise.
57533         Reported by Alain Guibert.
57534
57535 2008-09-01  Eric Blake  <ebb9@byu.net>
57536
57537         c-stack: make configure-time check more robust
57538         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
57539         successful sigaction call.
57540         Reported by Tom G. Christensen.
57541
57542 2008-09-01  Bruno Haible  <bruno@clisp.org>
57543
57544         New module 'findprog-lgpl'.
57545         * modules/findprog-lgpl: New file.
57546         * lib/findprog-lgpl.c: New file.
57547         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
57548         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
57549         to decide whether to use strdup or xstrdup, concatenated_filename or
57550         xconcatenated_filename.
57551
57552 2008-09-01  Bruno Haible  <bruno@clisp.org>
57553
57554         Split module 'concat-filename' into 'concat-filename' (LGPL) and
57555         'xconcat-filename' (GPL).
57556         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
57557         (License): Change to LGPLv2+.
57558         * modules/xconcat-filename: New file.
57559         * lib/concat-filename.h (concatenated_filename): Change specification.
57560         (xconcatenated_filename): New declaration.
57561         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
57562         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
57563         memory situations.
57564         * lib/xconcat-filename.c: New file.
57565         * NEWS: Mention the change.
57566         * lib/findprog.c: Include concat-filename.h, not filename.h.
57567         (find_in_path): Use xconcatenated_filename instead of
57568         concatenated_filename.
57569         * lib/javacomp.c: Include concat-filename.h, not filename.h.
57570         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
57571         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
57572         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
57573         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
57574         instead of concatenated_filename.
57575         * lib/javaexec.c: Include concat-filename.h, not filename.h.
57576         (execute_java_class): Use xconcatenated_filename instead of
57577         concatenated_filename.
57578         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
57579         * modules/javacomp (Depends-on): Likewise.
57580         * modules/javaexec (Depends-on): Likewise.
57581
57582 2008-09-01  Bruno Haible  <bruno@clisp.org>
57583
57584         Split module 'filename' into 'filename' and 'concat-filename'.
57585         * modules/filename: Keep only lib/filename.h.
57586         (License): Change to LGPLv2+.
57587         * modules/concat-filename: New file, extracted from modules/filename.
57588         * lib/filename.h (concatenated_filename): Remove declaration.
57589         * lib/concat-filename.h: New file, extracted from lib/filename.h.
57590         * lib/concat-filename.c: Include concat-filename.h.
57591         * NEWS: Mention the change.
57592
57593 2008-09-01  Simon Josefsson  <simon@josefsson.org>
57594
57595         * lib/bitrotate.h (rotl8, rotr8): Add.
57596
57597         * modules/bitrotate (configure.ac): Need
57598         AC_REQUIRE([AC_C_INLINE]).
57599         (Description): Mention stdint.h.  Reported by Bruno Haible
57600         <bruno@clisp.org>.
57601
57602         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
57603         Paolo Bonzini <bonzini@gnu.org>.
57604
57605 2008-08-31  Bruno Haible  <bruno@clisp.org>
57606
57607         Assume Solaris specific bi-arch conventions on Solaris systems.
57608         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
57609         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
57610         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
57611         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
57612         like acl_libdirstem.
57613         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
57614         acl_libdirstem.
57615         * NEWS: Mention the change.
57616         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
57617
57618 2008-08-31  Jim Meyering  <meyering@redhat.com>
57619
57620         * lib/strftime.h: Add comments describing the two added arguments.
57621
57622         remove duplicate #include directives
57623         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
57624         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
57625
57626 2008-08-31  Bruno Haible  <bruno@clisp.org>
57627
57628         New module 'sigpipe-die'.
57629         * modules/sigpipe-die: New file.
57630         * lib/sigpipe-die.h: New file.
57631         * lib/sigpipe-die.c: New file.
57632         * MODULES.html.sh (Signal handling): Add sigpipe-die.
57633
57634 2008-08-31  Bruno Haible  <bruno@clisp.org>
57635
57636         Don't override previously installed signal handlers.
57637         * lib/fatal-signal.c (saved_sigactions): New variable.
57638         (uninstall_handlers): Reset the signal to the saved handler, not
57639         to SIG_DFL (except when ignored).
57640         (install_handlers): Save the previous handlers.
57641
57642 2008-08-30  Bruno Haible  <bruno@clisp.org>
57643
57644         * gnulib-tool (func_reset_sigpipe): New function.
57645         (func_get_automake_snippet, func_modules_transitive_closure,
57646         func_import): Invoke it before a join command that reads from stdin,
57647         to avoid "echo: write error: Broken pipe" error messages on stderr.
57648         Reported by Sam Steingold <sds@gnu.org>.
57649
57650 2008-08-30  Bruno Haible  <bruno@clisp.org>
57651
57652         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
57653         Code copied from m4/open.m4.
57654         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
57655         access and the filename ends in a slash. Code copied from lib/open.c.
57656         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
57657         * tests/test-fopen.c (main): Check against bug with trailing slash.
57658
57659 2008-08-29  Bruno Haible  <bruno@clisp.org>
57660
57661         Avoid some "gcc -pedantic" warnings.
57662         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
57663         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
57664         * lib/dirent.in.h: Likewise.
57665         * lib/fcntl.in.h: Likewise.
57666         * lib/float.in.h: Likewise.
57667         * lib/iconv.in.h: Likewise.
57668         * lib/inttypes.in.h: Likewise.
57669         * lib/locale.in.h: Likewise.
57670         * lib/math.in.h: Likewise.
57671         * lib/netinet_in.in.h: Likewise.
57672         * lib/search.in.h: Likewise.
57673         * lib/signal.in.h: Likewise.
57674         * lib/stdarg.in.h: Likewise.
57675         * lib/stdint.in.h: Likewise.
57676         * lib/stdio.in.h: Likewise.
57677         * lib/stdlib.in.h: Likewise.
57678         * lib/string.in.h: Likewise.
57679         * lib/strings.in.h: Likewise.
57680         * lib/sys_select.in.h: Likewise.
57681         * lib/sys_socket.in.h: Likewise.
57682         * lib/sys_stat.in.h: Likewise.
57683         * lib/sys_time.in.h: Likewise.
57684         * lib/sysexits.in.h: Likewise.
57685         * lib/time.in.h: Likewise.
57686         * lib/unistd.in.h: Likewise.
57687         * lib/wchar.in.h: Likewise.
57688         * lib/wctype.in.h: Likewise.
57689         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
57690         * modules/fchdir (Makefile.am): Likewise.
57691         * modules/fcntl (Makefile.am): Likewise.
57692         * modules/float (Makefile.am): Likewise.
57693         * modules/iconv_open (Makefile.am): Likewise.
57694         * modules/inttypes (Makefile.am): Likewise.
57695         * modules/locale (Makefile.am): Likewise.
57696         * modules/math (Makefile.am): Likewise.
57697         * modules/netinet_in (Makefile.am): Likewise.
57698         * modules/search (Makefile.am): Likewise.
57699         * modules/signal (Makefile.am): Likewise.
57700         * modules/stdarg (Makefile.am): Likewise.
57701         * modules/stdint (Makefile.am): Likewise.
57702         * modules/stdio (Makefile.am): Likewise.
57703         * modules/stdlib (Makefile.am): Likewise.
57704         * modules/string (Makefile.am): Likewise.
57705         * modules/strings (Makefile.am): Likewise.
57706         * modules/sys_select (Makefile.am): Likewise.
57707         * modules/sys_socket (Makefile.am): Likewise.
57708         * modules/sys_stat (Makefile.am): Likewise.
57709         * modules/sys_time (Makefile.am): Likewise.
57710         * modules/sysexits (Makefile.am): Likewise.
57711         * modules/time (Makefile.am): Likewise.
57712         * modules/unistd (Makefile.am): Likewise.
57713         * modules/wchar (Makefile.am): Likewise.
57714         * modules/wctype (Makefile.am): Likewise.
57715         Reported by Reuben Thomas <rrt@sc3d.org>.
57716
57717 2008-08-29  Bruno Haible  <bruno@clisp.org>
57718
57719         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
57720         any more.
57721
57722 2008-08-29  Simon Josefsson  <simon@josefsson.org>
57723
57724         * MODULES.html.sh (Misc): Add bitrotate.
57725
57726         * modules/bitrotate: New file.
57727
57728         * lib/bitrotate.h: New file.
57729
57730         * modules/bitrotate-tests: New file.
57731
57732         * tests/test-bitrotate.c: New file.
57733
57734         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
57735         on the bitrotate module.
57736
57737         * lib/arctwo.c: Use new bitrotate module.
57738
57739 2008-08-29  Jim Meyering  <meyering@redhat.com>
57740
57741         bootstrap: merge changes from coreutils
57742         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
57743         of copied files.  Remove a kludge, now that this is fixed.
57744         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
57745         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
57746         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
57747
57748 2008-08-29  Bruno Haible  <bruno@clisp.org>
57749
57750         * MODULES.html.sh: Remove --cvs-urls option.
57751
57752 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
57753
57754         maint.mk: adjust to file name change
57755         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
57756
57757 2008-08-28  Jim Meyering  <meyering@redhat.com>
57758
57759         * modules/getndelim2 (License): Relicense to LGPLv2+.
57760         Approved by Richard Stallman for the version of 1995, and by
57761         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
57762
57763 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
57764
57765         * lib/getdelim.c (flockfile, funlockfile): Make all of them
57766         dummy if one is not available.  Do not touch them if
57767         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
57768         (getc_maybe_unlocked): New.
57769         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
57770
57771 2008-08-26  Eric Blake  <ebb9@byu.net>
57772
57773         doc/INSTALL: resync from autoconf
57774         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
57775         (INSTALL_PRELUDE): Delete; this is done more efficiently by
57776         moving...
57777         * install.texi [!autoconf]: ...here.  Resync from autoconf.
57778         * INSTALL: Regenerate.
57779         * INSTALL.ISO: New file.
57780         * INSTALL.UTF-8: Likewise.
57781
57782 2008-08-26  Jim Meyering  <meyering@redhat.com>
57783
57784         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
57785         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
57786         these definitions conditional, so that they may be overridden, too.
57787
57788 2008-08-26  Bruno Haible  <bruno@clisp.org>
57789
57790         Generate INSTALL file variants with prettier quotes.
57791         * doc/Makefile (INSTALL_PRELUDE): New macro.
57792         (INSTALL): Use it.
57793         (INSTALL.ISO, INSTALL.UTF-8): New rules.
57794
57795 2008-08-26  Bruno Haible  <bruno@clisp.org>
57796
57797         Run makeinfo in an English locale.
57798         * doc/Makefile (MAKEINFO): New variable.
57799
57800 2008-08-26  Bruno Haible  <bruno@clisp.org>
57801
57802         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
57803         Suggested by Eric Blake.
57804
57805 2008-08-25  Bruno Haible  <bruno@clisp.org>
57806
57807         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
57808
57809 2008-08-25  Eric Blake  <ebb9@byu.net>
57810
57811         c-stack: test that stack overflow can be caught
57812         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
57813         that platform allows handling stack overflow; at least OS/2 EMX
57814         has sigaltstack, but crashes before transferring control to
57815         handler on stack overflow.
57816         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
57817         check for HAVE_STACK_OVERFLOW_HANDLING.
57818         Reported by Elbert Pol.
57819
57820 2008-08-25  Bruno Haible  <bruno@clisp.org>
57821
57822         * doc/posix-functions/strftime.texi: Fix description of strftime
57823         module.
57824
57825 2008-08-24  Bruno Haible  <bruno@clisp.org>
57826
57827         * tests/uniwidth/test-uc_width2.c: New file.
57828         * tests/uniwidth/test-uc_width2.sh: New file.
57829         * modules/uniwidth/width-tests (Files): Add the new files.
57830         (TESTS): Add uniwidth/test-uc_width2.sh.
57831         (TESTS_ENVIRONMENT): New variable.
57832         (check_PROGRAMS): Add test-uc_width2.
57833         (test_uc_width2_SOURCES): New variable.
57834
57835         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
57836         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
57837         not 0x00AB.
57838         Reported by Alexander V. Lukyanov <lav@netis.ru>.
57839
57840 2008-08-22  Eric Blake  <ebb9@byu.net>
57841
57842         test-lock, test-tls: mention why a test is skipped
57843         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
57844         skipped.
57845         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
57846
57847         count-one-bits: relax license
57848         * modules/count-one-bits (License): Relicense to LGPLv2+.
57849         Suggested by Ludovic Courtès, approved by Ben Pfaff.
57850
57851 2008-08-22  Andreas Schwab  <schwab@suse.de>
57852
57853         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
57854         Remove spurious space in assignment.
57855
57856 2008-08-21  Simon Josefsson  <simon@josefsson.org>
57857
57858         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
57859         Paul Eggert <eggert@CS.UCLA.EDU>.
57860
57861 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
57862
57863         * modules/gettext: Add m4/threadlib.m4.
57864
57865 2008-08-19  Eric Blake  <ebb9@byu.net>
57866
57867         test-c-stack: fix compilation failure on FreeBSD 5.0
57868         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
57869         headers before <sys/resource.h>.
57870         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
57871         the bug.
57872         Reported by Nelson H. F. Beebe.
57873
57874         strverscmp: migrate from "strverscmp.h" to <string.h>
57875         * modules/string (Makefile.am): Add new hooks.
57876         * modules/strverscmp (Files): Remove strverscmp.h.
57877         (Depends-on): Add string.
57878         (configure.ac): Add indicator.
57879         (Include): Mention new header.
57880         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
57881         defaults.
57882         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
57883         results.
57884         * lib/strverscmp.h: Delete.
57885         * lib/string.in.h (strverscmp): Provide declaration, when needed.
57886         * tests/test-strverscmp.c (includes): Adjust client.
57887         * lib/check-version.c (includes): Likewise.
57888         * NEWS: Document the change.
57889
57890         strverscmp: add unit test
57891         * modules/strverscmp-tests: New file.
57892         * tests/test-strverscmp.c: Likewise.
57893
57894 2008-08-19  Simon Josefsson  <simon@josefsson.org>
57895
57896         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
57897         regarding Windows crypto stuff, from Mono.
57898
57899 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
57900
57901         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
57902         if present, for intel RND.  Return error on failures.
57903
57904 2008-08-18  Ben Pfaff  <blp@gnu.org>
57905
57906         gitlog-to-changelog: give better diagnostic for failed pipe-open
57907         * build-aux/gitlog-to-changelog: Improve error message: suggest
57908         that the version of Git may be too old.
57909
57910 2008-08-18  Simon Josefsson  <simon@josefsson.org>
57911
57912         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
57913         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
57914
57915 2008-08-18  Bruno Haible  <bruno@clisp.org>
57916
57917         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
57918         pthread_in_use().
57919
57920 2008-08-18  Bruno Haible  <bruno@clisp.org>
57921
57922         * lib/glthread/threadlib.c: Include <pthread.h>.
57923
57924 2008-08-18  Bruno Haible  <bruno@clisp.org>
57925
57926         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
57927         glthread_recursive_lock_* macros.
57928         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
57929         Fix syntax error.
57930
57931 2008-08-18  Bruno Haible  <bruno@clisp.org>
57932
57933         * lib/glthread/thread.c: Avoid forcing a context switch right after
57934         thread creation.
57935
57936 2008-08-17  Bruno Haible  <bruno@clisp.org>
57937
57938         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
57939         * lib/glthread/thread.h: Provide Win32 specific implementation.
57940         * modules/thread (Files): Add lib/glthread/thread.c.
57941         (Depends-on): Add lock.
57942         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
57943
57944 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57945
57946         New module 'yield'.
57947         * modules/yield: New file.
57948         * lib/glthread/yield.h: New file.
57949         * m4/yield.m4: New file.
57950         * MODULES.html.sh (Multithreading): Add yield.
57951
57952 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57953
57954         New module 'thread'.
57955         * modules/thread: New file.
57956         * lib/glthread/thread.h: New file.
57957         * m4/thread.m4: New file.
57958         * MODULES.html.sh (Multithreading): Add thread.
57959
57960 2008-08-17  Bruno Haible  <bruno@clisp.org>
57961
57962         * lib/glthread/lock.h: Include <stdlib.h> always.
57963         * lib/glthread/tls.h: Likewise.
57964         * lib/glthread/cond.h: Likewise.
57965
57966 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57967
57968         New module 'cond'.
57969         * modules/cond: New file.
57970         * lib/glthread/cond.h: New file.
57971         * lib/glthread/cond.c: New file.
57972         * m4/cond.m4: New file.
57973         * MODULES.html.sh (Multithreading): Add cond.
57974
57975 2008-08-16  Eric Blake  <ebb9@byu.net>
57976
57977         c-stack: fix regression on Irix 5.3 from 2008-06-21
57978         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
57979         sa_sigaction...
57980         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
57981         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
57982         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
57983         * modules/signal (Makefile.am): Use the value.
57984         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
57985         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
57986         * doc/posix-headers/signal.texi (signal.h): Document this
57987         portability issue.
57988         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
57989         Reported by Tom G. Christensen.
57990
57991 2008-08-17  Bruno Haible  <bruno@clisp.org>
57992
57993         New module 'threadlib'.
57994         * modules/threadlib: New file.
57995         * lib/glthread/threadlib.c: New file, extracted from
57996         lib/glthread/lock.c.
57997         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
57998         functions.
57999         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
58000         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
58001         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
58002         macros.
58003         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
58004         (gl_DISABLE_THREADS): Remove macro.
58005         * modules/lock (Files): Remove build-aux/config.rpath.
58006         (Depends-on): Remove havelib. Add threadlib.
58007         (configure.ac-early): Remove section.
58008         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
58009         * modules/tls (Depends-on): Remove lock. Add threadlib.
58010         (Link): New section, copied from threadlib.
58011         * MODULES.html.sh (Multithreading): Add threadlib.
58012
58013 2008-08-14  Bruno Haible  <bruno@clisp.org>
58014
58015         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
58016         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
58017         glthread_rwlock_unlock, glthread_rwlock_destroy,
58018         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
58019         glthread_recursive_lock_destroy): Define as macros always.
58020         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
58021         glthread_lock_lock.
58022         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
58023         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
58024         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
58025         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
58026         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
58027         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
58028         (glthread_recursive_lock_lock_func): Renamed from
58029         glthread_recursive_lock_lock.
58030         (glthread_recursive_lock_unlock_func): Renamed from
58031         glthread_recursive_lock_unlock.
58032         (glthread_recursive_lock_destroy_func): Renamed from
58033         glthread_recursive_lock_destroy.
58034
58035 2008-08-14  Bruno Haible  <bruno@clisp.org>
58036
58037         * lib/glthread/lock.h: Renamed from lib/lock.h.
58038         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
58039         * lib/glthread/tls.h: Renamed from lib/tls.h.
58040         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
58041         * lib/fstrcmp.c: Update includes.
58042         * lib/strsignal.c: Update includes.
58043         * modules/lock (Files, Makefile.am): Update.
58044         (Include): Change to "glthread/lock.h".
58045         * modules/tls (Files, Makefile.am): Update.
58046         (Include): Change to "glthread/tls.h".
58047         * tests/test-lock.c: Update includes.
58048         * tests/test-tls.c: Update includes.
58049         * NEWS: Mention the renamed header files.
58050
58051 2008-08-11  Jim Meyering  <meyering@redhat.com>
58052
58053         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
58054
58055 2008-08-11  Eric Blake  <ebb9@byu.net>
58056
58057         test-c-stack: avoid C99-ism
58058         * tests/test-c-stack.c (main): Fix whitespace, move declaration
58059         before statement.
58060         Reported by Alain Guibert.
58061
58062 2008-08-10  Jim Meyering  <meyering@redhat.com>
58063
58064         ensure that return value of uinttostr et al are not ignored
58065         * lib/inttostr.h (__GNUC_PREREQ): Define.
58066         (__attribute_warn_unused_result__): Define.
58067         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
58068
58069 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
58070
58071         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
58072         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
58073
58074 2008-08-07  Jim Meyering  <meyering@redhat.com>
58075
58076         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
58077
58078         * modules/mkstemp (License): Relicense under LGPLv2+.
58079         * modules/tempname (License): Likewise.
58080
58081 2008-08-06  Bruno Haible  <bruno@clisp.org>
58082
58083         * lib/poll.c (poll): Further micro-optimization.
58084
58085 2008-08-06  Jim Meyering  <meyering@redhat.com>
58086
58087         inet_pton.c: use locale-independent tolower
58088         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
58089         (inet_pton6): Use c_tolower rather than tolower.
58090         * modules/inet_pton (Depends-on): Add c-ctype.
58091
58092 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
58093
58094         * lib/poll.c (poll): Avoid division when timeout is 0, cache
58095         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
58096
58097 2008-08-06  Jim Meyering  <meyering@redhat.com>
58098
58099         * modules/inet_pton (License): Relicense under LGPLv2+.
58100
58101 2008-08-03  Bruno Haible  <bruno@clisp.org>
58102
58103         Additional non-aborting API for lock and tls.
58104         * lib/lock.h: Include <errno.h>.
58105         (glthread_lock_init): New macro/function.
58106         (gl_lock_init): Define as wrapper around glthread_lock_init.
58107         (glthread_lock_lock): New macro/function.
58108         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
58109         (glthread_lock_unlock): New macro/function.
58110         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
58111         (glthread_lock_destroy): New macro/function.
58112         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
58113         (glthread_rwlock_init): New macro/function.
58114         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
58115         (glthread_rwlock_rdlock): New macro/function.
58116         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
58117         (glthread_rwlock_wrlock): New macro/function.
58118         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
58119         (glthread_rwlock_unlock): New macro/function.
58120         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
58121         (glthread_rwlock_destroy): New macro/function.
58122         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
58123         (glthread_recursive_lock_init): New macro/function.
58124         (gl_recursive_lock_init): Define as wrapper around
58125         glthread_recursive_lock_init.
58126         (glthread_recursive_lock_lock): New macro/function.
58127         (gl_recursive_lock_lock): Define as wrapper around
58128         glthread_recursive_lock_lock.
58129         (glthread_recursive_lock_unlock): New macro/function.
58130         (gl_recursive_lock_unlock): Define as wrapper around
58131         glthread_recursive_lock_unlock.
58132         (glthread_recursive_lock_destroy): New macro/function.
58133         (gl_recursive_lock_destroy): Define as wrapper around
58134         glthread_recursive_lock_destroy.
58135         (glthread_once): New macro/function.
58136         (gl_once): Define as wrapper around glthread_once.
58137         Update function declarations.
58138         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
58139         glthread_rwlock_init. Return error code.
58140         (glthread_rwlock_rdlock_multithreaded): Renamed from
58141         glthread_rwlock_rdlock. Return error code.
58142         (glthread_rwlock_wrlock_multithreaded): Renamed from
58143         glthread_rwlock_wrlock. Return error code.
58144         (glthread_rwlock_unlock_multithreaded): Renamed from
58145         glthread_rwlock_unlock. Return error code.
58146         (glthread_rwlock_destroy_multithreaded): Renamed from
58147         glthread_rwlock_destroy. Return error code.
58148         (glthread_recursive_lock_init_multithreaded): Renamed from
58149         glthread_recursive_lock_init. Return error code.
58150         (glthread_recursive_lock_lock_multithreaded): Renamed from
58151         glthread_recursive_lock_lock. Return error code.
58152         (glthread_recursive_lock_unlock_multithreaded): Renamed from
58153         glthread_recursive_lock_unlock. Return error code.
58154         (glthread_recursive_lock_destroy_multithreaded): Renamed from
58155         glthread_recursive_lock_destroy. Return error code.
58156         (glthread_once_call): Make static.
58157         (glthread_once_multithreaded): Renamed from glthread_once.
58158         * lib/tls.h: Include <errno.h>.
58159         (glthread_tls_key_init): New macro/function.
58160         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
58161         (glthread_tls_set): New macro/function.
58162         (gl_tls_set): Define as wrapper around glthread_tls_set.
58163         (glthread_tls_key_destroy): New macro/function.
58164         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
58165         Update function declarations.
58166         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
58167         glthread_tls_get.
58168         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
58169
58170 2008-08-04  Eric Blake  <ebb9@byu.net>
58171
58172         gnumakefile: use space, not TAB, outside of targets
58173         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
58174
58175 2008-08-02  Jim Meyering  <meyering@redhat.com>
58176
58177         getdate.y: avoid locale-dependent date parsing failure
58178         In Turkish locales, getdate would fail to recognize keywords
58179         containing a lowercase "i".  The solution is not to rely on
58180         locale-sensitive case-conversion.
58181         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
58182         (lookup_word): Use c_toupper in place of toupper.
58183         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
58184         Reported by Vefa Bicakci <bicave@superonline.com> in
58185         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
58186         * modules/getdate (Depends-on): Add c-ctype.
58187
58188 2008-08-02  Bruno Haible  <bruno@clisp.org>
58189
58190         * gnulib-tool (func_import): When updating or creating a .gitignore
58191         file, prepend each added line with a slash, and ignore leading slashes
58192         from the existing lines.
58193         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
58194
58195 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58196
58197         Portability fix for GNU make 3.79.1.
58198         * top/GNUmakefile: Avoid 'else COND', which older GNU make
58199         versions do not understand.
58200
58201 2008-08-01  Bruno Haible  <bruno@clisp.org>
58202
58203         Work around bug of HP-UX 10.20 cc with -0.0 literal.
58204         * tests/test-isnanf.h (zero): New variable.
58205         (main): Avoid literal -0.0f.
58206         * tests/test-isnand.h (zero): New variable.
58207         (main): Avoid literal -0.0.
58208         * tests/test-isnanl.h (zero): New variable.
58209         (main): Avoid literal -0.0L.
58210         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
58211         (test_float, test_double, test_long_double): Avoid literals -0.0f,
58212         -0.0, -0.0L.
58213         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
58214         (test_signbitd): Avoid literal -0.0.
58215         (test_signbitl): Avoid literal -0.0L.
58216         * tests/test-ceilf1.c (zero): New variable.
58217         (main): Avoid literal -0.0f.
58218         * tests/test-ceill.c (zero): New variable.
58219         (main): Avoid literal -0.0L.
58220         * tests/test-floorf1.c (zero): New variable.
58221         (main): Avoid literal -0.0f.
58222         * tests/test-floorl.c (zero): New variable.
58223         (main): Avoid literal -0.0L.
58224         * tests/test-roundf1.c (zero): New variable.
58225         (main): Avoid literal -0.0f.
58226         * tests/test-round1.c (zero): New variable.
58227         (main): Avoid literal -0.0.
58228         * tests/test-roundl.c (zero): New variable.
58229         (main): Avoid literal -0.0L.
58230         * tests/test-truncf1.c (zero): New variable.
58231         (main): Avoid literal -0.0f.
58232         * tests/test-trunc1.c (zero): New variable.
58233         (main): Avoid literal -0.0.
58234         * tests/test-truncl.c (zero): New variable.
58235         (main): Avoid literal -0.0L.
58236         * tests/test-frexp.c (zero): New variable.
58237         (main): Avoid literal -0.0.
58238         * tests/test-frexpl.c (zero): New variable.
58239         (main): Avoid literal -0.0L.
58240         * tests/test-ldexpl.c (zero): New variable.
58241         (main): Avoid literal -0.0L.
58242         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
58243         (zerod, zerol): New variables.
58244         (test_function): Avoid literals -0.0, -0.0L.
58245         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
58246         (zerod, zerol): New variables.
58247         (test_function): Avoid literals -0.0, -0.0L.
58248         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
58249         (zerod, zerol): New variables.
58250         (test_function): Avoid literals -0.0, -0.0L.
58251         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
58252         (zerod, zerol): New variables.
58253         (test_function): Avoid literals -0.0, -0.0L.
58254         * tests/test-strtod.c (zero): New variable.
58255         (main): Avoid literal -0.0.
58256         Reported by Jonathan C. Patschke <jp@centtech.com>.
58257
58258 2008-07-31  Jim Meyering  <meyering@redhat.com>
58259
58260         sha256.h: correct definition of SHA224_DIGEST_SIZE
58261         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
58262         Reported by Paulie Pena IV <paulie4@gmail.com>.
58263         Define as 224 / 8, rather than as a literal.
58264         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
58265         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
58266         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
58267
58268 2008-07-31  Bruno Haible  <bruno@clisp.org>
58269
58270         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
58271         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
58272         Reported by Jonathan Patschke <jp@centtech.com>.
58273
58274 2008-07-31  Bruno Haible  <bruno@clisp.org>
58275
58276         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
58277         Reported by Paolo Bonzini <bonzini@gnu.org>.
58278
58279 2008-07-30  Eric Blake  <ebb9@byu.net>
58280
58281         test-strtod: allow compilation without -lm
58282         * tests/test-strtod.c (main): Avoid link dependence on fabs.
58283         Reported by Dennis Clarke <blastwave@gmail.com>.
58284
58285 2008-07-28  Jim Meyering  <meyering@redhat.com>
58286
58287         bootstrap: work also when there are no .po files in po/
58288         * build-aux/bootstrap (update_po_files): Complete the change
58289         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
58290
58291 2008-07-27  Jim Meyering  <meyering@redhat.com>
58292
58293         * users.txt: Add zile.
58294
58295 2008-07-26  Ben Pfaff  <blp@gnu.org>
58296
58297         Add missing dependencies on new m4/exponent[fdl].m4 files.
58298         * modules/isnanf-nolibm: Add m4/exponentf.m4.
58299         * modules/isnand-nolibm: Add m4/exponentd.m4.
58300         * modules/isnanl-nolibm: Add m4/exponentl.m4.
58301         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
58302         m4/isnan[fdl].m4, because the macros actually used moved.
58303         Reported by Jim Meyering.
58304
58305 2008-07-14  Ben Pfaff  <blp@gnu.org>
58306
58307         Add isinf module.
58308         * lib/isinf.c: New file.
58309         * lib/math.in.h: Define isinf macro if we have decided to replace
58310         it.
58311         * m4/isinf.m4: New file.
58312         * m4/math_h.m4: Initialize and substitute variables for isinf
58313         module.
58314         * modules/isinf: New file.
58315         * modules/isinf-tests: New file.
58316         * modules/math: Add substitutions for new module.
58317         * tests/test-isinf.c: New file.
58318         * doc/posix-functions/isinf.texi: Mention new module.
58319         * MODULES.html.sh: Mention new module.
58320
58321 2008-07-14  Ben Pfaff  <blp@gnu.org>
58322
58323         Factor out some macros for use by additional modules.
58324         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
58325         exponentf.m4.
58326         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
58327         exponentd.m4.
58328         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
58329         file exponentl.m4.
58330         * m4/exponentf.m4: New file.
58331         * m4/exponentd.m4: New file.
58332         * m4/exponentl.m4: New file.
58333         * modules/isnanf: Use new file m4/exponentf.m4.
58334         * modules/isnand: Use new file m4/exponentd.m4.
58335         * modules/isnanl: Use new file m4/exponentl.m4.
58336
58337 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
58338
58339         mktime.c: normalize tp->tm_isdst value to -1/0/1.
58340         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
58341         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
58342         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
58343
58344         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
58345         readlink on platforms without PATH_MAX.
58346
58347 2008-07-21  Eric Blake  <ebb9@byu.net>
58348
58349         Warn, not fail, on stale version.
58350         * top/GNUmakefile (_curr-ver): Tone down previous patch.
58351
58352         Don't allow installation with stale devel version number.
58353         * top/GNUmakefile (_is-install-target): New macro.
58354         (_curr-ver): Forbid installation with stale version number.
58355
58356 2008-07-20  Bruno Haible  <bruno@clisp.org>
58357
58358         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
58359         TESTS_ENVIRONMENT.
58360         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
58361
58362 2008-07-20  Bruno Haible  <bruno@clisp.org>
58363
58364         * lib/c-stack.h (c_stack_action): Add documentation.
58365         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
58366
58367 2008-07-20  Bruno Haible  <bruno@clisp.org>
58368
58369         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
58370         * modules/readlink (License): Likewise.
58371
58372 2008-07-17  Eric Blake  <ebb9@byu.net>
58373
58374         * modules/c-stack (Link): Fix typo.
58375
58376         Make c-stack use libsigsegv, when available.
58377         * modules/c-stack (Depends-on): Add libsigsegv.
58378         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
58379         needed.
58380         * lib/c-stack.c (SIGSTKSZ): Define fallback.
58381         (segv_handler, overflow_handler, c_stack_action)
58382         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
58383         implementation when libsigsegv is available, but only when using
58384         the library is necessary.
58385         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
58386         comment, explaining why XSI check fails on Linux.
58387         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
58388         * tests/test-c-stack2.sh: Tweak skip message.
58389         * NEWS: Document new link-time requirements.
58390
58391 2008-07-16  Eric Blake  <ebb9@byu.net>
58392
58393         c-stack: Expose false positives when not using libsigsegv.
58394         * modules/c-stack-tests (Files): Expand test.
58395         * tests/test-c-stack.c (main): Add means to conditionally trigger
58396         non-overflow SIGSEGV.
58397         * tests/test-c-stack2.sh: New file.
58398
58399 2008-07-14  Bruno Haible  <bruno@clisp.org>
58400
58401         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
58402         Reported by Eric Blake.
58403
58404 2008-07-14  Sam Steingold  <sds@gnu.org>
58405             Bruno Haible  <bruno@clisp.org>
58406
58407         New module libsigsegv.
58408         * modules/libsigsegv: New file.
58409         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
58410         modifications.
58411         * MODULES.html.sh (Signal handling): New section.
58412
58413 2008-07-14  Bruno Haible  <bruno@clisp.org>
58414
58415         * modules/unictype/ctype-* (Description): Add the word "function".
58416         Improves the resulting doc in MODULES.html.
58417
58418 2008-07-12  Ben Pfaff  <blp@gnu.org>
58419
58420         Add longlong module.
58421         * modules/longlong: New file.
58422
58423 2008-07-12  Bruno Haible  <bruno@clisp.org>
58424
58425         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
58426         to empty.
58427
58428 2008-07-10  Ben Pfaff  <blp@gnu.org>
58429
58430         Add isnan module.
58431         * doc/posix-functions/isnan.texi: Mention new module.
58432         * lib/math.in.h: Define isnan macro if we have decided to replace
58433         it.
58434         * m4/isnan.m4: New file.
58435         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
58436         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
58437         also.
58438         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
58439         redundancy.
58440         * m4/math_h.m4: Initialize and substitute variables for isnan
58441         module.
58442         * modules/isnan: New file.
58443         * modules/isnan-tests: New file.
58444         * modules/math: Add substitutions for new module.
58445         * tests/test-isnan.c: New file.
58446         * MODULES.html.sh: Mention new module.
58447
58448 2008-07-10  Ben Pfaff  <blp@gnu.org>
58449
58450         Add isnanf module.
58451         * lib/isnanf.m4: New file.
58452         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
58453         (gl_HAVE_ISNANF_IN_LIBM): New macro.
58454         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
58455         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
58456         * modules/isnanf: New file.
58457         * modules/isnanf-tests: New file.
58458         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
58459         files.
58460         * tests/test-isnanf-nolibm.c: factored most of its contents into
58461         new file tests/test-isnanf.h.
58462         * tests/test-isnanf.h: New file.
58463         * tests/test-isnanf.c: New file.
58464         * MODULES.html.sh: Mention new module.
58465         * doc/glibc-functions/isnanf.texi: Mention new module.
58466
58467 2008-07-10  Ben Pfaff  <blp@gnu.org>
58468
58469         Add isnand module.
58470         * lib/isnand.h: New file.
58471         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
58472         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
58473         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
58474         functionality also.
58475         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
58476         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
58477         (gl_HAVE_ISNAND_IN_LIBM): New macro.
58478         * modules/isnand: New file.
58479         * modules/isnand-tests: New file.
58480         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
58481         files.
58482         * tests/test-isnand-nolibm.c: factored most of its contents into
58483         new file tests/test-isnand.h.
58484         * tests/test-isnand.h: New file.
58485         * tests/test-isnand.c: New file.
58486         * MODULES.html.sh: Mention new module.
58487
58488 2008-07-10  Ben Pfaff  <blp@gnu.org>
58489
58490         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
58491         * lib/isnand.h: Rename lib/isnand-nolibm.h.
58492         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
58493         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
58494         * modules/isnanf-nolibm: Update references to renamed files.
58495         * modules/isnand-nolibm: Likewise.
58496         * modules/isnanf-nolibm-tests: Likewise.
58497         * modules/isnand-nolibm-tests: Likewise.
58498         * lib/frexp.c: Likewise.
58499         * lib/isfinite.c: Likewise.
58500         * lib/signbitd.c: Likewise.
58501         * lib/signbitf.c: Likewise.
58502         * lib/vasnprintf.c: Likewise.
58503         * tests/test-ceilf1.c: Likewise.
58504         * tests/test-ceilf2.c: Likewise.
58505         * tests/test-floorf1.c: Likewise.
58506         * tests/test-floorf2.c: Likewise.
58507         * tests/test-frexp.c: Likewise.
58508         * tests/test-round1.c: Likewise.
58509         * tests/test-round2.c: Likewise.
58510         * tests/test-roundf1.c: Likewise.
58511         * tests/test-strtod.c: Likewise.
58512         * tests/test-trunc1.c: Likewise.
58513         * tests/test-trunc2.c: Likewise.
58514         * tests/test-truncf1.c: Likewise.
58515         * tests/test-truncf2.c: Likewise.
58516         * NEWS: Mention the renamed header files.
58517
58518 2008-07-11  Jim Meyering  <meyering@redhat.com>
58519
58520         vc-list-files: make the last-resort awk code more portable
58521         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
58522         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
58523         does not support it.
58524
58525 2008-07-10  Eric Blake  <ebb9@byu.net>
58526
58527         Work with tar's bootstrap.
58528         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
58529         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
58530         an m4 comment.
58531
58532 2008-07-09  Jim Meyering  <meyering@redhat.com>
58533
58534         posix-shell.m4: fix typo that made this test malfunction
58535         * m4/posix-shell.m4: Remove capitalization in variable name.
58536
58537 2008-07-08  Bruno Haible  <bruno@clisp.org>
58538
58539         * m4/onceonly.m4: Update comments.
58540         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58541
58542 2008-07-04  Jim Meyering  <meyering@redhat.com>
58543
58544         * users.txt: Add vc-dwim.
58545         (bison, coreutils): Use the gitweb URL.
58546
58547 2008-07-03  Jim Meyering  <meyering@redhat.com>
58548
58549         * users.txt: Add libffcall.  From Sam Steingold.
58550
58551 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
58552
58553         getdate.y: do not ignore TZ with relative day, month or year offset
58554         * lib/getdate.y (get_date): Move the tz-handling block to follow the
58555         relative-date-handling, since otherwise, the latter would clobber the
58556         sole output (an updated Start value) of the tz-handling block.
58557         * tests/test-getdate.c: Tests for the fix
58558
58559 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58560
58561         Recognize 'foo_LIBRARIES += libgnu.a'.
58562         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
58563         makefile snippet has already specified an installation location,
58564         also using '+='.
58565
58566 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
58567
58568         getdate.y: factor out common actions
58569         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
58570         Use them in place of open-coded actions.
58571
58572 2008-07-01  Simon Josefsson  <simon@josefsson.org>
58573
58574         Add self-test for getdate module.
58575         * modules/getdate-tests: New file.
58576         * tests/test-getdate.c: New file.
58577
58578 2008-06-29  Bruno Haible  <bruno@clisp.org>
58579
58580         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
58581         .gitignore.
58582         Reported by Sylvain Beucler <beuc@beuc.net>.
58583
58584 2008-06-29  Bruno Haible  <bruno@clisp.org>
58585
58586         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
58587         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
58588
58589 2008-06-29  Bruno Haible  <bruno@clisp.org>
58590
58591         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
58592         EXTRA_DIST.
58593         Reported by Sylvain Beucler <beuc@beuc.net>.
58594
58595 2008-06-26  Jim Meyering  <meyering@redhat.com>
58596
58597         make several modules depend on the "open" module
58598         This provides slightly increased consistency when opening-for-write
58599         the name of a non-directory spelled with a trailing slash.
58600         * modules/chdir-safer: Likewise.
58601         * modules/chown: Likewise.
58602         * modules/clean-temp: Likewise.
58603         * modules/copy-file: Likewise.
58604         * modules/fchdir: Likewise.
58605         * modules/fcntl-safer: Likewise.
58606         * modules/pipe: Likewise.
58607         * modules/utime: Likewise.
58608         Prompted by Eric Blake and Bruno Haible.
58609
58610 2008-06-24  Andreas Schwab  <schwab@suse.de>
58611
58612         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
58613         literals can be used as initializers for global variables.
58614
58615 2008-06-23  Eric Blake  <ebb9@byu.net>
58616
58617         Make gnulib-cache.m4 easier to diff.
58618         * gnulib-tool (func_import): Allow newlines when reading cached
58619         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
58620
58621 2008-06-23  Bruno Haible  <bruno@clisp.org>
58622
58623         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
58624         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
58625         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
58626         m4/signalblocking.m4.
58627         (gl_PREREQ_SIGACTION): Don't invoke it.
58628         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
58629         gl_PREREQ_SIG_HANDLER_H.
58630         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58631         Don't check for sigaction here.
58632
58633 2008-06-23  Bruno Haible  <bruno@clisp.org>
58634
58635         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
58636         (install_handlers): Don't set the SA_RESETHAND flag.
58637
58638 2008-06-23  Bruno Haible  <bruno@clisp.org>
58639
58640         * m4/sigaction.m4: Comment fixes.
58641         * lib/signal.in.h: Likewise.
58642
58643 2008-06-23  Eric Blake  <ebb9@byu.net>
58644
58645         Fix typo.
58646         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
58647
58648         Avoid SA_ namespace.
58649         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
58650         Reported by Ralf Wildenhues.
58651
58652         Avoid test failure due to SA_RESTORER.
58653         * tests/test-sigaction.c (SA_MASK): New macro.
58654         (main): Avoid failing due to extension flags being set.
58655         Reported by Jim Meyering.
58656
58657         Revert use of sig-handler.h in sigprocmask.c.
58658         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
58659         it requires the existence of struct sigaction.
58660         * lib/sigprocmask.c (handler_t): Restore typedef.
58661         (rpl_signal, old_handlers): Use local type.
58662
58663 2008-06-22  Bruno Haible  <bruno@clisp.org>
58664
58665         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
58666         conditionally.
58667         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58668
58669 2008-06-22  Bruno Haible  <bruno@clisp.org>
58670
58671         * doc/posix-functions/siginterrupt.texi: Move note.
58672
58673         * lib/signal.in.h (SA_RESTART): New macro.
58674         * lib/sigaction.c: Update comment.
58675
58676         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
58677
58678         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
58679         (gl_PREREQ_SIGPROCMASK): Invoke it.
58680         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
58681
58682         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
58683
58684         * lib/sigprocmask.c: Update a comment.
58685
58686 2008-06-21  Eric Blake  <ebb9@byu.net>
58687
58688         Use sigaction module rather than signal().
58689         * modules/c-stack (Depends-on): Add sigaction.
58690         * modules/fatal-signal (Depends-on): Likewise.
58691         * modules/nanosleep (Depends-on): Likewise.
58692         * modules/sigprocmask (Files): Add sig-handler.h.
58693         * modules/sigaction (Files): Likewise.
58694         * lib/sig-handler.h (get_handler): New file, suggested by Paul
58695         Eggert.
58696         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
58697         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
58698         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
58699         (init_fatal_signals): Likewise.
58700         * lib/nanosleep.c (rpl_nanosleep): Likewise.
58701         (siginterrupt): Delete fallback.
58702         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
58703         instead.
58704         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
58705         siginterrupt.
58706
58707         New module sigaction, for mingw.
58708         * modules/sigaction: New module...
58709         * modules/sigaction-tests: ...and its test.
58710         * m4/sigaction.m4: New file.
58711         * lib/sigaction.c: Likewise.
58712         * tests/test-sigaction.c: Likewise.
58713         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
58714         * modules/signal (Makefile.am): Likewise.
58715         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
58716         needed.
58717         * doc/posix-headers/signal.texi (signal.h): Mention provided
58718         types.
58719         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
58720         that sigaction is preferable.
58721         * doc/posix-functions/sigaction.texi (sigaction): Mention new
58722         module.
58723         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58724         sigaction.
58725
58726         Improve robustness of sigprocmask by overriding signal.
58727         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
58728         is in use.
58729         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
58730         (SIGKILL, SIGSTOP): Provide fallbacks.
58731         (rpl_signal): Implement.
58732         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
58733         signal can be called inside handlers.
58734
58735         Fix nanosleep module on mingw.
58736         * modules/nanosleep (Depends-on): Add sys_select.
58737         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
58738
58739         Fix licensing of sigprocmask.
58740         * modules/raise (License): Relicense as LGPL.
58741
58742 2008-06-21  Bruno Haible  <bruno@clisp.org>
58743
58744         * lib/propername.c (proper_name_utf8): Don't use the transliterated
58745         result if it contains question marks.
58746         Reported by Michael Geng <linux@michaelgeng.de>.
58747
58748 2008-06-19  Bruno Haible  <bruno@clisp.org>
58749
58750         Fix CVS-ism.
58751         * doc/gnulib.texi: Include updated-stamp.texi.
58752         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
58753         (updated-stamp.texi): New rule.
58754         (gnulib.info): Depend on it.
58755         * doc/.gitignore: Add updated-stamp.texi.
58756         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
58757
58758 2008-06-19  Bruno Haible  <bruno@clisp.org>
58759
58760         * doc/Makefile (gnulib.info): Update and simplify dependencies.
58761         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58762
58763 2008-06-19  Eric Blake  <ebb9@byu.net>
58764
58765         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
58766         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
58767         Reported by Stepan Kasal.
58768
58769 2008-06-18  Bruno Haible  <bruno@clisp.org>
58770
58771         * lib/fatal-signal.c (init_fatal_signals): Add comment.
58772         Reported by Eric Blake.
58773
58774 2008-06-18  Eric Blake  <ebb9@byu.net>
58775
58776         Work around cygwin 1.5.25 strsignal bug.
58777         * tests/test-strsignal.c: Allow for const char *.
58778         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
58779
58780 2008-06-18  Simon Josefsson  <simon@josefsson.org>
58781
58782         * users.txt: Update URL to article and add author/date
58783         information.
58784
58785 2008-06-17  Bruno Haible  <bruno@clisp.org>
58786
58787         New macro gl_DISABLE_THREADS.
58788         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
58789         if the user did not pass --enable-threads or --disable-threads option.
58790         (gl_DISABLE_THREADS): New macro.
58791         Reported by Eric Blake <ebb9@byu.net>.
58792
58793 2008-06-17  Bruno Haible  <bruno@clisp.org>
58794
58795         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
58796         when the macro ignores it.
58797         Based on a patch by Eric Blake <ebb9@byu.net>.
58798
58799 2008-06-17  Bruno Haible  <bruno@clisp.org>
58800
58801         * modules/tls (License): Change to LGPLv2+.
58802         Reported by Eric Blake.
58803
58804 2008-06-17  Eric Blake  <ebb9@byu.net>
58805
58806         Simplify c-stack prerequisites.
58807         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
58808         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
58809         no longer requires <ucontext.h> to exist.  Optimize setrlimit
58810         check.
58811         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
58812         <sys/resource.h>.
58813
58814         Move c-stack test into testsuite.
58815         * modules/c-stack-tests: New file.
58816         * lib/c-stack.c [DEBUG]: Move test program...
58817         * tests/test-c-stack.c: ...into this new file.  Skip rather than
58818         fail test if sigaltstack is lacking.
58819         * tests/test-c-stack.sh: New driver file.
58820
58821 2008-06-16  Eric Blake  <ebb9@byu.net>
58822
58823         Use raise module consistently.
58824         * modules/fatal-signal (Depends-on): Add raise.
58825         * modules/sigprocmask (Depends-on): Likewise.
58826         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
58827         * lib/sigprocmask.c (sigprocmask): Likewise.
58828         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58829         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
58830
58831         Fix compliance bug in sigpending.
58832         * lib/sigprocmask.c (sigpending): Return pending array via
58833         parameter, not return value.
58834
58835 2008-06-14  Eric Blake  <ebb9@byu.net>
58836
58837         Improve obstack-printf test code.
58838         * tests/test-obstack-printf.c (test_function): Fix comment, and
58839         simplify usage of obstack_* in macros.  Add a test for coverage.
58840         Reported by Bruno Haible.
58841
58842 2008-06-14  Bruno Haible  <bruno@clisp.org>
58843
58844         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
58845         array size as a constant, not as a const variable.
58846         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
58847         AC_USE_SYSTEM_EXTENSIONS.
58848         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
58849         Test whether the obstack_printf function actually exists.
58850         * modules/obstack-printf (Depends-on): Add extensions.
58851         (Include): Remove obstack.h.
58852         * modules/obstack-printf-posix (Depends-on): Add extensions.
58853         (Include): Remove obstack.h.
58854
58855 2008-06-13  Eric Blake  <ebb9@byu.net>
58856
58857         Add obstack-printf and obstack-printf-posix modules.
58858         * modules/obstack-printf: New file.
58859         * modules/obstack-printf-posix: Likewise.
58860         * MODULES.html.sh (Misc): Mention them.
58861         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
58862         Likewise.
58863         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
58864         Likewise.
58865         * modules/stdio (Makefile.am): Accomodate new modules.
58866         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
58867         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
58868         Declare.
58869         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
58870         functions.
58871         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
58872         (gl_REPLACE_OBSTACK_PRINTF): New macros
58873         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
58874         * tests/test-obstack-printf.c: New file.
58875         * modules/obstack-printf-tests: Likewise.
58876         * modules/obstack-printf-posix-tests: Likewise.
58877
58878 2008-06-11  Bruno Haible  <bruno@clisp.org>
58879
58880         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
58881         * lib/open.c: Include errno.h.
58882         (open): Fail when attempting to write to a file that has a trailing
58883         slash.
58884         * tests/test-open.c (main): Test against trailing slash bug.
58885         * doc/posix-functions/open.texi: Mention the trailing slash bug.
58886
58887 2008-06-10  Bruno Haible  <bruno@clisp.org>
58888
58889         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
58890         for $? to work inside the trap command, with various /bin/sh-s.
58891         * tests/test-vc-list-files-cvs.sh: Likewise.
58892
58893 2008-06-10  Bruno Haible  <bruno@clisp.org>
58894
58895         * lib/acl-internal.h: Don't include gettext.h here.
58896         * lib/set-mode-acl.c: Include gettext.h here.
58897         * lib/copy-acl.c: Likewise.
58898
58899 2008-06-10  Bruno Haible  <bruno@clisp.org>
58900
58901         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
58902         * lib/wait-process.c (wait_subprocess): Likewise.
58903         * lib/execute.h (execute): Add termsigp argument.
58904         * lib/execute.c (execute): Likewise.
58905         * lib/csharpcomp.c (compile_csharp_using_pnet,
58906         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
58907         * lib/csharpexec.c (execute_csharp_using_pnet,
58908         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
58909         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
58910         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
58911         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
58912         is_jikes_present): Update.
58913         * lib/javaexec.c (execute_java_class): Update.
58914         * lib/javaversion.c (execute_and_read_line): Update.
58915         * NEWS: Document the changes.
58916         Reported by Eric Blake.
58917
58918 2008-06-10  Eric Blake  <ebb9@byu.net>
58919
58920         Add missing include.
58921         * tests/test-strstr.c (includes): Add <signal.h>.
58922         * tests/test-strcasestr.c (includes): Likewise.
58923         * tests/test-memmem.c (includes): Likewise.
58924
58925 2008-06-10  Bruno Haible  <bruno@clisp.org>
58926
58927         * lib/wait-process.c (wait_subprocess): Add an assertion.
58928
58929 2008-06-10  Bruno Haible  <bruno@clisp.org>
58930
58931         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
58932
58933 2008-06-10  Bruno Haible  <bruno@clisp.org>
58934
58935         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
58936         using alarm().
58937         * tests/test-strcasestr.c (main): Likewise.
58938         * tests/test-strstr.c (main): Likewise.
58939
58940 2008-06-09  Bruno Haible  <bruno@clisp.org>
58941
58942         Work around the Solaris 10 ACE ACLs ABI change.
58943         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
58944         declare if ACL_NO_TRIVIAL is present.
58945         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
58946         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
58947         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
58948         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
58949         define if ACL_NO_TRIVIAL is present.
58950         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
58951         and use the current ABI.
58952         (file_has_acl): Use same #if condition as elsewhere.
58953         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
58954         in use, and use the current ABI.
58955         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
58956         Reported by Jim Meyering.
58957
58958 2008-06-09  Eric Blake  <ebb9@byu.net>
58959
58960         Work around environments that (stupidly) ignore SIGALRM.
58961         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
58962         before using alarm().
58963         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58964         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
58965         Reported by Ian Beckwith <ianb@erislabs.net>.
58966
58967         Produce autobuild blurb earlier in log.
58968         * modules/autobuild (configure.ac-early): Move AB_INIT here.
58969
58970 2008-06-09  Jim Meyering  <meyering@redhat.com>
58971         and Ondřej Vašík  <ovasik@redhat.com>
58972
58973         utimens.c: correct kernel bug work-around
58974         Ondřej Vašík found that the invalid return value of 280 indicates
58975         failure, not success, and the kernel bug we're trying to work
58976         around affects not just the utimensat call, but also the fallback
58977         futimens call.
58978         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
58979         not success.
58980         [HAVE_FUTIMENS]: Use the same work-around, here.
58981
58982 2008-06-09  Jim Meyering  <meyering@redhat.com>
58983
58984         add more guards around definition of ACE_-related code
58985         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
58986         ALLOW and ACE_OWNER are also defined.
58987
58988 2008-06-08  Bruno Haible  <bruno@clisp.org>
58989
58990         * lib/acl-internal.h: Add me as co-author.
58991         * lib/file-has-acl.c: Likewise.
58992         * lib/set-mode-acl.c: Likewise.
58993         * lib/copy-acl.c: Likewise.
58994
58995 2008-06-08  Bruno Haible  <bruno@clisp.org>
58996
58997         Add support for AIX ACLs.
58998         * lib/acl-internal.h (acl_nontrivial): New declaration.
58999         * lib/file-has-acl.c (acl_nontrivial): New function.
59000         (file_has_acl): Add implementation using AIX 4 ACL API.
59001         * lib/set-mode-acl.c (qset_acl): Likewise.
59002         * lib/copy-acl.c (qcopy_acl): Likewise.
59003
59004 2008-06-08  Bruno Haible  <bruno@clisp.org>
59005
59006         Add support for HP-UX ACLs.
59007         * lib/acl-internal.h (acl_nontrivial): New declaration.
59008         * lib/file-has-acl.c (acl_nontrivial): New function.
59009         (file_has_acl): Add implementation using HP-UX 11 ACL API.
59010         * lib/set-mode-acl.c (qset_acl): Likewise.
59011         * lib/copy-acl.c (qcopy_acl): Likewise.
59012
59013 2008-06-08  Bruno Haible  <bruno@clisp.org>
59014
59015         Add support for Cygwin ACLs.
59016         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
59017         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
59018         the chmod_or_fchmod call.
59019         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
59020
59021 2008-06-08  Bruno Haible  <bruno@clisp.org>
59022
59023         Fix bug with setuid modes in Solaris 10+ code.
59024         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
59025         succeeded, when the mode contains some special bits.
59026
59027 2008-06-08  Bruno Haible  <bruno@clisp.org>
59028
59029         Add support for Solaris 7..10 ACLs.
59030         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
59031         declarations.
59032         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
59033         functions.
59034         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
59035         * lib/set-mode-acl.c (qset_acl): Likewise.
59036         * lib/copy-acl.c (qcopy_acl): Likewise.
59037
59038 2008-06-08  Bruno Haible  <bruno@clisp.org>
59039
59040         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
59041         declaration.
59042         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
59043         (acl_access_nontrivial): Remove MacOS X case.
59044         (file_has_acl): Use acl_extended_nontrivial.
59045         * lib/copy-acl.c (qcopy_acl): Likewise.
59046
59047 2008-06-08  Bruno Haible  <bruno@clisp.org>
59048
59049         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
59050
59051 2008-06-08  Jim Meyering  <meyering@redhat.com>
59052
59053         * modules/acl (Maintainer): Add Bruno Haible.
59054
59055 2008-06-07  Bruno Haible  <bruno@clisp.org>
59056
59057         Improve support for Tru64 ACLs.
59058         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
59059         ACL on OSF/1.
59060
59061 2008-06-07  Bruno Haible  <bruno@clisp.org>
59062
59063         Add support for MacOS X ACLs.
59064         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
59065         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
59066         * lib/set-mode-acl.c (qset_acl): Likewise.
59067         * lib/copy-acl.c (qcopy_acl): Likewise.
59068
59069 2008-06-07  Bruno Haible  <bruno@clisp.org>
59070
59071         Fix memory leak introduced on 2008-05-22.
59072         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
59073         use.
59074
59075 2008-06-07  Bruno Haible  <bruno@clisp.org>
59076
59077         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
59078         to construct an empty ACL.
59079
59080 2008-06-07  Bruno Haible  <bruno@clisp.org>
59081
59082         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
59083         precisely.
59084         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
59085
59086 2008-06-07  Bruno Haible  <bruno@clisp.org>
59087
59088         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
59089         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
59090
59091 2008-06-07  Bruno Haible  <bruno@clisp.org>
59092
59093         * doc/posix-functions/_setjmp.texi: Explain the use of this function
59094         regardless of POSIX.
59095         * doc/posix-functions/_longjmp.texi: Likewise.
59096         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
59097         SystemV platform in this case.
59098
59099 2008-06-06  Eric Blake  <ebb9@byu.net>
59100
59101         Document abort() bugs.
59102         * doc/posix-functions/abort.texi (abort): Mention anomalies.
59103
59104         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
59105         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
59106         sigsetjmp.
59107         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
59108         siglongjmp, but only as a macro.
59109         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
59110         is obsolete.
59111         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
59112
59113         Tweak documentation to cover cygwin argz bugs.
59114         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
59115         argz bug fix; no code change needed since no cygwin releases
59116         occurred between the last fix and the bug being tested.
59117         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
59118         module and recently fixed cygwin bugs.
59119         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
59120         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
59121         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
59122         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
59123         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
59124         Likewise.
59125         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
59126         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
59127         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
59128         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
59129         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
59130         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
59131         Likewise.
59132
59133         Avoid gcc warning on cygwin.
59134         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
59135         !ACL_NO_TRIVIAL]: Avoid unused variable.
59136
59137 2008-06-05  Eric Blake  <ebb9@byu.net>
59138
59139         Be tolerant of UNKNOWN version in gnulib-tool test dir.
59140         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
59141         git-version-gen fails to come up with a version.
59142         Reported by Simon Josefsson.
59143
59144 2008-06-05  Jim Meyering  <meyering@redhat.com>
59145             Paul Eggert  <eggert@cs.ucla.edu>
59146
59147         utimens.c: work around a probable Linux kernel bug
59148         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
59149         appears to be a kernel bug that causes utimensat to return 280
59150         instead of 0, indicating success.
59151
59152 2008-06-04  Bruno Haible  <bruno@clisp.org>
59153
59154         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
59155         2008-06-01 commit.
59156
59157 2008-06-04  Bruno Haible  <bruno@clisp.org>
59158
59159         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
59160         * lib/file-has-acl.c (acl_access_nontrivial): New function.
59161         (file_has_acl): Use it. Save errno afterwards.
59162         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
59163
59164 2008-06-03  Bruno Haible  <bruno@clisp.org>
59165
59166         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
59167         draft code. Simplify #ifs.
59168         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
59169         Put Solaris code after POSIX-draft code. Fix comments regarding
59170         Solaris 10, HP-UX. Mention Cygwin.
59171         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
59172
59173 2008-06-03  Eric Blake  <ebb9@byu.net>
59174
59175         Provide fallback for older kernels.
59176         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
59177         Provide runtime fallback if kernel lacks support.
59178         Reported by Mike Frysinger.
59179
59180 2008-06-02  Bruno Haible  <bruno@clisp.org>
59181
59182         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
59183         it exists.
59184
59185 2008-06-02  Bruno Haible  <bruno@clisp.org>
59186
59187         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
59188         * lib/copy-acl.c (qcopy_acl): Update comment.
59189
59190 2008-06-02  Bruno Haible  <bruno@clisp.org>
59191
59192         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
59193         like ACL APIs.
59194
59195 2008-06-02  Bruno Haible  <bruno@clisp.org>
59196
59197         * tests/test-file-has-acl.sh: Use different code for Cygwin.
59198         * tests/test-set-mode-acl.sh: Likewise.
59199         * tests/test-copy-acl.sh: Likewise.
59200         * tests/test-copy-file.sh: Likewise.
59201
59202 2008-06-02  Bruno Haible  <bruno@clisp.org>
59203
59204         * tests/test-file-has-acl.sh: Remove unused code.
59205
59206 2008-06-01  Bruno Haible  <bruno@clisp.org>
59207
59208         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
59209         (copy_acl): Just a wrapper around qcopy_acl that emits the error
59210         messages.
59211         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
59212
59213 2008-06-01  Bruno Haible  <bruno@clisp.org>
59214
59215         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
59216         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
59217         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
59218         APIs.
59219         * modules/acl-tests (configure.ac): Remove tests now contained in
59220         m4/acl.m4.
59221
59222 2008-06-02  Jim Meyering  <meyering@redhat.com>
59223
59224         announce-gen: use a better key-server host name
59225         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
59226         it may be more consistently reliable.  Suggested by Werner Koch
59227         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
59228
59229 2008-06-01  Bruno Haible  <bruno@clisp.org>
59230
59231         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
59232         Reported by Voroskoi Andras <voroskoi@gmail.com>.
59233
59234 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
59235
59236         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
59237
59238 2008-06-01  Bruno Haible  <bruno@clisp.org>
59239
59240         New ACL tests.
59241         * tests/test-file-has-acl.sh: New file.
59242         * tests/test-file-has-acl.c: New file.
59243         * tests/test-set-mode-acl.sh: New file.
59244         * tests/test-set-mode-acl.c: New file.
59245         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
59246         * tests/test-copy-acl.c: New file.
59247         * modules/acl-tests: New file, based on modules/copy-file-tests.
59248         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
59249         (Depends-on): Add acl-tests.
59250         (configure.ac): Remove checks.
59251         (Makefile.am): Don't create test-sameacls program here any more.
59252
59253 2008-06-01  Bruno Haible  <bruno@clisp.org>
59254
59255         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
59256         * tests/test-sameacls.c: Include progname.h.
59257         (main): Invoke set_program_name. Portability fixes for MacOS X,
59258         Solaris, HP-UX.
59259
59260 2008-06-01  Bruno Haible  <bruno@clisp.org>
59261
59262         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
59263         function.
59264         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
59265
59266 2008-06-01  Bruno Haible  <bruno@clisp.org>
59267
59268         * modules/rpmatch (Depends-on): Add strdup.
59269
59270 2008-06-01  Bruno Haible  <bruno@clisp.org>
59271
59272         * lib/pipe.c: Include unistd-safer.h.
59273         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
59274         * modules/pipe (Depends-on): Add unistd-safer.
59275
59276 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59277
59278         * modules/autobuild (configure.ac): Call AB_INIT.
59279
59280 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59281
59282         * tests/test-getaddrinfo.c: Don't print debug messages by default.
59283         Suggested by Bruno Haible <bruno@clisp.org>.
59284
59285 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59286
59287         * tests/test-base64.c: Cast size_t to unsigned long when invoking
59288         printf.  Use %lu instead of %d.  Reported by Bruno Haible
59289         <bruno@clisp.org>.
59290
59291 2008-05-29  Eric Blake  <ebb9@byu.net>
59292
59293         Prefer new POSIX 200x interfaces over futimesat.
59294         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
59295         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
59296         when available.
59297         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
59298
59299 2008-05-28  Bruno Haible  <bruno@clisp.org>
59300
59301         * modules/stpcpy (License): Change to LGPLv2+.
59302         Requested by David Lutterkort <dlutter@redhat.com>.
59303
59304 2008-05-27  Bruno Haible  <bruno@clisp.org>
59305
59306         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
59307         current mingw.
59308         Reported by Jose E. Marchesi <jemarch@gnu.org>.
59309
59310 2008-05-27  Bruno Haible  <bruno@clisp.org>
59311
59312         * modules/iconv_open (Link): New section, from module 'iconv'.
59313         * modules/striconv (Link): Likewise.
59314         * modules/striconveh (Link): Likewise.
59315         * modules/xstriconv (Link): Likewise.
59316         * modules/unicodeio (Link): Likewise.
59317         * modules/propername (Link): Likewise.
59318         Reported by Jim Meyering.
59319
59320 2008-05-26  Jim Meyering  <meyering@redhat.com>
59321
59322         sha256: do not artificially restrict buffer length to be < 2^32
59323         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
59324         uint32_t to size_t.
59325         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
59326         to match.
59327
59328         avoid unaligned access errors, e.g., on sparc
59329         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
59330         direct access through a possibly-unaligned uint64* pointer.
59331         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
59332         direct access through a possibly-unaligned uint32* pointer.
59333         Prompted by this patch from Tom "spot" Callaway:
59334         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
59335
59336         sha512.c: fix typo in comment
59337         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
59338
59339 2008-05-25  Bruno Haible  <bruno@clisp.org>
59340
59341         * lib/set-mode-acl.c: Renamed from lib/acl.c.
59342         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
59343         (Makefile.am): Update lib_SOURCES.
59344
59345 2008-05-25  Bruno Haible  <bruno@clisp.org>
59346
59347         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
59348
59349 2008-05-25  Jim Meyering  <meyering@redhat.com>
59350
59351         useless-if-before-free: freed expr may have white-space differences
59352         * build-aux/useless-if-before-free: Recognize cases in which the
59353         freed expression differs from the tested one in embedded white
59354         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
59355         $1 was used, so we can't make any regexp shy.  Improved tests now
59356         detect this.
59357
59358         useless-if-before-free: accept white space in the expression.
59359         * build-aux/useless-if-before-free: For now, any white space
59360         in the expression must be identical in the free argument.
59361
59362         useless-if-before-free: efficiency tweak
59363         * build-aux/useless-if-before-free: Make the expression-matching
59364         regexp "shy".
59365         Make the *outer* regexp shy, not the expr-matching one.
59366
59367         update code-in-comment to accept cast of free arg
59368         * build-aux/useless-if-before-free: Update regexp.
59369
59370 2008-05-25  Bruno Haible  <bruno@clisp.org>
59371
59372         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
59373         * modules/copy-file-tests (Files, Makefile.am): Update.
59374         * tests/test-copy-file.c (func_test_copy): Update.
59375
59376 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
59377
59378         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
59379
59380 2008-05-23  Bruno Haible  <bruno@clisp.org>
59381
59382         Improve support for ACLs on OSF/1.
59383         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
59384         Remove fallback for unknown flavors of ACLs.
59385
59386 2008-05-22  Bruno Haible  <bruno@clisp.org>
59387
59388         Add support for ACLs on OSF/1.
59389         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
59390         replacements.
59391         (acl_free_text): New macro fallback.
59392         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
59393         acl_free.
59394         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
59395         acl_free_text function. Require AC_C_INLINE.
59396
59397 2008-05-22  Bruno Haible  <bruno@clisp.org>
59398
59399         Make copy_acl work on MacOS X 10.5.
59400         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
59401         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
59402         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
59403         If MODE_INSIDE_ACL, don't assume that every system has the same text
59404         representation for ACLs as FreeBSD.
59405         * lib/copy-acl.c (copy_acl): Add support for platforms with
59406         !MODE_INSIDE_ACL.
59407         * lib/file-has-acl.c (file_has_acl): Likewise.
59408         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
59409         FreeBSD, MacOS X, or IRIX, respectively.
59410
59411 2008-05-22  Bruno Haible  <bruno@clisp.org>
59412
59413         * lib/acl.h: Don't include <sys/acl.h>.
59414         (GETACLCNT): Move fallback to lib/acl-internal.h.
59415         * lib/acl-internal.h: Include <sys/acl.h> here.
59416         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
59417
59418 2008-05-22  Bruno Haible  <bruno@clisp.org>
59419
59420         Split off copy_acl function to separate file.
59421         * lib/copy-acl.c: New file, extracted from lib/acl.c.
59422         * lib/acl.c (copy_acl): Moved function to separate file.
59423         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
59424         * modules/acl (Files): Add lib/copy-acl.c.
59425         (Makefiles.am): Augment lib_SOURCES.
59426
59427 2008-05-22  Bruno Haible  <bruno@clisp.org>
59428
59429         * modules/copy-file-tests: New file.
59430         * tests/test-copy-file.sh: New file.
59431         * tests/test-copy-file.c: New file.
59432         * tests/test-copy-file-sameacls.c: New file.
59433
59434 2008-05-22  Eric Blake  <ebb9@byu.net>
59435
59436         Avoid gcc warning.
59437         * tests/test-memcmp.c (main): Pass NULL indirectly.
59438
59439 2008-05-21  Bruno Haible  <bruno@clisp.org>
59440
59441         Add reference doc about ACLs.
59442         * doc/acl-resources.txt: New file.
59443         * doc/acl-cygwin.txt: New file.
59444
59445 2008-05-21  Bruno Haible  <bruno@clisp.org>
59446
59447         Avoid one more warning from gcc.
59448         * lib/vasnprintf.c (IF_LINT): Update comments.
59449         (VASNPRINTF): Use it also for the 'prefix' array initializer.
59450
59451 2008-05-21  Jim Meyering  <meyering@redhat.com>
59452
59453         avoid a warning from gcc
59454         * lib/vasnprintf.c (IF_LINT): Define.
59455         (scale10_round_decimal_long_double):
59456         Use it to avoid a "may be used uninitialized" warning.
59457         (scale10_round_decimal_double): Likewise.
59458
59459 2008-05-21  Simon Josefsson  <simon@josefsson.org>
59460
59461         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
59462         declared.
59463
59464 2008-05-20  Bruno Haible  <bruno@clisp.org>
59465
59466         * tests/test-memcmp.c (main): Test also the sign of the result. Test
59467         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
59468
59469 2008-05-20  Simon Josefsson  <simon@josefsson.org>
59470
59471         * modules/memcmp-tests: New file.
59472         * tests/test-memcmp.c: New file.
59473
59474 2008-05-19  Bruno Haible  <bruno@clisp.org>
59475
59476         * modules/propername (Notice, configure.ac): Put quoted "..." into
59477         --keyword option.
59478         * lib/propername.h: Update comments accordingly.
59479         Reported by Eric Blake.
59480
59481 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
59482
59483         * modules/getpass-gnu (Depends-on): Add fseeko.
59484
59485 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59486
59487         * modules/base64-tests: New file.
59488
59489 2008-05-19  Bo Borgerson <gigabo@gmail.com>
59490
59491         * lib/base64.c (base64_decode_ctx): If a decode context structure
59492         was passed in use it to ignore newlines.  If a context structure
59493         was _not_ passed in, continue to treat newlines as garbage (this
59494         is the historical behavior).  Formerly base64_decode.
59495         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59496         takes a decode context structure.
59497         * lib/base64.h (base64_decode): Macro for four-argument calls.
59498         (base64_decode_alloc): Likewise.
59499         * lib/base64.c (base64_decode_ctx): If a decode context structure
59500         was passed in use it to ignore newlines.  If a context structure
59501         was _not_ passed in, continue to treat newlines as garbage (this
59502         is the historical behavior).  Formerly base64_decode.
59503         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59504         takes a decode context structure.
59505         * lib/base64.h (base64_decode): Macro for four-argument calls.
59506         (base64_decode_alloc): Likewise.
59507
59508 2008-05-19  Jim Meyering  <meyering@redhat.com>
59509
59510         avoid a warning from gcc
59511         * lib/trim.c (IF_LINT): Define.
59512         (trim2): Use it to avoid a "may be used uninitialized" warning.
59513
59514         Fix doc typo.
59515         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
59516
59517 2008-05-19  Bruno Haible  <bruno@clisp.org>
59518
59519         * doc/glibc-functions/getpass.texi: Document limits of other
59520         implementations.
59521
59522 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59523             Bruno Haible <bruno@clisp.org>
59524
59525         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
59526
59527 2008-05-18  Bruno Haible  <bruno@clisp.org>
59528
59529         * modules/propername: New file, from GNU gettext.
59530         * lib/propername.h: New file, from GNU gettext.
59531         * lib/propername.c: New file, from GNU gettext.
59532         * MODULES.html.sh (Internationalization functions): Add propername.
59533
59534 2008-05-16  Jim Meyering  <meyering@redhat.com>
59535             Bruno Haible  <bruno@clisp.org>
59536
59537         Avoid some warnings from "gcc -Wshadow".
59538         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
59539
59540 2008-05-15  Eric Blake  <ebb9@byu.net>
59541
59542         Extend previous patch to cygwin 1.7.0.
59543         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
59544         fast implementation in cygwin >= 1.7.0.
59545         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59546         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59547
59548 2008-05-15  Bruno Haible  <bruno@clisp.org>
59549
59550         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
59551         implementation in glibc >= 2.9.
59552         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59553         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59554
59555 2008-05-15  Bruno Haible  <bruno@clisp.org>
59556
59557         * MODULES.html.sh (Internationalization functions): Remove linebreak.
59558         (Unicode string functions): Add unilbrk/*.
59559         Reported by Karl Berry.
59560
59561 2008-05-15  Eric Blake  <ebb9@byu.net>
59562
59563         Fix violation of <stdbool.h> replacement in regex.
59564         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
59565         * lib/regexec.c (re_search_internal): Likewise.
59566         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
59567
59568 2008-05-15  Jim Meyering  <meyering@redhat.com>
59569
59570         avoid distracting test output when git or cvs is not found
59571         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
59572         * tests/test-vc-list-files-git.sh: Likewise.
59573
59574 2008-05-15  Eric Blake  <ebb9@byu.net>
59575
59576         Glibc finally accepted the memmem speedup code, bugzilla #5514.
59577         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
59578         glibc version.
59579         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
59580         * doc/posix-functions/strstr.texi (strstr): Likewise.
59581         * lib/str-two-way.h (MAX): Sychronize with glibc.
59582
59583 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
59584
59585         * lib/regcomp.c (optimize_utf8): Add a note on why we test
59586         opr.ctx_type.
59587         (calc_first): Initialize constraint field.
59588         (duplicate_node_closure): Use it instead of special casing ANCHORS.
59589         Fix grammar.
59590         (duplicate_node): Merge constraint field for all node types.
59591         (calc_eclosure_iter): Look at constraint field for all node types.
59592         * lib/regex_internal.c (create_cd_newstate): Don't look at
59593         opr.ctx_type.
59594
59595 2008-05-14  Bruno Haible  <bruno@clisp.org>
59596
59597         Help GCC to do better code generation.
59598         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
59599         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
59600         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
59601         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
59602         Declare with attribute 'malloc' if supported.
59603
59604 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
59605
59606         use "echo STR|wc -c" rather than unportable "expr length STR"
59607         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
59608         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
59609
59610 2008-05-14  Jim Meyering  <meyering@redhat.com>
59611
59612         use dd ibs=$n count=1 ... rather than less-portable head -c$n
59613         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
59614         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
59615         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
59616         via Collin Lasse.
59617
59618 2008-05-14  Eric Blake  <ebb9@byu.net>
59619
59620         Avoid quadratic growth in gl_LIBSOURCES.
59621         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
59622         Suggested by Bruno Haible.
59623
59624         Test xmemdup0.
59625         * modules/xmemdup0-tests: New file.
59626         * tests/test-xmemdup0.c: Likewise.
59627
59628 2008-05-13  Eric Blake  <ebb9@byu.net>
59629
59630         Split xmemdup0 into its own module.
59631         * modules/xmemdup0: New file.
59632         * lib/xmemdup0.h: Likewise.
59633         * lib/xmemdup0.c: Likewise.
59634         * MODULES.html.sh (Memory management functions): Add xmemdup0.
59635         * lib/xalloc.h (xmemdup0): Remove.
59636         * lib/xmalloc.c (xmemdup0): Likewise.
59637
59638 2008-05-13  Eric Blake  <ebb9@byu.net>
59639             Bruno Haible  <bruno@clisp.org>
59640
59641         Reduce number of forks required during autoconf.
59642         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
59643         and gl_LIBSOURCES_DIR.
59644         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
59645         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
59646         m4_syscmd per file.
59647         <m4_foreach_w>: Move...
59648         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
59649
59650 2008-05-13  Eric Blake  <ebb9@byu.net>
59651
59652         * gnulib-tool: Fix various comment typos.
59653
59654 2008-05-12  Bruno Haible  <bruno@clisp.org>
59655
59656         Tailor the linebreaking algorithm.
59657         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
59658
59659 2008-05-12  Bruno Haible  <bruno@clisp.org>
59660
59661         Update to Unicode 5.0.0.
59662         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59663         LBP_JV, LBP_JT. Redistribute values.
59664         (unilbrk_table): Change size.
59665         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
59666         Unicode TR#14 rev. 22.
59667         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59668         LBP_JV, LBP_JT. Redistribute values.
59669         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
59670         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
59671         Update.
59672         * lib/unilbrk/lbrkprop1.h: Regenerated.
59673         * lib/unilbrk/lbrkprop2.h: Regenerated.
59674         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
59675         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
59676         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
59677         Likewise.
59678         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
59679         Likewise.
59680         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
59681         result.
59682         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
59683         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
59684         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
59685         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
59686         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
59687         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
59688
59689 2008-05-11  Bruno Haible  <bruno@clisp.org>
59690
59691         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
59692
59693 2008-05-11  Bruno Haible  <bruno@clisp.org>
59694
59695         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
59696         * modules/unilbrk/gen-lbrk: New file.
59697
59698 2008-05-11  Bruno Haible  <bruno@clisp.org>
59699
59700         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
59701         * m4/sha512.m4 (gl_SHA512): Likewise.
59702
59703 2008-05-11  Jim Meyering  <meyering@redhat.com>
59704
59705         New modules: crypto/sha256, crypto/sha512 (from coreutils)
59706         * modules/crypto/sha256: New file.
59707         * modules/crypto/sha512: Likewise.
59708         * lib/sha256.c: Likewise.
59709         * lib/sha256.h: Likewise.
59710         * lib/sha512.c: Likewise.
59711         * lib/sha512.h: Likewise.
59712         * lib/u64.h: Likewise.
59713         * m4/sha256.m4: Likewise.
59714         * m4/sha512.m4: Likewise.
59715         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
59716
59717 2008-05-10  Bruno Haible  <bruno@clisp.org>
59718
59719         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
59720         (Input/Output <stdio.h>): Add xprintf.
59721         (Signal handling <signal.h>): Add strsignal.
59722         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
59723         (Core language properties): Add func.
59724         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
59725         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
59726         strings.
59727         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
59728         (Input/output): New section.
59729         (File system functions): Add openat-die, stat-macros.
59730         (Networking functions): Add sockets.
59731         (Unicode string functions): Add unictype/*.
59732         (Support for building libraries and executables): Add gperf.
59733         (Support for building documentation): Add agpl-3.0.
59734         (Misc): Add nocrash.
59735
59736 2008-05-10  Bruno Haible  <bruno@clisp.org>
59737
59738         * modules/unictype/gen-ctype: New file.
59739
59740 2008-05-10  Jim Meyering  <meyering@redhat.com>
59741
59742         Make chdir-safer.c more efficient on a system with no symlinks.
59743         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
59744         also if ELOOP is zero.  Suggested by Bruno Haible.
59745
59746         Make chdir-safer.c slightly safer.
59747         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
59748         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
59749
59750         Avoid compile failure on systems without ELOOP (like mingw).
59751         * lib/chdir-safer.c (ELOOP): Define if not already defined.
59752         Reported by Bruno Haible.
59753
59754 2008-05-10  Bruno Haible  <bruno@clisp.org>
59755
59756         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
59757         (is_utf8_encoding): Use a case-insensitive comparison.
59758         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
59759         streq.
59760
59761 2008-05-10  Bruno Haible  <bruno@clisp.org>
59762
59763         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
59764         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
59765         * lib/unilbrk/ulc-common.h (iconv_string_length,
59766         iconv_string_keeping_offsets): Remove declarations.
59767         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
59768         Don't include <iconv.h>, streq.h, xsize.h.
59769         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
59770         conversion.
59771         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
59772         <iconv.h>, streq.h, xsize.h.
59773         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
59774         conversion.
59775         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
59776         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
59777         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
59778         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
59779
59780 2008-05-10  Bruno Haible  <bruno@clisp.org>
59781
59782         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
59783         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
59784
59785         * modules/unilbrk/u32-width-linebreaks-tests: New file.
59786         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
59787
59788         * modules/unilbrk/u16-width-linebreaks-tests: New file.
59789         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
59790
59791         * modules/unilbrk/u8-width-linebreaks-tests: New file.
59792         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
59793
59794         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
59795         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
59796
59797         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
59798         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
59799
59800         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
59801         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
59802
59803         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
59804         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
59805
59806 2008-05-10  Bruno Haible  <bruno@clisp.org>
59807
59808         Split up 'linebreak' module.
59809         * lib/unilbrk.h: New file, based on lib/linebreak.h.
59810         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
59811         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
59812         modifications.
59813         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
59814         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
59815         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
59816         lib/linebreak.c.
59817         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
59818         lib/linebreak.c.
59819         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
59820         lib/linebreak.c.
59821         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
59822         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
59823         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
59824         lib/linebreak.c.
59825         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
59826         lib/linebreak.c.
59827         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
59828         lib/linebreak.c.
59829         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
59830         lib/linebreak.c.
59831         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
59832         lib/linebreak.c.
59833         * modules/unilbrk/base: New file.
59834         * modules/unilbrk/tables: New file.
59835         * modules/unilbrk/u8-possible-linebreaks: New file.
59836         * modules/unilbrk/u16-possible-linebreaks: New file.
59837         * modules/unilbrk/u32-possible-linebreaks: New file.
59838         * modules/unilbrk/ulc-common: New file.
59839         * modules/unilbrk/ulc-possible-linebreaks: New file.
59840         * modules/unilbrk/u8-width-linebreaks: New file.
59841         * modules/unilbrk/u16-width-linebreaks: New file.
59842         * modules/unilbrk/u32-width-linebreaks: New file.
59843         * modules/unilbrk/ulc-width-linebreaks: New file.
59844         * lib/linebreak.h: Remove file.
59845         * lib/linebreak.c: Remove file.
59846         * m4/linebreak.m4: Remove file.
59847         * modules/linebreak: Remove file.
59848         * NEWS: Mention the changes.
59849
59850 2008-05-09  Eric Blake  <ebb9@byu.net>
59851
59852         Add xmemdup0.
59853         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
59854         implementation.
59855         * lib/xmalloc.c (xmemdup0): New C implementation.
59856
59857 2008-05-08  Bruno Haible  <bruno@clisp.org>
59858
59859         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
59860
59861 2008-05-07  Eric Blake  <ebb9@byu.net>
59862
59863         Support cross-compilation of <wctype.h>.
59864         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
59865         AC_CACHE_CHECK.
59866
59867 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
59868
59869         * build-aux/vc-list-files: Add support for bzr.
59870
59871 2008-05-03  Jim Meyering  <meyering@redhat.com>
59872
59873         avoid failed assertion with tight malloc
59874         * tests/test-getndelim2.c: Correct an off-by-one assertion.
59875
59876 2008-05-03  Simon Josefsson  <simon@josefsson.org>
59877
59878         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
59879         are needed from arpa/inet.h.
59880         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
59881         Reported by Bruno Haible.
59882
59883 2008-05-02  Jim Meyering  <meyering@redhat.com>
59884
59885         avoid compilation error on FreeBSD 6
59886         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
59887
59888 2008-05-01  Jim Meyering  <meyering@redhat.com>
59889
59890         useless-if-before-free: correct --help's exit status description
59891         * build-aux/useless-if-before-free (usage): Like grep, exit 0
59892         for one or more matches, etc.  Reported by Bruno Haible.
59893
59894         vc-list-files: make the stand-alone gnulib test work
59895         * modules/vc-list-files-tests (configure.ac):
59896         Define and AC_SUBST abs_aux_dir.
59897         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
59898         $(abs_top_srcdir) to each script and having each of them
59899         duplicate the work of setting PATH, set PATH here, using
59900         the new variable, abs_aux_dir instead.
59901         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
59902         * tests/test-vc-list-files-git.sh: Likewise.
59903         Reported by Bruno Haible.
59904
59905 2008-05-01  Bruno Haible  <bruno@clisp.org>
59906
59907         * lib/getndelim2.c (getndelim2): Fix newsize computation during
59908         reallocation. Rename 'done' to 'found_delimiter'.
59909
59910 2008-05-01  Jim Meyering  <meyering@redhat.com>
59911
59912         vc-list-files: accommodate /bin/sh like the one from Solaris 10
59913         * build-aux/vc-list-files: Use `...`, not $(...).
59914
59915 2008-04-30  Jim Meyering  <meyering@redhat.com>
59916
59917         add tests for vc-list-files
59918         * modules/vc-list-files-tests: New module.
59919         * tests/test-vc-list-files-cvs.sh: New file.
59920         * tests/test-vc-list-files-git.sh: New file.
59921
59922         avoid a warning from gcc
59923         * lib/getndelim2.c (IF_LINT): Define.
59924         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
59925
59926         vc-list-files: work properly with build-aux/cvsu, too
59927         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
59928         to all cvs-based clauses.
59929
59930         vc-list-files: work properly in the CVS+awk case, too
59931         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
59932
59933         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
59934         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
59935         take more than one file argument, so .  Add quotes, just in case $dir
59936         ever contains a shell meta-character.  Prompted by Soren Hansen in
59937         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
59938
59939 2008-04-29  Eric Blake  <ebb9@byu.net>
59940
59941         Optimize getndelim2 to use block operations when possible.
59942         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
59943         freadseek, and memchr2.
59944         * lib/getndelim2.c (getndelim2): Use them for block reads.
59945
59946 2008-04-29  Bruno Haible  <bruno@clisp.org>
59947
59948         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
59949         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59950         * modules/inet_ntop (Depends-on): Add extensions.
59951         * modules/inet_pton (Depends-on): Likewise.
59952         Reported by Simon Josefsson.
59953
59954 2008-04-29  Jim Meyering  <meyering@redhat.com>
59955
59956         When the is more than one match in a block, match all of them.
59957         * build-aux/useless-if-before-free: Iterate through each block
59958         until there are no more matches.
59959
59960         Fix broken useless-if-before-free script.
59961         * build-aux/useless-if-before-free: Fix typo: missing "?" after
59962         the expression to match cast of argument to free-like function.
59963
59964 2008-04-29  Eric Blake  <ebb9@byu.net>
59965
59966         Use new header.
59967         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
59968
59969 2008-04-29  Jim Meyering  <meyering@redhat.com>
59970
59971         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
59972         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
59973         by gnulib to exist and to declare e.g., inet_ntop.
59974         Don't include "inet_ntop.h", now removed.
59975
59976         * m4/arpa_inet_h.m4: Remove trailing blanks.
59977
59978 2008-04-29  Eric Blake  <ebb9@byu.net>
59979
59980         Silence valgrind on safe reads beyond potential array bounds.
59981         * lib/rawmemchr.valgrind: New file.
59982         * lib/strchrnul.valgrind: Likewise.
59983         * modules/rawmemchr (Files): Distribute new file.
59984         * modules/strchrnul (Files): Likewise.
59985         Suggested by Bruno Haible.
59986
59987 2008-04-29  Bruno Haible  <bruno@clisp.org>
59988
59989         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
59990         (inet_ntop, inet_pton): Change portability warning's wording.
59991         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
59992         Invoke gl_CHECK_NEXT_HEADERS.
59993         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
59994         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
59995         set ARPA_INET_H.
59996         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59997         * modules/arpa_inet (Description): No longer only for systems that
59998         lack it.
59999         (Depends-on): Add include_next.
60000         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
60001         HAVE_ARPA_INET_H.
60002
60003 2008-04-29  Jim Meyering  <meyering@redhat.com>
60004
60005         * modules/mkdir (License): Re-license as LGPLv2+.
60006
60007 2008-04-29  Bruno Haible  <bruno@clisp.org>
60008
60009         * modules/rawmemchr (Maintainer): Set to Eric.
60010         * modules/strchrnul (Maintainer): Likewise.
60011
60012 2008-04-29  Simon Josefsson  <simon@josefsson.org>
60013
60014         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
60015         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
60016
60017         * modules/arpa_inet (arpa/inet.h): Use them.
60018
60019 2008-04-28  Eric Blake  <ebb9@byu.net>
60020
60021         Test getndelim2.
60022         * modules/getndelim2-tests: New file.
60023         * tests/test-getndelim2.c: Likewise.
60024         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
60025         stream.
60026         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
60027
60028         * MODULES.html.sh: Document new module.
60029
60030 2008-04-20  Bruno Haible  <bruno@clisp.org>
60031
60032         * lib/c-stack.c (die): Use raise.
60033         * modules/c-stack (Depends-on): Add raise.
60034
60035 2008-04-28  Bruno Haible  <bruno@clisp.org>
60036
60037         Expect rpmatch to be declared.
60038         * lib/yesno.c (rpmatch): Remove declaration.
60039
60040         Declare rpmatch.
60041         * lib/stdlib.in.h (rpmatch): New declaration.
60042         * lib/rpmatch.c: Include <stdlib.h> first.
60043         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
60044         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
60045         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
60046         HAVE_RPMATCH.
60047         * modules/rpmatch (Depends-on): Add stdlib, extensions.
60048         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
60049         (Include): Set to <stdlib.h>.
60050         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
60051         HAVE_RPMATCH.
60052         * NEWS: Document the change.
60053
60054 2008-04-28  Bruno Haible  <bruno@clisp.org>
60055
60056         Change rpmatch to use nl_langinfo when appropriate.
60057         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
60058         (N_): New macro.
60059         (localized_pattern): New function/macro.
60060         (try): Remove match, nomatch arguments. Copy the pattern into safe
60061         memory before caching it.
60062         (rpmatch): Use localized_pattern. Add translator comments.
60063         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
60064         Suggested by Eric Blake.
60065         * modules/rpmatch (Depends-on): Add stdbool.
60066
60067 2008-04-28  Eric Blake  <ebb9@byu.net>
60068
60069         Add rawmemchr module, matching glibc.
60070         * modules/string (Makefile.am): New indicator.
60071         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
60072         * lib/string.in.h (rawmemchr): Declare when appropriate.
60073         * modules/rawmemchr: New file.
60074         * m4/rawmemchr.m4: Likewise.
60075         * lib/rawmemchr.c: Likewise.
60076         * modules/rawmemchr-tests: Likewise.
60077         * tests/test-rawmemchr.c: Likewise.
60078         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
60079         module.
60080         * modules/strchrnul (Depends-on): Add rawmemchr.
60081         * lib/strchrnul.c (strchrnul): Optimize a corner case.
60082
60083         Whitespace cleanup.
60084         * tests/test-strchrnul.c: Reindent.
60085         * lib/strchrnul.c: Likewise.
60086
60087         Optimize and test strchrnul.
60088         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
60089         * modules/strchrnul-tests: New file.
60090         * tests/test-strchrnul.c: Likewise.
60091
60092         Remove intprops dependency.
60093         * modules/memchr (Depends-on): Remove intprops.
60094         * modules/memrchr (Depends-on): Likewise.
60095         * modules/memchr2 (Depends-on): Likewise.
60096         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
60097         * lib/memrchr.c (__memrchr): Likewise.
60098         * lib/memrchr2.c (memchr2): Likewise.
60099         Reported by Simon Josefsson.
60100
60101 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60102
60103         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
60104         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60105
60106 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60107
60108         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
60109
60110         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
60111
60112         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
60113
60114         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
60115         declarations.
60116         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
60117
60118         * m4/inet_pton.m4: Don't check for header files.
60119
60120         * m4/inet_ntop.m4: Don't check for header files.
60121
60122 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60123
60124         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
60125         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
60126         trigger for cygwin).
60127         Reported by Bruno Haible  <bruno@clisp.org>.
60128
60129 2008-04-28  Bruno Haible  <bruno@clisp.org>
60130
60131         * doc/posix-functions/strdup.texi: Mention mingw problem.
60132
60133 2008-04-27  Bruno Haible  <bruno@clisp.org>
60134
60135         * modules/stat-time-tests (Depends-on): Add sleep.
60136         * tests/test-stat-time.c (force_unlink): New function.
60137         (cleanup): Use it.
60138         (test_mtime): Remove the ctime related tests.
60139         (test_ctime): New function, containing the ctime related tests.
60140         (main): Call test_ctime, except on native Windows platforms.
60141
60142 2008-04-27  Bruno Haible  <bruno@clisp.org>
60143
60144         * lib/rpmatch.c (rpmatch): Add some comments.
60145         Reported by James Youngman <jay@gnu.org>.
60146
60147 2008-04-27  Bruno Haible  <bruno@clisp.org>
60148
60149         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
60150         quiet NaNs.
60151
60152 2008-04-27  Bruno Haible  <bruno@clisp.org>
60153
60154         Make test-yesno.sh work on mingw.
60155         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
60156         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
60157         (main): Set stdin to binary mode.
60158         * modules/yesno-tests (Depends-on): Add binary-io.
60159
60160 2008-04-27  Bruno Haible  <bruno@clisp.org>
60161
60162         Fix 'isfinite' on x86, x86_64, ia64 platforms.
60163         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
60164         argument that lie outside the IEEE 854 domain.
60165         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
60166         (gl_ISFINITE): Use it.
60167         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
60168
60169 2008-04-27  Bruno Haible  <bruno@clisp.org>
60170
60171         Allow local renaming in config.h.
60172         * lib/memrchr.c (memrchr): Don't undefine outside libc.
60173
60174 2008-04-27  Bruno Haible  <bruno@clisp.org>
60175
60176         * lib/memchr.c (__memchr): Change type of 'i'.
60177         * lib/memchr2.c (memchr2): Likewise.
60178
60179 2008-04-26  Eric Blake  <ebb9@byu.net>
60180         and Bruno Haible  <bruno@clisp.org>
60181
60182         Optimize and test memrchr.
60183         * modules/memrchr (Depends-on): Add intprops.
60184         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
60185         * modules/memrchr-tests: New file.
60186         * tests/test-memrchr.c: New file.
60187
60188 2008-04-26  Bruno Haible  <bruno@clisp.org>
60189
60190         Add tentative support for DragonFly BSD.
60191         * lib/stdio-impl.h: Add macros for DragonFly BSD.
60192         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
60193         fp.
60194         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
60195         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
60196         * lib/fpurge.c (fpurge): Likewise.
60197         * lib/freadable.c (freaadable): Likewise.
60198         * lib/freadahead.c (freadahead): Likewise.
60199         * lib/freading.c (freading): Likewise.
60200         * lib/freadptr.c (freadptr): Likewise.
60201         * lib/freadseek.c (freadptrinc): Likewise.
60202         * lib/fseeko.c (fseeko): Likewise.
60203         * lib/fseterr.c (fseterr): Likewise.
60204         * lib/fwritable.c (fwritable): Likewise.
60205         * lib/fwriting.c (fwriting): Likewise.
60206
60207 2008-04-26  Bruno Haible  <bruno@clisp.org>
60208
60209         * lib/stdio-impl.h: New file.
60210         * lib/fbufmode.c: Include stdio-impl.h.
60211         (fbufmode): Use fp_, remove redundant #defines.
60212         * lib/fflush.c: Include stdio-impl.h.
60213         (clear_ungetc_buffer): Remove redundant #defines.
60214         * lib/fpurge.c: Include stdio-impl.h.
60215         (fpurge): Remove redundant #defines.
60216         * lib/freadable.c: Include stdio-impl.h.
60217         (freadable): Remove redundant #defines.
60218         * lib/freadahead.c: Include stdio-impl.h.
60219         (freadahead): Remove redundant #defines.
60220         * lib/freading.c: Include stdio-impl.h.
60221         (freading): Remove redundant #defines.
60222         * lib/freadptr.c: Include stdio-impl.h.
60223         (freadptr): Remove redundant #defines.
60224         * lib/freadseek.c: Include stdio-impl.h.
60225         (freadptrinc): Remove redundant #defines.
60226         * lib/fseeko.c: Include stdio-impl.h.
60227         (rpl_fseeko): Remove redundant #defines.
60228         * lib/fseterr.c: Include stdio-impl.h.
60229         (fseterr): Remove redundant #defines.
60230         * lib/fwritable.c: Include stdio-impl.h.
60231         (fwritable: Remove redundant #defines.
60232         * lib/fwriting.c: Include stdio-impl.h.
60233         (fwriting): Remove redundant #defines.
60234         * modules/fbufmode (Files): Add lib/stdio-impl.h.
60235         * modules/fflush (Files): Likewise.
60236         * modules/fpurge (Files): Likewise.
60237         * modules/freadable (Files): Likewise.
60238         * modules/freadahead (Files): Likewise.
60239         * modules/freading (Files): Likewise.
60240         * modules/freadptr (Files): Likewise.
60241         * modules/freadseek (Files): Likewise.
60242         * modules/fseeko (Files): Likewise.
60243         * modules/fseterr (Files): Likewise.
60244         * modules/fwritable (Files): Likewise.
60245         * modules/fwriting (Files): Likewise.
60246
60247 2008-04-26  Bruno Haible  <bruno@clisp.org>
60248
60249         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
60250         restore_seek_optimization, update_fpos_cache): New functions, extracted
60251         from rpl_fflush.
60252         (rpl_fflush): Use them.
60253         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
60254         (gl_REPLACE_FFLUSH): Use it.
60255
60256 2008-04-26  Bruno Haible  <bruno@clisp.org>
60257
60258         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
60259         on Solaris.
60260         * tests/test-xstrtoimax.sh: Likewise.
60261         * tests/test-xstrtoumax.sh: Likewise.
60262         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60263
60264 2008-04-26  Bruno Haible  <bruno@clisp.org>
60265
60266         * modules/memchr-tests: New file.
60267         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
60268
60269 2008-04-26  Eric Blake  <ebb9@byu.net>
60270             Bruno Haible  <bruno@clisp.org>
60271
60272         * lib/memchr.c: Include intprops.h.
60273         (__memchr): Optimize parallel detection of matching bytes. Rename local
60274         variables. Add explanatory comments.
60275
60276 2008-04-26  Bruno Haible  <bruno@clisp.org>
60277
60278         Fix module 'memchr', broken since 2000-10-28.
60279         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
60280
60281 2008-04-26  Bruno Haible  <bruno@clisp.org>
60282
60283         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
60284         comments.
60285
60286 2008-04-25  Eric Blake  <ebb9@byu.net>
60287
60288         Use native fstatat on cygwin 1.7.0.
60289         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
60290         first.
60291
60292 2008-04-23  Eric Blake  <ebb9@byu.net>
60293
60294         Improve memchr2 performance.
60295         * lib/memchr2.c (memchr2): Further optimize parallel detection of
60296         NUL bytes.
60297         * modules/memchr2 (Depends-on): Use intprops.h.
60298
60299 2008-04-23  Simon Josefsson  <simon@josefsson.org>
60300
60301         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
60302         an inline function instead of a CPP macro.  Patch by Ben Pfaff
60303         <blp@cs.stanford.edu>.
60304
60305 2008-04-23  Simon Josefsson  <simon@josefsson.org>
60306
60307         * lib/arpa_inet.in.h: New file.
60308
60309         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
60310         (Makefile.am): Sed in substitute header file.
60311
60312         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
60313         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
60314
60315         * modules/inet_ntop (configure.ac): Use
60316         gl_ARPA_INET_MODULE_INDICATOR.
60317
60318         * modules/inet_pton (configure.ac): Use
60319         gl_ARPA_INET_MODULE_INDICATOR.
60320
60321 2008-04-22  Jim Meyering  <meyering@redhat.com>
60322
60323         * modules/verify (License): Re-license as LGPLv2+.
60324
60325 2008-04-22  Simon Josefsson  <simon@josefsson.org>
60326
60327         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
60328         parameter to void* as per POSIX standard (MinGW uses char*).
60329
60330 2008-04-21  Bruno Haible  <bruno@clisp.org>
60331
60332         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60333         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
60334         Define to replacements if REPLACE_ISWCNTRL is 1.
60335         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
60336         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
60337         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
60338         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
60339         what it fixes.
60340         * doc/posix-functions/iswalpha.texi: Likewise.
60341         * doc/posix-functions/iswblank.texi: Likewise.
60342         * doc/posix-functions/iswcntrl.texi: Likewise.
60343         * doc/posix-functions/iswdigit.texi: Likewise.
60344         * doc/posix-functions/iswgraph.texi: Likewise.
60345         * doc/posix-functions/iswlower.texi: Likewise.
60346         * doc/posix-functions/iswprint.texi: Likewise.
60347         * doc/posix-functions/iswpunct.texi: Likewise.
60348         * doc/posix-functions/iswspace.texi: Likewise.
60349         * doc/posix-functions/iswupper.texi: Likewise.
60350         * doc/posix-functions/iswxdigit.texi: Likewise.
60351         Reported by Alain Guibert.
60352
60353 2008-04-21  Bruno Haible  <bruno@clisp.org>
60354
60355         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
60356         Patch by Alain Guibert.
60357
60358 2008-04-21  Bruno Haible  <bruno@clisp.org>
60359
60360         Fix test failures on mingw.
60361         * tests/test-xstrtol.c (print_no_progname): New function.
60362         (main): Install it in error_print_progname hook.
60363         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
60364         * tests/test-xstrtoimax.sh: Likewise.
60365         * tests/test-xstrtoumax.sh: Likewise.
60366
60367 2008-04-21  Bruno Haible  <bruno@clisp.org>
60368
60369         Fix test failure on mingw.
60370         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
60371
60372 2008-04-21  Bruno Haible  <bruno@clisp.org>
60373
60374         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
60375         Actually assign a value.
60376
60377 2008-04-20  Bruno Haible  <bruno@clisp.org>
60378
60379         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
60380         take 2.
60381         * lib/canonicalize.c (canonicalize_file_name): Elide if the
60382         'canonicalize-lgpl' module is also used.
60383         * lib/canonicalize-lgpl.c: Undo last change.
60384         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
60385
60386 2008-04-20  Bruno Haible  <bruno@clisp.org>
60387
60388         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
60389         config.h. Provide _mkdir based fallback for mingw.
60390         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
60391         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
60392         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
60393         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
60394         rather than defining mkdir in config.h.
60395         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
60396         (gl_SYS_STAT_H_DEFAULTS): New macro.
60397         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
60398         HAVE_IO_H any more.
60399         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
60400         HAVE_DECL_MKDIR and HAVE_IO_H.
60401
60402 2008-04-20  Bruno Haible  <bruno@clisp.org>
60403
60404         * lib/isapipe.c: Port to native Windows platforms.
60405
60406 2008-04-20  Bruno Haible  <bruno@clisp.org>
60407
60408         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
60409
60410 2008-04-21  Eric Blake  <ebb9@byu.net>
60411
60412         Work around preprocessors that don't handle UINTMAX_MAX.
60413         * lib/memchr2.c (memchr2): Avoid embedded #if.
60414         Reported by Alain Guibert, fix suggested by Bruno Haible.
60415
60416 2008-04-21  Simon Josefsson  <simon@josefsson.org>
60417
60418         * doc/posix-functions/strftime.texi (strftime): Explain better
60419         Windows incompatibility.  Suggested by Micah Cowan
60420         <micah@cowan.name>.
60421
60422 2008-04-20  Bruno Haible  <bruno@clisp.org>
60423
60424         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
60425         unistr/u8-mblen.
60426
60427 2008-04-20  Bruno Haible  <bruno@clisp.org>
60428
60429         Fix test failure on platforms with non-GNU iconv.
60430         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
60431         (U_TO_U8): Use it, rather than u16_to_u8.
60432         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
60433         units at the end of the input string.
60434         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
60435
60436 2008-04-20  Bruno Haible  <bruno@clisp.org>
60437
60438         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
60439         when the resulting length is 0.
60440         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
60441
60442 2008-04-20  Bruno Haible  <bruno@clisp.org>
60443
60444         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
60445         works.
60446         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
60447
60448 2008-04-20  Bruno Haible  <bruno@clisp.org>
60449
60450         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
60451         * modules/tsearch-tests (configure.ac): Test for initstate function.
60452
60453 2008-04-20  Bruno Haible  <bruno@clisp.org>
60454
60455         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
60456         for nlink_t if missing.
60457         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
60458
60459 2008-04-19  Bruno Haible  <bruno@clisp.org>
60460
60461         Work around snprintf bug on Linux libc5.
60462         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
60463         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60464         gl_SNPRINTF_SIZE1.
60465         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60466         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
60467         that test failed.
60468         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
60469         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
60470         * modules/snprintf (Files): Add m4/printf.m4.
60471         * modules/vsnprintf (Files): Likewise.
60472         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
60473         * doc/posix-functions/vsnprintf.texi: Likewise.
60474
60475 2008-04-19  Bruno Haible  <bruno@clisp.org>
60476
60477         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
60478         from 0.0058 to less than 10^-7.
60479
60480 2008-04-19  Bruno Haible  <bruno@clisp.org>
60481
60482         Fix rounding when a precision is given.
60483         * lib/vasnprintf.c (is_borderline): New function.
60484         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
60485         9...9x.
60486         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
60487         %e, %g.
60488         * tests/test-vasprintf-posix.c (test_function): Likewise.
60489         * tests/test-snprintf-posix.h (test_function): Likewise.
60490         * tests/test-sprintf-posix.h (test_function): Likewise.
60491         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
60492         * tests/test-printf-posix.h (test_function): Likewise.
60493         * tests/test-printf-posix.output: Update.
60494         Reported by John Darrington <john@darrington.wattle.id.au> via
60495         Ben Pfaff <blp@cs.stanford.edu>.
60496
60497 2008-04-18  Simon Josefsson  <simon@josefsson.org>
60498
60499         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
60500         Suggested by Bruno Haible <bruno@clisp.org>.
60501
60502 2008-04-17  Bruno Haible  <bruno@clisp.org>
60503
60504         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
60505         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
60506         implementation.
60507         Patch by Bruce Merry <bmerry@gmail.com>.
60508
60509 2008-04-17  Simon Josefsson  <simon@josefsson.org>
60510
60511         * doc/posix-functions/strftime.texi (strftime): Mention that %e
60512         doesn't work under Windows.
60513
60514 2008-04-16  Bruno Haible  <bruno@clisp.org>
60515
60516         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
60517         New macros.
60518         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
60519         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
60520         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
60521         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
60522         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
60523         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
60524         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
60525         macros.
60526         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
60527         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
60528         Northern Sotho, Uighur.
60529
60530 2008-04-16  Bruno Haible  <bruno@clisp.org>
60531
60532         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
60533         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
60534         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
60535         Reported by Daniel Bergström <daniel@octocode.com>.
60536
60537 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
60538             Bruno Haible  <bruno@clisp.org>
60539
60540         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
60541         function.
60542         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
60543         New functions, mostly extracted from gl_locale_name_default.
60544         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
60545
60546 2008-04-16  Eric Blake  <ebb9@byu.net>
60547
60548         Adjust strtod detection to catch glibc 2.7 bug.
60549         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
60550         Reported by John Gatewood Ham.
60551
60552 2008-04-16  Bruno Haible  <bruno@clisp.org>
60553
60554         Add tentative support for Linux libc5.
60555         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
60556         * lib/fpurge.c (fpurge): Likewise.
60557         * lib/freadable.c (freadable): Likewise.
60558         * lib/freadahead.c (freadahead): Likewise.
60559         * lib/freading.c (freading): Likewise.
60560         * lib/freadptr.c (freadptr): Likewise.
60561         * lib/freadseek.c (freadptrinc): Likewise.
60562         * lib/fseeko.c (rpl_fseeko): Likewise.
60563         * lib/fseterr.c (fseterr): Likewise.
60564         * lib/fwritable.c (fwritable): Likewise.
60565         * lib/fwriting.c (fwriting): Likewise.
60566         Reported by Alain Guibert <alguibert+bts@free.fr>.
60567
60568 2008-04-15  Bruno Haible  <bruno@clisp.org>
60569
60570         * modules/mathl (configure.ac): Define module indicator.
60571
60572 2008-04-15  Bruno Haible  <bruno@clisp.org>
60573
60574         * lib/logl.c (logl): Remove unused variables.
60575
60576 2008-04-15  Bruno Haible  <bruno@clisp.org>
60577
60578         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
60579         fails.
60580
60581 2008-04-15  Bruno Haible  <bruno@clisp.org>
60582
60583         * lib/trim.c (trim2): Fix argument of isspace() macro.
60584
60585 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
60586
60587         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
60588         to 0.
60589         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
60590
60591 2008-04-14  Bruno Haible  <bruno@clisp.org>
60592
60593         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
60594         AC_LANG_PROGRAM argument.
60595         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
60596         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
60597         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
60598         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
60599         * m4/math_h.m4 (gl_MATH_H): Likewise.
60600         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
60601         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60602         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
60603         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
60604         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
60605         * m4/regex.m4 (gl_REGEX): Likewise.
60606         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
60607         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
60608         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
60609         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
60610         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60611         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
60612         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60613         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
60614
60615 2008-04-14  Jim Meyering  <meyering@redhat.com>
60616
60617         test-strtod: fix typos: s/abs/fabs/
60618         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
60619
60620 2008-04-13  Bruno Haible  <bruno@clisp.org>
60621
60622         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
60623         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
60624         module is also used and while not building the reloc-wrapper.
60625
60626 2008-04-13  Bruno Haible  <bruno@clisp.org>
60627
60628         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
60629
60630 2008-04-13  Bruno Haible  <bruno@clisp.org>
60631
60632         Fix AIX compilation failure introduced on 2008-04-02.
60633         * tests/test-frexp.c (exp): Undefine before redefining.
60634         * tests/test-frexpl.c (exp): Likewise.
60635
60636 2008-04-13  Bruno Haible  <bruno@clisp.org>
60637
60638         Work around a HP-UX stdio bug.
60639         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
60640         * tests/test-ftello.c (main): Likewise.
60641         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
60642         * doc/posix-functions/ftello.texi: Likewise.
60643
60644 2008-04-13  Bruno Haible  <bruno@clisp.org>
60645
60646         Make test-signbit pass on HP-UX/hppa.
60647         * tests/test-signbit.c (minus_zerol): New variable.
60648         (test_signbitl): Use it.
60649
60650 2008-04-13  Bruno Haible  <bruno@clisp.org>
60651
60652         Make truncl work on OSF/1 4.0.
60653         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
60654         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60655         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60656         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
60657         HAVE_DECL_TRUNCL.
60658         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
60659         HAVE_DECL_TRUNCL.
60660         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
60661
60662 2008-04-13  Bruno Haible  <bruno@clisp.org>
60663
60664         * lib/unictype.h: Remove trailing comma from enumeration definitions.
60665
60666 2008-04-13  Bruno Haible  <bruno@clisp.org>
60667
60668         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
60669         expression, so as to avoid HP-UX 11 cc compiler bug.
60670
60671 2008-04-13  Bruno Haible  <bruno@clisp.org>
60672
60673         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
60674
60675 2008-04-13  Bruno Haible  <bruno@clisp.org>
60676
60677         * lib/git-merge-changelog.c: Remove empty declaration outside of
60678         functions.
60679
60680 2008-04-13  Bruno Haible  <bruno@clisp.org>
60681
60682         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
60683
60684 2008-04-13  Bruno Haible  <bruno@clisp.org>
60685
60686         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
60687         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
60688         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
60689         also if it exists but lacks definitions of the SHUT_* macros.
60690         * modules/sys_socket (Description): Update.
60691         Reported by Elbert Pol <e.pol@chello.nl>.
60692
60693 2008-04-13  Bruno Haible  <bruno@clisp.org>
60694
60695         * lib/localcharset.c (OS2): Don't redefine if already defined.
60696         Reported by Elbert Pol <e.pol@chello.nl>.
60697
60698 2008-04-13  Bruno Haible  <bruno@clisp.org>
60699
60700         * lib/binary-io.h [__EMX__]: Include <io.h>.
60701         Reported by Elbert Pol <e.pol@chello.nl>.
60702
60703 2008-04-12  Bruno Haible  <bruno@clisp.org>
60704
60705         * lib/fpucw.h: Enable the definitions also for x86_64.
60706         Needed for NetBSD/x86_64.
60707         Reported by Thomas Klausner <tk@giga.or.at>.
60708
60709 2008-04-12  Bruno Haible  <bruno@clisp.org>
60710
60711         * tests/test-strtod.c: Include isnand.h.
60712         (main): Use isnand instead of isnan.
60713         Reported by Jim Meyering.
60714
60715 2008-04-12  Bruno Haible  <bruno@clisp.org>
60716
60717         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
60718         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
60719
60720 2008-04-12  Jim Meyering  <meyering@redhat.com>
60721
60722         * m4/math_h.m4 (gl_MATH_H): Fix typos.
60723
60724 2008-04-12  Bruno Haible  <bruno@clisp.org>
60725
60726         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
60727         Reported by Elbert Pol <e.pol@chello.nl>.
60728
60729 2008-04-12  Eric Blake  <ebb9@byu.net>
60730
60731         Work around Solaris 10 math.h bug.
60732         * m4/math_h.m4 (gl_MATH_H): Check for bug.
60733         (gl_MATH_H_DEFAULTS): Set up default.
60734         * modules/math (Makefile.am): Replace new indicators.
60735         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
60736         * tests/test-math.c (main): Test this.
60737         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
60738         * doc/posix-headers/math.texi (math.h): Mention bug.
60739         Reported by Nelson H. F. Beebe and Jim Meyering.
60740
60741 2008-04-11  Bruno Haible  <bruno@clisp.org>
60742
60743         Adapt to future versions of Apple GCC.
60744         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
60745         Reported by Peter O'Gorman <peter@pogma.com>.
60746
60747 2008-04-11  Bruno Haible  <bruno@clisp.org>
60748
60749         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
60750
60751 2008-04-11  Bruno Haible  <bruno@clisp.org>
60752
60753         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
60754
60755         * modules/getaddrinfo-tests (Makefile.am): Define
60756         test_getaddrinfo_LDADD.
60757
60758 2008-04-11  Bruno Haible  <bruno@clisp.org>
60759
60760         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
60761         (init): Fix syntax error.
60762         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
60763         is declared.
60764
60765 2008-04-11  Bruno Haible  <bruno@clisp.org>
60766
60767         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
60768         * modules/glob (Depends-on): Add stdbool.
60769
60770 2008-04-11  Bruno Haible  <bruno@clisp.org>
60771
60772         * lib/trim.c: Include <string.h>.
60773
60774 2008-04-11  Eric Blake  <ebb9@byu.net>
60775
60776         Avoid compile failure on OS/2.
60777         * lib/regex_internal.h (internal_function): Disable optimization
60778         on OS/2 (__EMX__), where it caused compiler error.
60779         Reported by Elbert Pol.
60780
60781 2008-04-11  Bruno Haible  <bruno@clisp.org>
60782
60783         Flush the standard error stream before aborting. Needed on mingw.
60784         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
60785         * tests/test-array_list.c (ASSERT): Likewise.
60786         * tests/test-array_oset.c (ASSERT): Likewise.
60787         * tests/test-avltree_list.c (ASSERT): Likewise.
60788         * tests/test-avltree_oset.c (ASSERT): Likewise.
60789         * tests/test-avltreehash_list.c (ASSERT): Likewise.
60790         * tests/test-binary-io.c (ASSERT): Likewise.
60791         * tests/test-byteswap.c (ASSERT): Likewise.
60792         * tests/test-c-ctype.c (ASSERT): Likewise.
60793         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
60794         * tests/test-c-strcasestr.c (ASSERT): Likewise.
60795         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
60796         * tests/test-c-strstr.c (ASSERT): Likewise.
60797         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
60798         * tests/test-canonicalize.c (ASSERT): Likewise.
60799         * tests/test-carray_list.c (ASSERT): Likewise.
60800         * tests/test-ceilf1.c (ASSERT): Likewise.
60801         * tests/test-ceilf2.c (ASSERT): Likewise.
60802         * tests/test-ceill.c (ASSERT): Likewise.
60803         * tests/test-count-one-bits.c (ASSERT): Likewise.
60804         * tests/test-fbufmode.c (ASSERT): Likewise.
60805         * tests/test-fflush2.c (ASSERT): Likewise.
60806         * tests/test-floorf1.c (ASSERT): Likewise.
60807         * tests/test-floorf2.c (ASSERT): Likewise.
60808         * tests/test-floorl.c (ASSERT): Likewise.
60809         * tests/test-fopen.c (ASSERT): Likewise.
60810         * tests/test-fpending.c (ASSERT): Likewise.
60811         * tests/test-fprintf-posix.c (ASSERT): Likewise.
60812         * tests/test-fpurge.c (ASSERT): Likewise.
60813         * tests/test-freadable.c (ASSERT): Likewise.
60814         * tests/test-freadahead.c (ASSERT): Likewise.
60815         * tests/test-freading.c (ASSERT): Likewise.
60816         * tests/test-freadptr.c (ASSERT): Likewise.
60817         * tests/test-freadptr2.c (ASSERT): Likewise.
60818         * tests/test-freadseek.c (ASSERT): Likewise.
60819         * tests/test-freopen.c (ASSERT): Likewise.
60820         * tests/test-frexp.c (ASSERT): Likewise.
60821         * tests/test-frexpl.c (ASSERT): Likewise.
60822         * tests/test-fseek.c (ASSERT): Likewise.
60823         * tests/test-fseeko.c (ASSERT): Likewise.
60824         * tests/test-fstrcmp.c (ASSERT): Likewise.
60825         * tests/test-ftell.c (ASSERT): Likewise.
60826         * tests/test-ftello.c (ASSERT): Likewise.
60827         * tests/test-func.c (ASSERT): Likewise.
60828         * tests/test-fwritable.c (ASSERT): Likewise.
60829         * tests/test-fwriting.c (ASSERT): Likewise.
60830         * tests/test-getdelim.c (ASSERT): Likewise.
60831         * tests/test-getline.c (ASSERT): Likewise.
60832         * tests/test-i-ring.c (ASSERT): Likewise.
60833         * tests/test-iconv-utf.c (ASSERT): Likewise.
60834         * tests/test-iconv.c (ASSERT): Likewise.
60835         * tests/test-isfinite.c (ASSERT): Likewise.
60836         * tests/test-isnand.c (ASSERT): Likewise.
60837         * tests/test-isnanf.c (ASSERT): Likewise.
60838         * tests/test-isnanl.h (ASSERT): Likewise.
60839         * tests/test-ldexpl.c (ASSERT): Likewise.
60840         * tests/test-linked_list.c (ASSERT): Likewise.
60841         * tests/test-linkedhash_list.c (ASSERT): Likewise.
60842         * tests/test-localename.c (ASSERT): Likewise.
60843         * tests/test-lseek.c (ASSERT): Likewise.
60844         * tests/test-mbscasecmp.c (ASSERT): Likewise.
60845         * tests/test-mbscasestr1.c (ASSERT): Likewise.
60846         * tests/test-mbscasestr2.c (ASSERT): Likewise.
60847         * tests/test-mbscasestr3.c (ASSERT): Likewise.
60848         * tests/test-mbscasestr4.c (ASSERT): Likewise.
60849         * tests/test-mbschr.c (ASSERT): Likewise.
60850         * tests/test-mbscspn.c (ASSERT): Likewise.
60851         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
60852         * tests/test-mbspbrk.c (ASSERT): Likewise.
60853         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
60854         * tests/test-mbsrchr.c (ASSERT): Likewise.
60855         * tests/test-mbsspn.c (ASSERT): Likewise.
60856         * tests/test-mbsstr1.c (ASSERT): Likewise.
60857         * tests/test-mbsstr2.c (ASSERT): Likewise.
60858         * tests/test-mbsstr3.c (ASSERT): Likewise.
60859         * tests/test-memchr2.c (ASSERT): Likewise.
60860         * tests/test-memmem.c (ASSERT): Likewise.
60861         * tests/test-open.c (ASSERT): Likewise.
60862         * tests/test-printf-frexp.c (ASSERT): Likewise.
60863         * tests/test-printf-frexpl.c (ASSERT): Likewise.
60864         * tests/test-printf-posix.c (ASSERT): Likewise.
60865         * tests/test-quotearg.c (ASSERT): Likewise.
60866         * tests/test-rbtree_list.c (ASSERT): Likewise.
60867         * tests/test-rbtree_oset.c (ASSERT): Likewise.
60868         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
60869         * tests/test-round1.c (ASSERT): Likewise.
60870         * tests/test-roundf1.c (ASSERT): Likewise.
60871         * tests/test-roundl.c (ASSERT): Likewise.
60872         * tests/test-signbit.c (ASSERT): Likewise.
60873         * tests/test-sleep.c (ASSERT): Likewise.
60874         * tests/test-snprintf-posix.c (ASSERT): Likewise.
60875         * tests/test-snprintf.c (ASSERT): Likewise.
60876         * tests/test-sprintf-posix.c (ASSERT): Likewise.
60877         * tests/test-stat-time.c (ASSERT): Likewise.
60878         * tests/test-strcasestr.c (ASSERT): Likewise.
60879         * tests/test-strerror.c (ASSERT): Likewise.
60880         * tests/test-striconv.c (ASSERT): Likewise.
60881         * tests/test-striconveh.c (ASSERT): Likewise.
60882         * tests/test-striconveha.c (ASSERT): Likewise.
60883         * tests/test-strsignal.c (ASSERT): Likewise.
60884         * tests/test-strstr.c (ASSERT): Likewise.
60885         * tests/test-strtod.c (ASSERT): Likewise.
60886         * tests/test-trunc1.c (ASSERT): Likewise.
60887         * tests/test-trunc2.c (ASSERT): Likewise.
60888         * tests/test-truncf1.c (ASSERT): Likewise.
60889         * tests/test-truncf2.c (ASSERT): Likewise.
60890         * tests/test-truncl.c (ASSERT): Likewise.
60891         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
60892         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
60893         * tests/test-vasnprintf.c (ASSERT): Likewise.
60894         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
60895         * tests/test-vasprintf.c (ASSERT): Likewise.
60896         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
60897         * tests/test-vprintf-posix.c (ASSERT): Likewise.
60898         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
60899         * tests/test-vsnprintf.c (ASSERT): Likewise.
60900         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
60901         * tests/test-wcwidth.c (ASSERT): Likewise.
60902         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
60903         * tests/test-xprintf-posix.c (ASSERT): Likewise.
60904         * tests/test-xvasprintf.c (ASSERT): Likewise.
60905         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
60906         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
60907         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
60908         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
60909         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
60910         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
60911         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
60912         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
60913         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
60914         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
60915         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
60916         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
60917         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
60918         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
60919         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
60920         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
60921         * tests/unictype/test-block_list.c (ASSERT): Likewise.
60922         * tests/unictype/test-block_of.c (ASSERT): Likewise.
60923         * tests/unictype/test-block_test.c (ASSERT): Likewise.
60924         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
60925         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
60926         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
60927         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
60928         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
60929         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
60930         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
60931         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
60932         * tests/unictype/test-combining.c (ASSERT): Likewise.
60933         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
60934         * tests/unictype/test-digit.c (ASSERT): Likewise.
60935         * tests/unictype/test-mirror.c (ASSERT): Likewise.
60936         * tests/unictype/test-numeric.c (ASSERT): Likewise.
60937         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
60938         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
60939         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
60940         * tests/unictype/test-scripts.c (ASSERT): Likewise.
60941         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
60942         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
60943         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
60944         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
60945         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
60946         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
60947         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
60948         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
60949         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
60950         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
60951         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
60952         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
60953         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
60954         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
60955         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
60956         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
60957         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
60958         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
60959         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
60960         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
60961         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
60962         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
60963         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
60964         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
60965         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
60966         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
60967         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
60968         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
60969         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
60970         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
60971         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
60972         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
60973         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
60974         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
60975         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
60976         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
60977         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
60978         Reported by Eric Blake.
60979
60980 2008-04-11  Bruno Haible  <bruno@clisp.org>
60981
60982         * lib/wchar.in.h: Tweak comment.
60983
60984 2008-04-11  Bruno Haible  <bruno@clisp.org>
60985
60986         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
60987         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
60988         gl_COMMON.
60989         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
60990
60991 2008-04-11  Bruno Haible  <bruno@clisp.org>
60992
60993         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
60994
60995 2008-04-11  Simon Josefsson  <simon@josefsson.org>
60996
60997         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
60998         of attempting to use non-existing /dev/*random.  Based on patch
60999         from Adam Strzelecki <ono@java.pl> in
61000         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
61001
61002 2008-04-08  Bruno Haible  <bruno@clisp.org>
61003
61004         Add tentative support for emx+gcc.
61005         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
61006         * lib/fpurge.c (fpurge): Likewise.
61007         * lib/freadable.c (freadable): Likewise.
61008         * lib/freadahead.c (freadahead): Likewise.
61009         * lib/freading.c (freading): Likewise.
61010         * lib/freadptr.c (freadptr): Likewise.
61011         * lib/freadseek.c (freadptrinc): Likewise.
61012         * lib/fseeko.c (rpl_fseeko): Likewise.
61013         * lib/fseterr.c (fseterr): Likewise.
61014         * lib/fwritable.c (fwritable): Likewise.
61015         * lib/fwriting.c (fwriting): Likewise.
61016         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
61017
61018 2008-04-09  Eric Blake  <ebb9@byu.net>
61019
61020         Avoid some autoconf warnings.
61021         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
61022         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
61023         * m4/afs.m4 (gl_AFS): Likewise.
61024         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
61025         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
61026         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61027         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
61028         (gl_INTEGER_TYPE_SUFFIX): Likewise.
61029         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
61030         (AC_CHECK_DECLS_ONCE): Likewise.
61031         Rename file...
61032         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
61033         gnulib-tool requires autoconf 2.59 or better.
61034         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
61035
61036 2008-04-08  Eric Blake  <ebb9@byu.net>
61037
61038         Use 'git describe --match' if present (added in git 1.5.5).
61039         * build-aux/git-version-gen: Limit result to tags that match 'v*'
61040         if possible.
61041
61042 2008-04-08  Bruno Haible  <bruno@clisp.org>
61043
61044         Add tentative support for OpenServer.
61045         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
61046         _ptr, _cnt.
61047         * lib/fpurge.c (fpurge): Likewise.
61048         * lib/freadable.c (freadable): Likewise.
61049         * lib/freadahead.c (freadahead): Likewise.
61050         * lib/freading.c (freading): Likewise.
61051         * lib/freadptr.c (freadptr): Likewise.
61052         * lib/freadseek.c (freadptrinc): Likewise.
61053         * lib/fseeko.c (rpl_fseeko): Likewise.
61054         * lib/fseterr.c (fseterr): Likewise.
61055         * lib/fwritable.c (fwritable): Likewise.
61056         * lib/fwriting.c (fwriting): Likewise.
61057         Reported by Roger Cornelius <rac@tenzing.org> and
61058         Brian K. White <brian@aljex.com>.
61059
61060 2008-04-06  Jim Meyering  <meyering@redhat.com>
61061
61062         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
61063
61064 2008-04-06  Bruno Haible  <bruno@clisp.org>
61065
61066         Avoid possible error with non-ASCII bytes in UTF-8 locales.
61067         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
61068         * tests/test-printf-posix.sh: Likewise.
61069         * tests/test-vfprintf-posix.sh: Likewise.
61070         * tests/test-vprintf-posix.sh: Likewise.
61071         * tests/test-xprintf-posix.sh: Likewise.
61072
61073 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61074
61075         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
61076         hide error from 'ls', needed on OS/2.
61077         Report by Elbert Pol <elbert.pol@gmail.com>.
61078
61079 2008-04-04  Eric Blake  <ebb9@byu.net>
61080
61081         Make test-fseeko.c failures meaningful.
61082         * tests/test-fseeko.c: Print line number on failure.
61083         * tests/test-fseek.c: Likewise.
61084         Reported by Nelson H. F. Beebe.
61085
61086         Improve strtod bug detection check.
61087         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
61088         required for Solaris 10.
61089         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
61090
61091 2008-04-04  Bruno Haible  <bruno@clisp.org>
61092
61093         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
61094         by m4/setenv.m4.
61095
61096 2008-04-03  Eric Blake  <ebb9@byu.net>
61097
61098         Ensure sane .version contents.
61099         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
61100         version string.
61101         * build-aux/git-version-gen: Improve documentation.
61102
61103         Make GNU make output nicer.
61104         * top/GNUmakefile [!_have-Makefile]: Add dependency on
61105         MAKECMDGOALS to enforce message for all command line targets.  Set
61106         srcdir for use in maint.mk.
61107
61108         Another maintainer tweak.
61109         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
61110         a target that regenerates version.
61111
61112 2008-04-03  Jim Meyering  <meyering@redhat.com>
61113
61114         vc-list-files: don't cause coreutils "make po-check" failure
61115         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
61116
61117 2008-04-03  Eric Blake  <ebb9@byu.net>
61118
61119         Allow VPATH usage of vc-list-files.
61120         * build-aux/vc-list-files (scriptversion): Add timestamp.
61121         (options): Add --help, --version, -C.
61122         (CVS): Support installed cvsu.
61123
61124 2008-04-02  Bruno Haible  <bruno@clisp.org>
61125
61126         Avoid some "statement with no effect" warnings from gcc.
61127         * tests/test-wctype.c (main): Explicitly ignore unused values.
61128         Reported by Jim Meyering.
61129
61130 2008-04-02  Jim Meyering  <meyering@redhat.com>
61131
61132         Avoid some warnings from "gcc -Wshadow".
61133         * tests/test-frexp.c (exp): Define to a different identifier.
61134         * tests/test-frexpl.c (exp): Likewise.
61135
61136 2008-04-03  Jim Meyering  <meyering@redhat.com>
61137
61138         bootstrap: remove dangling *.[ch] symlinks from lib
61139         * build-aux/bootstrap [dangling symlink removal]: Move find's
61140         -depth option to precede all others, to avoid a warning.
61141         Remove *.[ch] files too, and from "$source_base" (usually lib/).
61142
61143 2008-04-02  Bruno Haible  <bruno@clisp.org>
61144
61145         Avoid some warnings from "gcc -Wshadow".
61146         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
61147         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
61148         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
61149         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
61150         Reported by Jim Meyering.
61151
61152 2008-04-01  Bruno Haible  <bruno@clisp.org>
61153
61154         Fix test to work on IRIX 6.5 with cc.
61155         * tests/test-math.c (numeric_equal): New function.
61156         (main): Use it.
61157
61158 2008-04-01  Bruno Haible  <bruno@clisp.org>
61159
61160         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
61161
61162 2008-04-01  Bruno Haible  <bruno@clisp.org>
61163
61164         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
61165         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61166         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
61167         (Depends-on): Remove math.
61168
61169         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
61170         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61171         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
61172         (Depends-on): Remove math.
61173
61174         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
61175         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61176         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
61177         (Depends-on): Remove math.
61178         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
61179         (Depends-on): Remove math.
61180
61181         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
61182         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61183         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
61184         (Depends-on): Remove math.
61185         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
61186         (Depends-on): Remove math.
61187
61188         * tests/test-round1.c: Include nan.h.
61189         (main): Use NaNd instead of NAN.
61190         * modules/round-tests (Files): Add tests/nan.h.
61191
61192         * tests/test-trunc1.c: Include nan.h.
61193         (main): Use NaNd instead of NAN.
61194         * modules/trunc-tests (Files): Add tests/nan.h.
61195
61196         * tests/test-roundf1.c: Include nan.h.
61197         (main): Use NaNf instead of NAN.
61198         * modules/roundf-tests (Files): Add tests/nan.h.
61199
61200         * tests/test-truncf1.c: Include nan.h.
61201         (main): Use NaNf instead of NAN.
61202         * modules/truncf-tests (Files): Add tests/nan.h.
61203
61204         * tests/test-ceilf1.c: Include nan.h.
61205         (main): Use NaNf instead of NAN.
61206         * modules/ceilf-tests (Files): Add tests/nan.h.
61207
61208         * tests/test-floorf1.c: Include nan.h.
61209         (main): Use NaNf instead of NAN.
61210         * modules/floorf-tests (Files): Add tests/nan.h.
61211
61212         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
61213         (main): Use NaNf instead of NAN.
61214         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
61215
61216         * tests/test-isnand.c: Include nan.h instead of <math.h>.
61217         (main): Use NaNd instead of NAN.
61218         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
61219
61220         * tests/test-frexp.c: Include nan.h.
61221         (main): Use NaNd instead of NAN.
61222         * modules/frexp-tests (Files): Add tests/nan.h.
61223
61224         * lib/isnan.c: Don't include <math.h>.
61225         (FUNC): Don't use NAN macro.
61226         * modules/isnand-nolibm (Depends-on): Remove math.
61227         * modules/isnanf-nolibm (Depends-on): Remove math.
61228         * modules/isnanl (Depends-on): Remove math.
61229         * modules/isnanl-nolibm (Depends-on): Remove math.
61230
61231         * tests/nan.h: New file.
61232
61233 2008-04-01  Eric Blake  <ebb9@byu.net>
61234
61235         Fix typos.
61236         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
61237         values to be the right type.
61238
61239         For now, cater to gnulib strtod inaccuracies.
61240         * tests/test-strtod.c (main): Allow 1-ulp error on expected
61241         fractional results.  While not as nice from a QoI perspective, it
61242         is a quicker patch than correctly implementing decimal to binary
61243         rounding.
61244
61245 2008-03-31  Eric Blake  <ebb9@byu.net>
61246
61247         Guarantee a definition of NAN.
61248         * lib/math.in.h (NAN): Define if missing.
61249         * tests/test-math.c (main): Test it.
61250         * doc/posix-headers/math.texi (math.h): Document this.
61251         * lib/isnan.c (rpl_isnand): Use it.
61252         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
61253         * tests/test-floorf1.c (NaN): Likewise.
61254         * tests/test-frexp.c (NaN): Likewise.
61255         * tests/test-isnand.c (NaN): Likewise.
61256         * tests/test-isnanf.c (NaN): Likewise.
61257         * tests/test-round1.c (NaN): Likewise.
61258         * tests/test-roundf1.c (NaN): Likewise.
61259         * tests/test-snprintf-posix.h (NaN): Likewise.
61260         * tests/test-sprintf-posix.h (NaN): Likewise.
61261         * tests/test-trunc1.c (NaN): Likewise.
61262         * tests/test-truncf1.c (NaN): Likewise.
61263         * tests/test-vasnprintf-posix.c (NaN): Likewise.
61264         * tests/test-vasprintf-posix.c (NaN): Likewise.
61265         * modules/isnand-nolibm (Depends-on): Add math.
61266         * modules/isnanf-nolibm (Depends-on): Likewise.
61267         * modules/isnanl (Depends-on): Likewise.
61268         * modules/isnanl-nolibm (Depends-on): Likewise.
61269         * modules/snprintf-posix-tests (Depends-on): Likewise.
61270         * modules/sprintf-posix-tests (Depends-on): Likewise.
61271         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
61272         * modules/vsprintf-posix-tests (Depends-on): Likewise.
61273         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
61274         * modules/vasprintf-posix-tests (Depends-on): Likewise.
61275
61276 2008-03-31  Bruno Haible  <bruno@clisp.org>
61277
61278         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
61279         * doc/posix-functions/strtod.texi: Likewise.
61280
61281 2008-03-31  Bruno Haible  <bruno@clisp.org>
61282
61283         * tests/test-strtod.c (main): Don't use C99 syntax.
61284
61285 2008-03-31  Bruno Haible  <bruno@clisp.org>
61286
61287         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
61288         Reported by Eric Blake.
61289
61290 2008-03-31  Jim Meyering  <meyering@redhat.com>
61291
61292         Don't compare actual signbit return values.
61293         * tests/test-strtod.c (main): Rather, compare only their
61294         zero/non-zero nature.
61295
61296 2008-03-31  Eric Blake  <ebb9@byu.net>
61297
61298         More strtod documentation.
61299         * doc/posix-functions/strtod.texi (strtod): Interpret more test
61300         failures as distinct bugs.
61301
61302 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
61303
61304         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
61305         Problem reported by Erik Benada in
61306         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
61307
61308 2008-03-30  Bruno Haible  <bruno@clisp.org>
61309
61310         * tests/test-strtod.c: Add comments about which assertion fails on which
61311         platform.
61312         * doc/posix-functions/strtod.texi: Add info about many more platforms.
61313
61314 2008-03-30  Eric Blake  <ebb9@byu.net>
61315
61316         Test signbit behavior on zeros.
61317         * tests/test-signbit.c (test_signbitf): Add tests for zero.
61318         (test_signbitd, test_signbitl): Likewise.
61319
61320         More strtod touchups.
61321         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
61322         sign of negative underflow, for now.  Use .5, not .1.
61323         * doc/posix-functions/strtod.texi (strtod): Mention these
61324         limitations.
61325         Reported by Jim Meyering.
61326
61327 2008-03-30  Bruno Haible  <bruno@clisp.org>
61328
61329         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
61330         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
61331
61332 2008-03-30  Bruno Haible  <bruno@clisp.org>
61333
61334         Avoid failure when attempting to return empty iconv results on some
61335         platforms.
61336         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
61337         allocation, don't report ENOMEM when the resulting string is empty.
61338
61339 2008-03-30  Bruno Haible  <bruno@clisp.org>
61340
61341         Fix buffer overrun.
61342         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
61343         Don't consider the width for tmp_length. Check count against tmp_length
61344         before doing the padding. Ensure enough allocation during padding.
61345
61346 2008-03-30  Eric Blake  <ebb9@byu.net>
61347
61348         strtod touchups.
61349         * lib/strtod.c (strtod): Avoid compiler warnings.
61350         Reported by Jim Meyering.
61351
61352 2008-03-30  Bruno Haible  <bruno@clisp.org>
61353
61354         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
61355         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
61356         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
61357         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
61358         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
61359         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
61360         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
61361         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
61362
61363         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
61364         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
61365         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
61366         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
61367         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
61368         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
61369         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
61370         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
61371
61372         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
61373         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
61374         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
61375         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
61376         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
61377         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
61378         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
61379         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
61380
61381         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
61382         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
61383
61384         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
61385         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
61386
61387         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
61388         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
61389
61390         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
61391         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
61392         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
61393
61394         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
61395         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
61396         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
61397
61398         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
61399         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
61400         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
61401
61402         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
61403         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
61404         * modules/vasprintf (Depends-on): Add EOVERFLOW.
61405
61406         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
61407         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
61408         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
61409         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
61410         (Depends-on): Add EOVERFLOW.
61411         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
61412         (Depends-on): Add EOVERFLOW.
61413         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61414         (Depends-on): Add EOVERFLOW.
61415         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61416         (Depends-on): Add EOVERFLOW.
61417         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61418         (Depends-on): Add EOVERFLOW.
61419         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61420         (Depends-on): Add EOVERFLOW.
61421         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61422         (Depends-on): Add EOVERFLOW.
61423         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61424         (Depends-on): Add EOVERFLOW.
61425
61426         * lib/sprintf.c (EOVERFLOW): Remove fallback.
61427         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
61428         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
61429
61430         * lib/snprintf.c (EOVERFLOW): Remove fallback.
61431         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
61432         * modules/snprintf (Depends-on): Add EOVERFLOW.
61433
61434         * lib/poll.c (EOVERFLOW): Remove fallback.
61435         * modules/poll (Depends-on): Add EOVERFLOW.
61436
61437         * lib/getugroups.c (EOVERFLOW): Remove fallback.
61438         * modules/getugroups (Depends-on): Add EOVERFLOW.
61439
61440         * lib/getdelim.c (EOVERFLOW): Remove fallback.
61441         * modules/getdelim (Depends-on): Add EOVERFLOW.
61442
61443         * lib/ftell.c (EOVERFLOW): Remove fallback.
61444         * modules/ftell (Depends-on): Add EOVERFLOW.
61445
61446         * lib/fprintf.c (EOVERFLOW): Remove fallback.
61447         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
61448         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
61449
61450         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
61451
61452         * modules/EOVERFLOW-tests: New file.
61453         * tests/test-EOVERFLOW.c: New file.
61454
61455         * modules/EOVERFLOW: New file.
61456         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
61457
61458 2008-03-30  Bruno Haible  <bruno@clisp.org>
61459
61460         Fix bug introduced on 2007-06-10.
61461         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
61462         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
61463
61464 2008-03-30  Bruno Haible  <bruno@clisp.org>
61465
61466         Improve freadseek's efficiency after ungetc.
61467         * lib/freadseek.c: Include freadahead.h.
61468         (freadptrinc): New function, extracted from freadseek.
61469         (freadseek): Use it in a loop. Use freadahead to determine the number
61470         of loop iterations.
61471         * modules/freadseek (Depends-on): Add freadahead.
61472         (configure.ac): Require AC_C_INLINE.
61473
61474 2008-03-30  Bruno Haible  <bruno@clisp.org>
61475
61476         * lib/freadseek.c (freadseek): Don't ignore the return value of
61477         freadptr.
61478
61479 2008-03-29  Eric Blake  <ebb9@byu.net>
61480
61481         Add hex float support.
61482         * modules/strtod (Depends-on): Add c-ctype.
61483         (Link): Mention POW_LIB.
61484         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
61485         whitespace between 'e' and exponent.
61486         * tests/test-strtod.c (main): Enable hex float tests.
61487         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
61488         now provides.
61489
61490         Document various strtod bugs, with some fixes.
61491         * doc/posix-functions/strtod.texi (strtod): Document bugs with
61492         "-0x", "inf", "nan", and hex constants.
61493         * doc/posix-functions/atof.texi (atof): Likewise.
61494         * modules/stdlib (Makefile.am): Support strtod.
61495         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
61496         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
61497         detect additional strtod bugs.
61498         * lib/stdlib.in.h (rpl_strtod): Add declarations.
61499         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
61500         bool where appropriate.  Parse 'inf' and 'nan'.
61501         * tests/test-strtod.c: New file.
61502         * modules/strtod (Depends-on): Add stdbool, stdlib.
61503         (configure.ac): Turn on module indicator.
61504         * modules/strtod-tests: New module.
61505
61506 2008-03-29  Eric Blake  <ebb9@byu.net>
61507
61508         Fix ftell on mingw.
61509         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
61510         * modules/ftell-tests (Depends-on): Add binary-io.
61511         * modules/ftello-tests (Depends-on): Likewise.
61512         * tests/test-ftell.c (main): Enhance test to cover behavior after
61513         ungetc.  Enforce binary mode.
61514         * tests/test-ftello.c (main): Likewise.
61515
61516         Pass test-freadseek on cygwin.
61517         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
61518         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
61519         ungetc buffer.
61520
61521         * tests/test-fflush2.c (main): Fix typo.
61522
61523 2008-03-29  Bruno Haible  <bruno@clisp.org>
61524
61525         * tests/test-fflush2.c (main): Temporarily disable the contents of
61526         this test.
61527         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
61528         Reported by Eric Blake.
61529
61530 2008-03-28  Simon Josefsson  <simon@josefsson.org>
61531
61532         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
61533         (GC_SHA224_DIGEST_SIZE): Add.
61534
61535         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
61536         (gc_hash_digest_length): Likewise.
61537         (gc_hash_buffer): Likewise.
61538
61539 2008-03-25  Bruno Haible  <bruno@clisp.org>
61540
61541         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
61542         detail which gettext release to use.
61543         Reported by Simon Josefsson.
61544
61545 2008-03-26  Jim Meyering  <meyering@redhat.com>
61546
61547         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
61548         * modules/gnumakefile (clean-GNUmakefile): Also, use
61549         test ... && ... || : syntax rather than if-then ... fi.
61550
61551         gnumakefile: Don't double-quote-expand $(VPATH) value.
61552         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
61553
61554 2008-03-24  Eric Blake  <ebb9@byu.net>
61555
61556         Alter GNUmakefile to install into top directory.
61557         * modules/maintainer-makefile: Split, and add dependency...
61558         * modules/gnumakefile: to this new module.
61559         * build-aux/GNUmakefile: Move...
61560         * top/GNUmakefile: ...here.
61561         * build-aux/maint.mk: Move...
61562         * top/maint.mk: ...here.
61563         * MODULES.html.sh (Support for maintaining...): Document new
61564         module.
61565
61566 2008-03-23  Bruno Haible  <bruno@clisp.org>
61567
61568         * gnulib-tool: New options --vc-files, --no-vc-files.
61569         (func_usage): Document them.
61570         (vc_files): New variable.
61571         (func_import): Consider vc_files.
61572         (func_create_testdir): Set vc_files to empty.
61573         Suggested by Jim Meyering and Karl Berry.
61574
61575 2008-03-23  Bruno Haible  <bruno@clisp.org>
61576
61577         Fix regex compilation error on HP-UX 11.
61578         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
61579         * modules/regex (Files): Add m4/mbstate_t.m4.
61580         Reported by Ton Voon <ton.voon@altinity.com>.
61581
61582 2008-03-23  Bruno Haible  <bruno@clisp.org>
61583
61584         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
61585
61586 2008-03-23  Eric Blake  <ebb9@byu.net>
61587             Bruno Haible  <bruno@clisp.org>
61588
61589         Install files from top/ in the destination directory.
61590         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
61591         augmentation also for the files from top/.
61592         (func_import, func_create_testdir): Rewrite file names:
61593         top/filename -> filename.
61594
61595 2008-03-23  Bruno Haible  <bruno@clisp.org>
61596
61597         Tweak "gnulib --version" output.
61598         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
61599
61600 2008-03-23  Bruno Haible  <bruno@clisp.org>
61601
61602         Tweak "gnulib --version" output.
61603         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
61604         rather than contents of ChangeLog, when possible.
61605
61606 2008-03-21  Eric Blake  <ebb9@byu.net>
61607
61608         More --version tweaks.
61609         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
61610         date of last ChangeLog entry.
61611
61612 2008-03-21  Jim Meyering  <meyering@redhat.com>
61613
61614         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
61615
61616 2008-03-20  Eric Blake  <ebb9@byu.net>
61617
61618         VPATH fix.
61619         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
61620
61621 2008-03-20  Simon Josefsson  <simon@josefsson.org>
61622
61623         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
61624         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
61625
61626 2008-03-20  Eric Blake  <ebb9@byu.net>
61627
61628         Sync GNUmakefile with coreutils.
61629         * build-aux/GNUmakefile (have-Makefile): Rename...
61630         (_have-Makefile): ...to this, for namespace consideration.
61631         (GNUmakefile.cfg): Include, if present.
61632         (_autoreconf): Define a default.
61633         (_is-dist-target): New rule for rebuilds to pick up intra-release
61634         version.
61635         (maint-cfg.mk): Rename...
61636         (cfg.mk): ...to this.
61637
61638 2008-03-18  Jim Meyering  <meyering@redhat.com>
61639
61640         New script and module: mktempd
61641         * MODULES.html.sh (maint+release support): Add mktempd.
61642         * build-aux/mktempd: New file.
61643         * modules/mktempd: New file.
61644
61645 2008-03-15  Jim Meyering  <meyering@redhat.com>
61646
61647         Undo last change.
61648         * lib/sha1.c, lib/md5.c: 63 != ~63.
61649         Reported by Andreas Schwab.
61650
61651         sha1.c, md5.c: Hoist a redundant expression.
61652         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
61653         "ctx->buflen" only once, before calling *_process_block.
61654         * lib/md5.c (md5_process_bytes): Likewise.
61655
61656 2008-03-14  Eric Blake  <ebb9@byu.net>
61657
61658         Bump copyright year in files generated by gnulib-tool.
61659         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
61660         gnulib-tool, rather than hard-coding it.
61661
61662         Fix 'gnulib-tool --version' output to work with git.
61663         * gnulib-tool (func_gnulib_dir): New function, extracted from...
61664         (startup): ...here.
61665         (func_version): Use it to invoke git-version-gen, rather than
61666         relying on CVS keyword expansion.  Modernize wording.
61667         (cvsdatestamp, last_checkin_date, version): Kill unused
61668         variables.
61669
61670 2008-03-12  Jim Meyering  <meyering@redhat.com>
61671
61672         Recognize optional cast of the argument to free.
61673         * build-aux/useless-if-before-free: Update regexps.
61674
61675         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
61676
61677 2008-03-11  Bruno Haible  <bruno@clisp.org>
61678
61679         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
61680         by a single package.
61681         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
61682         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
61683         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
61684         Reported by Sam Steingold <sds@gnu.org>.
61685
61686 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61687
61688         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
61689         repositories.
61690
61691 2008-03-11  Bruno Haible  <bruno@clisp.org>
61692
61693         Avoid conflicts between local macro definitions.
61694         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
61695         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
61696
61697 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
61698             Bruno Haible  <bruno@clisp.org>
61699
61700         Make va_copy work with some version of xlc on AIX 5.1.
61701         * lib/stdarg.in.h: New file.
61702         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
61703         On AIX, use a <stdarg.h> file substitute.
61704         * modules/stdarg (Files): Add lib/stdarg.in.h.
61705         (Depends-on): Add include_next.
61706         (Makefile.am): Build a stdarg.h substitute if requested.
61707         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
61708
61709 2008-03-10  Bruno Haible  <bruno@clisp.org>
61710
61711         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
61712         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61713         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61714
61715 2008-03-10  Bruno Haible  <bruno@clisp.org>
61716
61717         * modules/stdlib (Depends-on): Add include_next, remove
61718         absolute-header.
61719
61720 2008-03-09  Bruno Haible  <bruno@clisp.org>
61721
61722         * lib/freadahead.h (freadahead): Document more precisely.
61723         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
61724         the sum of both buffer sizes.
61725         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
61726         * NEWS: Document the change.
61727
61728 2008-03-09  Bruno Haible  <bruno@clisp.org>
61729
61730         Extend freadptr to return also the buffer size.
61731         * lib/freadptr.h (freadptr): Add sizep argument.
61732         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
61733         (freadptr): Add sizep argument. Determine buffer size like freadahead
61734         does.
61735         * tests/test-freadptr.c: Don't include freadahead.h.
61736         (main): Adapt for new calling convention of freadptr.
61737         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
61738         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
61739         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
61740         tests/test-freadptr2.sh.
61741         (Depends): Remove freadahead.
61742         (TESTS): Add test-freadptr2.sh.
61743         (check_PROGRAMS): Add test-freadptr2.
61744
61745 2008-03-09  Bruno Haible  <bruno@clisp.org>
61746
61747         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
61748         Report and solution by Simon Josefsson.
61749
61750 2008-03-06  Bruno Haible  <bruno@clisp.org>
61751
61752         Make fflush after ungetc work on BSD platforms.
61753         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
61754         * tests/test-fflush2.c: New file.
61755         * tests/test-fflush2.sh: New file.
61756         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
61757         tests/test-fflush2.c.
61758         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
61759         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
61760
61761 2008-03-06  Eric Blake  <ebb9@byu.net>
61762
61763         Likewise for ftello.
61764         * modules/ftello (Dependencies): Add extensions.
61765         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
61766
61767 2008-03-06  Bruno Haible  <bruno@clisp.org>
61768
61769         * modules/fseeko (Dependencies): Add extensions.
61770         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
61771         Needed on glibc systems.
61772
61773 2008-03-06  Bruno Haible  <bruno@clisp.org>
61774
61775         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
61776         email address.
61777         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61778
61779 2008-03-06  Bruno Haible  <bruno@clisp.org>
61780
61781         * users.txt: Add libgnupdf.
61782
61783 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61784
61785         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
61786         (Header File Substitutes, Function Substitutes,
61787         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
61788         (Build robot for gnulib): Fix typo.
61789
61790 2008-03-06  Bruno Haible  <bruno@clisp.org>
61791
61792         * doc/gnulib-tool.texi (VCS Issues): Small updates.
61793         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61794
61795 2008-03-06  Bruno Haible  <bruno@clisp.org>
61796
61797         * doc/func.texi: New file, extracted from doc/gnulib.texi.
61798         * doc/gnulib.texi: Include it.
61799
61800 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61801
61802         * modules/func (License): Change license to unlimited; there was
61803         no LGPL parts in the module anyway.
61804
61805 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61806
61807         * modules/__func__: Renamed to modules/func.
61808         * modules/__func__-tests: Renamed to modules/func-tests.
61809         * tests/test-__func__.c: Renamed to tests/test-func.c.
61810         * m4/__func__.m4: Renamed to m4/func.m4.
61811         * doc/gnulib.texi (__func__): Section renamed to func.
61812         Suggested by Eric Blake <ebb9@byu.net>.
61813
61814 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61815
61816         * doc/gnulib.texi (__func__): Use C99 terminology when talking
61817         about __func__.  Make example self-contained.  Suggested by Eric
61818         Blake <ebb9@byu.net>.
61819
61820         * tests/test-__func__.c (main): Avoid extraneous () around __func.
61821         Suggested by Eric Blake <ebb9@byu.net>.
61822
61823 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61824
61825         * modules/__func__: New file.
61826         * modules/__func__-tests: New file.
61827         * tests/test-__func__.c: New file.
61828         * m4/__func__.m4: New file.
61829         * doc/gnulib.texi (__func__): Document __func__ module.
61830
61831 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61832
61833         * modules/byteswap (License): Re-license as LGPLv2+.
61834
61835 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61836
61837         * doc/Makefile: Add pdf target.
61838
61839 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61840
61841         * modules/inline (License): Use 'unlimited', since there are only
61842         *.m4 files in this module.
61843
61844 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61845             Bruno Haible  <bruno@clisp.org>
61846
61847         Add support for HP C 7.1 on OpenVMS 8.3.
61848         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
61849
61850 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61851
61852         Update VMS specifics.
61853         * lib/getopt.c [VMS]: Remove include of unixlib.h.
61854
61855 2008-03-02  Jim Meyering  <meyering@redhat.com>
61856
61857         Remove the last dependency on the "free" module.
61858         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
61859         Reported by Bob Proulx.
61860
61861         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
61862
61863         Remove useless "if" tests before free.  Deprecate "free" module.
61864         * doc/posix-functions/free.texi: Mention that this
61865         module is no longer useful.
61866         * modules/free (Notice): Say this module is obsolete.
61867         * modules/readutmp (Depends-on): Remove free.
61868         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
61869         * lib/putenv.c (putenv): Likewise.
61870         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
61871         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
61872         * tests/test-c-strcasestr.c (main): Likewise.
61873         * tests/test-c-strstr.c (main): Likewise.
61874         * tests/test-mbscasestr1.c (main): Likewise.
61875         * tests/test-mbscasestr2.c (main): Likewise.
61876         * tests/test-mbsstr1.c (main): Likewise.
61877         * tests/test-mbsstr2.c (main): Likewise.
61878         * tests/test-memmem.c (main): Likewise.
61879         * tests/test-strcasestr.c (main): Likewise.
61880         * tests/test-striconv.c (main): Likewise.
61881         * tests/test-striconveh.c (main): Likewise.
61882         * tests/test-striconveha.c (main): Likewise.
61883         * tests/test-strstr.c (main): Likewise.
61884
61885         * build-aux/git-version-gen: Adjust a comment and the Usage string.
61886
61887         bootstrap: sync from coreutils again
61888         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
61889
61890 2008-03-01  Jim Meyering  <meyering@redhat.com>
61891
61892         bootstrap: sync from coreutils
61893         * build-aux/bootstrap (update_po_files): Copy a .po file into place
61894         also when the target doesn't exist.
61895
61896 2008-03-01  Eric Blake  <ebb9@byu.net>
61897
61898         Fix bugs in last patch.
61899         * lib/memchr2.c (memchr2): Fix typo.
61900         * tests/test-memchr2.c: Test previous bug, and don't use GNU
61901         extension.
61902         Reported by Bruce Korb.
61903
61904         New module 'memchr2'.
61905         * modules/memchr2: New file.
61906         * modules/memchr2-tests: Likewise.
61907         * lib/memchr2.h: Likewise.
61908         * lib/memchr2.c: Likewise, based on memchr.c.
61909         * tests/test-memchr2.c: New test.
61910         * MODULES.html.sh (String handling): Add memchr2.
61911
61912 2008-02-29  Bruno Haible  <bruno@clisp.org>
61913
61914         * modules/freadseek-tests: New file.
61915         * tests/test-freadseek.sh: New file.
61916         * tests/test-freadseek.c: New file.
61917
61918         New module 'freadseek'.
61919         * modules/freadseek: New file.
61920         * lib/freadseek.h: New file.
61921         * lib/freadseek.c: New file.
61922         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
61923
61924 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
61925
61926         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
61927         wydawca.
61928
61929         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
61930         program_invocation_name and program_invocation_short_name are
61931         present.
61932
61933 2008-02-28  Bruno Haible  <bruno@clisp.org>
61934
61935         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
61936         * tests/test-freadptr.sh: Also test non-seekable stdin.
61937
61938 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
61939
61940         * build-aux/bootstrap (source_base, m4_base)
61941         (doc_base, tests_base): New variables.
61942         (gnulib_tool_options): Do not hardcode base directories, use
61943         the above variables instead.
61944
61945 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
61946
61947         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
61948
61949 2008-02-28  Bruno Haible  <bruno@clisp.org>
61950
61951         * modules/freadptr-tests: New file.
61952         * tests/test-freadptr.sh: New file.
61953         * tests/test-freadptr.c: New file.
61954
61955         New module 'freadptr'.
61956         * modules/freadptr: New file.
61957         * lib/freadptr.h: New file.
61958         * lib/freadptr.c: New file.
61959         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
61960
61961 2008-02-26  Karl Berry  <karl@freefriends.org>
61962
61963         Sync from Libtool:
61964         * libltdl/argz.c (argz_add, argz_count): New functions.
61965         * libltdl/argz.in.h: Declare them.
61966         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
61967
61968 2008-02-22  Bruno Haible  <bruno@clisp.org>
61969
61970         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
61971         is a pointer type.  Needed for HP-UX 10.
61972         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
61973         * doc/posix-functions/gmtime_r.texi: Likewise.
61974         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61975
61976 2008-02-24  Bruno Haible  <bruno@clisp.org>
61977
61978         * modules/environ-tests: New file.
61979         * tests/test-environ.c: New file.
61980
61981         New module 'environ'.
61982         * modules/environ: New file.
61983         * lib/unistd.in.h (environ): New declaration.
61984         * m4/environ.m4: New file.
61985         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
61986         after use.
61987         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
61988         HAVE_DECL_ENVIRON.
61989         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
61990         HAVE_DECL_ENVIRON.
61991         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
61992         wrong claim that 'environ' is missing on some systems.
61993         * modules/execute (Depends-on): Add environ.
61994         * lib/execute.c (environ): Remove fallback declaration.
61995         * modules/pipe (Depends-on): Add environ.
61996         * lib/pipe.c (environ): Remove fallback declaration.
61997         * modules/setenv (Depends-on): Add environ.
61998         * lib/setenv.c (environ): Remove fallback declaration.
61999         * modules/unsetenv (Depends-on): Add environ.
62000         * lib/unsetenv.c (environ): Remove fallback declaration.
62001         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
62002         m4/environ.m4.
62003         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
62004         (gl_PREREQ_UNSETENV): Likewise.
62005
62006 2008-02-24  Bruno Haible  <bruno@clisp.org>
62007
62008         * doc/posix-functions/environ.texi: Document the MacOS X problem.
62009
62010 2008-02-20  Bob Proulx  <bob@proulx.com>
62011
62012         Enable use of older two part flavor 'git describe'.
62013         * build-aux/git-version-gen: If using the older two part flavor of
62014         git version then recreate the third part now present in the
62015         newer three part flavor of git describe.
62016
62017 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
62018
62019         * lib/fts.c (fts_build): Typo correction to comment.
62020
62021 2008-02-17  Bruno Haible  <bruno@clisp.org>
62022
62023         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
62024         generating no-op conflicts.
62025
62026 2008-02-17  Bruno Haible  <bruno@clisp.org>
62027
62028         Speed up by 10%.
62029         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
62030         result_entries, rather than an index-based loop.
62031
62032 2008-02-17  Bruno Haible  <bruno@clisp.org>
62033
62034         Speed up by 25%.
62035         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
62036         'hashcode_cached'.
62037         (entry_create): New function.
62038         (entry_hashcode): Use the cached hashcode if possible.
62039         (read_changelog_file, try_split_merged_entry): Use entry_create.
62040
62041 2008-02-17  Bruno Haible  <bruno@clisp.org>
62042
62043         Speed up from O(n^2) to O(n) for long ChangeLog files.
62044         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
62045         (read_changelog_file): Change implementation of entries_reversed list
62046         to rbtreehash.
62047         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
62048
62049 2008-02-17  Bruno Haible  <bruno@clisp.org>
62050
62051         New option --split-merged-entry.
62052         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
62053         (find_paragraph_end, try_split_merged_entry): New functions.
62054         (long_options): Add option --split-merged-entry.
62055         (usage): Document option --split-merged-entry.
62056         (main): Implement option --split-merged-entry.
62057         Reported by Eric Blake.
62058
62059 2008-02-17  Bruno Haible  <bruno@clisp.org>
62060
62061         * lib/git-merge-changelog.c: Include c-strstr.h.
62062         (main): Support the "git pull --rebase" situation.
62063         * modules/git-merge-changelog (Depends-on): Add c-strstr.
62064         Reported by Eric Blake.
62065
62066 2008-02-16  Eric Blake  <ebb9@byu.net>
62067
62068         Avoid doubling \ in common case of "c-maybe" quoting style.
62069         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
62070         eliding outer quotes.
62071         * lib/quotearg.h: Document this.
62072         * tests/test-quotearg.c (result_strings, inputs, results_g)
62073         (flag_results, locale_results): Test it by adding a new string to
62074         each test group.
62075         (compare_strings): Test new string.
62076
62077 2008-02-13  Eric Blake  <ebb9@byu.net>
62078
62079         Avoid trigraph quoting in default output.
62080         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
62081         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
62082         unless explicitly requested.
62083         * tests/test-quotearg.c (flag_results, main): Add additional tests.
62084
62085 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
62086
62087         Don't rely on signed integer overflowing to negative value.
62088         * lib/getugroups.c (getugroups): Include <limits.h>.
62089         Instead, compare against INT_MAX, and increment only if the test passes.
62090
62091 2008-02-13  Jim Meyering  <meyering@redhat.com>
62092         and Eric Blake  <ebb9@byu.net>
62093
62094         Avoid shadowing warning and compile errors on Linux.
62095         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
62096         forwarding macros on Linux.
62097         (dcgettext): Define a stub, for Linux.
62098         (results_g, main): Avoid warnings.
62099
62100 2008-02-12  Eric Blake  <ebb9@byu.net>
62101
62102         Silence warning in last patch.
62103         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
62104
62105         Quotearg part 4: add tests, fix c-maybe colon quoting.
62106         * lib/quotearg.h: Improve documentation.
62107         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
62108         escapes when adding outer quotes.  When quoting trigraphs, use
62109         valid C notation.  When quoting NUL, omit extra characters if next
62110         character is not digit.  Alter prototype.
62111         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
62112         callers.
62113         * modules/quotearg-tests: New module.
62114         * tests/test-quotearg.c: New test.
62115
62116 2008-02-07  Eric Blake  <ebb9@byu.net>
62117
62118         Quotearg part 3: add flag to control outer quote elision.
62119         * lib/quotearg.h (c_maybe_quoting_style): New style.
62120         (enum quoting_flags): Better documentation of flags.
62121         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
62122         c-maybe style.
62123         (quotearg_buffer_restyled): Handle new flag to elide outer
62124         quotes.
62125
62126         Quotearg part 2: add flag that can control NUL elision.
62127         * lib/quotearg.h (set_quoting_flags): New prototype.
62128         * lib/quotearg.c (struct quoting_options): Add flag field.
62129         (set_quoting_flags): New function.
62130         (quotearg_buffer_restyled): Add flags parameter.
62131         (quotearg_alloc_mem): Set the flag if length cannot be returned.
62132         (quotearg_n_options): Set the flag, since length cannot be
62133         returned.
62134         (quoting_options_from_style): Default flags correctly.
62135
62136         Quotearg part 1: more wrappers, restore quotearg_char state.
62137         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
62138         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
62139         (quotearg_colon_mem): New wrappers.
62140         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
62141         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
62142         functions.
62143         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
62144         (quotearg_colon_mem): New functions.
62145
62146 2008-02-11  Bruno Haible  <bruno@clisp.org>
62147
62148         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
62149         library in the current directory: it does not work with parallel make.
62150         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62151
62152 2008-02-11  Bruno Haible  <bruno@clisp.org>
62153
62154         * .gitattributes: New file.
62155
62156 2008-02-11  Jim Meyering  <meyering@redhat.com>
62157
62158         useless-if-before-free: Fix reversed exit values.
62159         * build-aux/useless-if-before-free: Use correct values
62160         for EXIT_MATCH and EXIT_NO_MATCH.
62161
62162         * build-aux/useless-if-before-free: Close stdout carefully.
62163
62164 2008-02-10  Bruno Haible  <bruno@clisp.org>
62165
62166         New module 'git-merge-changelog'.
62167         * modules/git-merge-changelog: New file.
62168         * lib/git-merge-changelog.c: New file.
62169
62170 2008-02-10  Jim Meyering  <meyering@redhat.com>
62171
62172         useless-if-before-free: New option: --list (-l).
62173
62174         useless-if-before-free: Don't exit immediately upon open failure.
62175         * build-aux/useless-if-before-free: Exit 2 for errors.
62176         Upon failure to open a file, don't exit immediately.
62177         Rather, just warn and continue with any remaining files.
62178
62179 2008-02-10  Bruno Haible  <bruno@clisp.org>
62180
62181         New abstract list operation 'node_set_value'.
62182         * lib/gl_list.h (gl_list_node_set_value): New function.
62183         (struct gl_list_implementation): New field node_set_value.
62184         * lib/gl_list.c (gl_list_node_set_value): New function.
62185         * lib/gl_array_list.c (gl_array_node_set_value): New function.
62186         (gl_array_list_implementation): Update.
62187         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
62188         (gl_carray_list_implementation): Update.
62189         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
62190         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
62191         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
62192         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
62193         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
62194         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
62195         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
62196         Update.
62197         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
62198         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
62199         (gl_sublist_list_implementation): Update.
62200
62201 2008-02-10  Bruno Haible  <bruno@clisp.org>
62202
62203         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
62204         Needed when ELEMENT is #defined to 'some_type *'.
62205
62206 2008-02-10  Jim Meyering  <meyering@redhat.com>
62207
62208         New script and module: useless-if-before-free
62209         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
62210         * build-aux/useless-if-before-free: New file.
62211         * modules/useless-if-before-free: New file.
62212
62213         * build-aux/gitlog-to-changelog: Use committer date, not author date.
62214
62215         xstrtol_error: Fix typo.
62216         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
62217         s/exit_failure/exit_status/.
62218
62219 2008-02-09  Jim Meyering  <meyering@redhat.com>
62220
62221         New script and module: gitlog-to-changelog
62222         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
62223         * modules/gitlog-to-changelog: New file.
62224         * build-aux/gitlog-to-changelog: New file.
62225
62226 2008-02-08  Jim Meyering  <meyering@redhat.com>
62227
62228         Avoid two "parameter unused" warnings.
62229         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
62230         Mark "st" as used.
62231
62232         Use "git COMMAND", not "git-COMMAND".
62233         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
62234         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
62235         * build-aux/git-version-gen: Use "git status", not "git-status".
62236
62237 2008-02-07  Bruno Haible  <bruno@clisp.org>
62238
62239         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
62240         Avoids a crash on Windows Vista.
62241         Reported by Adam Strzelecki <ono@java.pl> via
62242         Simon Josefsson <simon@josefsson.org>.
62243
62244 2008-02-06  Bruno Haible  <bruno@clisp.org>
62245
62246         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
62247         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
62248         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
62249         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
62250         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
62251         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62252         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
62253         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
62254         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62255         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62256         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62257         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62258         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62259         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62260         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62261         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
62262         left-adjust flag.
62263         * tests/test-snprintf-posix.h (test_function): Likewise.
62264         * tests/test-sprintf-posix.h (test_function): Likewise.
62265         * tests/test-vasprintf-posix.c (test_function): Likewise.
62266         * doc/posix-functions/fprintf.texi: Update.
62267         * doc/posix-functions/printf.texi: Update.
62268         * doc/posix-functions/snprintf.texi: Update.
62269         * doc/posix-functions/sprintf.texi: Update.
62270         * doc/posix-functions/vfprintf.texi: Update.
62271         * doc/posix-functions/vprintf.texi: Update.
62272         * doc/posix-functions/vsnprintf.texi: Update.
62273         * doc/posix-functions/vsprintf.texi: Update.
62274         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62275
62276 2008-02-06  Bruno Haible  <bruno@clisp.org>
62277
62278         Fix bug introduced on 2008-01-26.
62279         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
62280
62281 2008-02-06  Bruno Haible  <bruno@clisp.org>
62282
62283         Fix bug introduced on 2007-06-10.
62284         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
62285         !NEED_PRINTF_FLAG_ZERO.
62286
62287 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
62288
62289         getloadavg: use libperfstat on AIX5
62290         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
62291
62292 2008-02-03  Bruno Haible  <bruno@clisp.org>
62293
62294         * lib/diffseq.h: Add comments about required #includes.
62295         Reported by Michael Biggs <gnulib@doubleplum.net>.
62296
62297 2008-02-01  Bruno Haible  <bruno@clisp.org>
62298
62299         * users.txt: Add gnuit.
62300
62301 2008-01-31  Bruno Haible  <bruno@clisp.org>
62302
62303         * lib/md4.c (set_uint32): Mark as inline.
62304         * lib/md5.c (set_uint32): Likewise.
62305         * lib/sha1.c (set_uint32): Likewise.
62306         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
62307         * m4/md5.m4 (gl_MD5): Likewise.
62308         * m4/sha1.m4 (gl_SHA1): Likewise.
62309
62310 2008-01-31  Jim Meyering  <meyering@redhat.com>
62311
62312         Use "sizeof VAR", rather than a literal "4".
62313         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
62314         * lib/md4.c (md4_read_ctx): Likewise.
62315         * lib/sha1.c (sha1_read_ctx): Likewise.
62316
62317 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62318
62319         * tests/test-sha1.c: New file, based on test-md5.c.
62320
62321         * modules/crypto/sha1-tests: New file.
62322
62323 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62324
62325         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
62326
62327 2008-01-31  Jim Meyering  <meyering@redhat.com>
62328
62329         Prefer "sizeof v" over the equivalent "4".
62330         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
62331         * lib/md5.c (set_uint32): Likewise.
62332         * lib/sha1.c (set_uint32): Likewise.
62333
62334 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62335
62336         * lib/sha1.c (set_uint32): Mark function as static.
62337
62338 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62339
62340         md2: clarify comments to say that alignment is not required.
62341         * lib/md2.h: Remove warning about alignment in comment.
62342         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
62343         never been required.
62344
62345 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62346
62347         md4: adapt alignment constraint fix from sha1.
62348         * lib/md4.c (set_uint32): New function, from sha1.c
62349         (md4_read_ctx): Use it.
62350         (md4_finish_ctx): Doc fix.
62351         * lib/md4.h: Doc fix.
62352
62353 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62354
62355         md5: adapt alignment constraint fix from sha1.
62356         * lib/md5.c (set_uint32): New function, from sha1.c
62357         (md5_read_ctx): Use it.
62358         (md5_finish_ctx): Doc fix.
62359         * lib/md5.h: Doc fix.
62360
62361 2008-01-30  Peter Palfrader  <weasel@debian.org>
62362
62363         sha1: remove the result buffer alignment constraint
62364         * lib/sha1.c (set_uint32): New function.
62365         (sha1_read_ctx): Rewrite to remove the result buffer alignment
62366         constraint.
62367         (sha1_finish_ctx): Remove comment warning about alignment constraint.
62368         * lib/sha1.h: Likewise.
62369
62370 2008-01-30  Andreas Schwab  <schwab@suse.de>
62371             Bruno Haible  <bruno@clisp.org>
62372
62373         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
62374         correct definition of LDBL_MIN_EXP.
62375
62376 2008-01-30  Karl Berry  <karl@gnu.org>
62377
62378         * config/srclist-update: try to preserve x bit on updates.
62379         * config/srclistvars.sh: update for karl.
62380
62381 2008-01-29  Jim Meyering  <meyering@redhat.com>
62382
62383         vasnprintf.c: Avoid warning about unused label
62384         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
62385         "overflow" label definition and associated code with the
62386         same cpp condition that guards the sole use of that label.
62387
62388 2008-01-26  Bruno Haible  <bruno@clisp.org>
62389
62390         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
62391         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
62392         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
62393         * lib/isnanl-nolibm.h (isnanl): Likewise.
62394         Reported by Paul Eggert <eggert@cs.ucla.edu>.
62395
62396 2008-01-26  Bruno Haible  <bruno@clisp.org>
62397
62398         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
62399         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
62400
62401 2008-01-26  Bruno Haible  <bruno@clisp.org>
62402
62403         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
62404         GCC >= 4.0 built-in.
62405         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
62406
62407 2008-01-26  Bruno Haible  <bruno@clisp.org>
62408
62409         Rename isnan, applicable to 'double' only, to isnand.
62410         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
62411         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
62412         (configure.ac): Update.
62413         (Include): Replace "isnan.h" with "isnand.h".
62414         * m4/isnand.m4: Renamed from m4/isnan.m4.
62415         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
62416         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
62417         instead of isnan.c.
62418         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
62419         instead of HAVE_ISNAN_IN_LIBC.
62420         (isnand): Renamed from isnan.
62421         * lib/isnand.c: New file.
62422         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
62423         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
62424         (Makefile.am): Update.
62425         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
62426         Include isnand.h instead of isnan.h.
62427         (main): Test isnand instead of isnan.
62428         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
62429         isnan-nolibm.
62430         * modules/frexp (Depends-on): Likewise.
62431         * modules/frexp-tests (Depends-on): Likewise.
62432         * modules/frexp-nolibm (Depends-on): Likewise.
62433         * modules/frexp-nolibm-tests (Depends-on): Likewise.
62434         * modules/isfinite (Depends-on): Likewise.
62435         * modules/round-tests (Depends-on): Likewise.
62436         * modules/signbit (Depends-on): Likewise.
62437         * modules/signbit-tests (Depends-on): Likewise.
62438         * modules/snprintf-posix (Depends-on): Likewise.
62439         * modules/sprintf-posix (Depends-on): Likewise.
62440         * modules/trunc-tests (Depends-on): Likewise.
62441         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
62442         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
62443         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
62444         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
62445         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
62446         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
62447         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
62448         * modules/vasnprintf-posix (Depends-on): Likewise.
62449         * modules/vasprintf-posix (Depends-on): Likewise.
62450         * modules/vfprintf-posix (Depends-on): Likewise.
62451         * modules/vsnprintf-posix (Depends-on): Likewise.
62452         * modules/vsprintf-posix (Depends-on): Likewise.
62453         * lib/frexp.c: Include isnand.h instead of isnan.h.
62454         (ISNAN): Set to isnand instead of isnan.
62455         * lib/isfinite.c: Include isnand.h instead of isnan.h.
62456         (gl_isfinited): Use isnand instead of isnan.
62457         * lib/signbitd.c: Include isnand.h instead of isnan.h.
62458         (gl_signbitd): Use isnand instead of isnan.
62459         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
62460         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
62461         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
62462         (main): Use isnand instead of isnan.
62463         * tests/test-round1.c: Include isnand.h.
62464         (main): Use isnand instead of isnan.
62465         * tests/test-round2.c: Include isnand.h instead of isnan.h.
62466         (ISNAN): Set to isnand instead of isnan.
62467         * tests/test-trunc1.c: Include isnand.h.
62468         (main): Use isnand instead of isnan.
62469         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
62470         (equal): Use isnand instead of isnan.
62471         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
62472         isnand-nolibm.
62473         * NEWS: Mention the change.
62474
62475 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
62476             Bruno Haible  <bruno@clisp.org>
62477
62478         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
62479         the GCC builtins for signbits are present and set
62480         REPLACE_SIGNBIT_USING_GCC if so.
62481         * lib/math.in.h (signbit): Define using GCC builtins if
62482         REPLACE_SIGNBIT_USING_GCC is set.
62483         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
62484         REPLACE_SIGNBIT_USING_GCC.
62485         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
62486
62487 2008-01-25  Jim Meyering  <meyering@redhat.com>
62488
62489         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
62490         * lib/poll.c: Include <config.h>, not "config.h".
62491         * tests/test-getaddrinfo.c: Likewise.
62492
62493 2008-01-25  Simon Josefsson  <simon@josefsson.org>
62494
62495         * modules/sockets-tests: New file.
62496
62497 2008-01-24  Simon Josefsson  <simon@josefsson.org>
62498
62499         * modules/sockets: New module, can be used to call WSA_Startup and
62500         WSA_Cleanup when needed.
62501
62502         * lib/sockets.h, lib/sockets.c: New files.
62503
62504         * m4/sockets.m4: New file.
62505
62506         * tests/test-sockets.c: New file.
62507
62508 2008-01-19  Bruno Haible  <bruno@clisp.org>
62509
62510         * doc/posix-headers: Renamed from doc/headers.
62511         * doc/posix-functions: Renamed from doc/functions.
62512         * doc/gnulib.texi: Update.
62513
62514 2008-01-19  Bruno Haible  <bruno@clisp.org>
62515
62516         * doc/glibc-functions/strcasestr.texi: Include contents of
62517         doc/functions/strcasestr.texi, fixing the list of platforms.
62518         * doc/functions/strcasestr.texi: Remove file.
62519
62520 2008-01-19  Bruno Haible  <bruno@clisp.org>
62521
62522         * doc/glibc-functions/memmem.texi: Include contents of
62523         doc/functions/memmem.texi.
62524         * doc/functions/memmem.texi: Remove file.
62525
62526 2008-01-18  Bruno Haible  <bruno@clisp.org>
62527
62528         * doc/glibc-functions/*.texi: New files.
62529         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
62530         to use the new files.
62531
62532 2008-01-17  Bruno Haible  <bruno@clisp.org>
62533
62534         * tests/test-gethostname.c (main): Fix printf statement.
62535
62536 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62537
62538         * modules/gethostname-tests: New file.
62539
62540         * tests/test-gethostname.c: New file.
62541
62542 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62543
62544         * lib/gethostname.c: Include string.h unconditionally, strncpy is
62545         used by the UNAME case.  Reported by Bruno Haible
62546         <bruno@clisp.org>.
62547
62548 2008-01-17  Eric Blake  <ebb9@byu.net>
62549
62550         Convert c-strcasestr to be more efficient.
62551         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
62552         (Depends-on): Add c-strcase, remove malloca, strnlen.
62553         * tests/test-c-strcasestr.c (main): Enhance test.
62554         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
62555
62556 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
62557
62558         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
62559         Use it in creating po/Makevars.
62560
62561 2008-01-15  Simon Josefsson  <simon@josefsson.org>
62562
62563         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
62564         Applications that requires it should initialize libgcrypt
62565         manually.
62566
62567 2008-01-16  Simon Josefsson  <simon@josefsson.org>
62568
62569         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
62570
62571 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
62572
62573         Fix problem with getdate on mingw32 reported by Simon Josefsson
62574         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
62575         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
62576         tzname", when deciding whether to declare tzname.
62577         * lib/strftime.c (tzname): Likewise.
62578
62579 2008-01-15  Bruno Haible  <bruno@clisp.org>
62580
62581         Work around a MacOS X 10.5 bug in frexpl().
62582         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
62583         * doc/functions/frexpl.texi: Document the bug.
62584         Reported by Elias Pipping <pipping@gentoo.org>.
62585
62586 2008-01-14  Eric Blake  <ebb9@byu.net>
62587
62588         Touch up previous patch.
62589         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
62590         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
62591
62592         Convert strcasestr module to use Two-Way algorithm.
62593         * modules/strcasestr-simple: New module, based on the old
62594         strcasestr, but with Two-Way rather than KMP.
62595         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
62596         * lib/string.in.h (rpl_strcasestr): Declare.
62597         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
62598         performance.
62599         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
62600         * modules/string (Makefile.am): Support strcasestr.
62601         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
62602         * modules/strcasestr-tests (Depends-on): Check for alarm.
62603         * tests/test-strcasestr.c: Augment test.
62604         * lib/str-two-way.h: Clean up stray macro.
62605         * NEWS: Document new module.
62606         * MODULES.html.sh (string handling): Likewise.
62607         * doc/functions/strcasestr.texi: New file.
62608         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
62609         here, since it is not a POSIX function.
62610
62611 2008-01-14  Colin Watson  <cjwatson@debian.org>
62612             Bruno Haible  <bruno@clisp.org>
62613
62614         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
62615         works fine; if not, set REPLACE_STRSIGNAL.
62616         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
62617         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62618         REPLACE_STRSIGNAL.
62619         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
62620         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
62621         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
62622
62623 2008-01-14  Bruno Haible  <bruno@clisp.org>
62624
62625         * modules/strsignal (Include): Change to <string.h>.
62626
62627 2008-01-14  Colin Watson  <cjwatson@debian.org>
62628
62629         * modules/argp (Notice): Add a notice recommending to change
62630         XGETTEXT_OPTIONS.
62631         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
62632
62633 2008-01-13  Colin Watson  <cjwatson@debian.org>
62634
62635         * modules/strsignal-tests: New file.
62636         * tests/test-strsignal.c: New file.
62637
62638         * lib/strsignal.c: New file, from glibc with modifications.
62639         * lib/siglist.h: New file, from glibc with modifications.
62640         * lib/string.in.h (strsignal): New declaration.
62641         * m4/strsignal.m4: New file.
62642         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62643         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
62644         * modules/strsignal: New file.
62645         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
62646         HAVE_DECL_STRSIGNAL.
62647
62648 2008-01-13  Bruno Haible  <bruno@clisp.org>
62649
62650         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
62651         locale encoding is not ASCII. Needed for OpenBSD 4.0.
62652         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62653         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62654
62655 2008-01-13  Bruno Haible  <bruno@clisp.org>
62656
62657         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
62658         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
62659         * lib/argp.h (__attribute__): Likewise.
62660         * lib/c-stack.c (__attribute__): Likewise.
62661         * lib/error.h (__attribute__): Likewise.
62662         * lib/fts.c (__attribute__): Likewise.
62663         * lib/openat.h (__attribute__): Likewise.
62664         * lib/stdio.in.h (__attribute__): Likewise.
62665         * lib/string.in.h (__attribute__): Likewise.
62666         * lib/utimens.c (__attribute__): Likewise.
62667         * lib/vasnprintf.h (__attribute__): Likewise.
62668         * lib/xalloc.h (__attribute__): Likewise.
62669         * lib/xprintf.h (__attribute__): Likewise.
62670         * lib/xstrtol.h (__attribute__): Likewise.
62671         * lib/xvasprintf.h (__attribute__): Likewise.
62672
62673 2008-01-12  Bruno Haible  <bruno@clisp.org>
62674
62675         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
62676         * doc/glibc-headers/a.out.texi: New file.
62677         * doc/glibc-headers/aliases.texi: New file.
62678         * doc/glibc-headers/alloca.texi: New file.
62679         * doc/glibc-headers/ar.texi: New file.
62680         * doc/glibc-headers/argp.texi: New file.
62681         * doc/glibc-headers/argz.texi: New file.
62682         * doc/glibc-headers/byteswap.texi: New file.
62683         * doc/glibc-headers/crypt.texi: New file.
62684         * doc/glibc-headers/endian.texi: New file.
62685         * doc/glibc-headers/envz.texi: New file.
62686         * doc/glibc-headers/err.texi: New file.
62687         * doc/glibc-headers/error.texi: New file.
62688         * doc/glibc-headers/execinfo.texi: New file.
62689         * doc/glibc-headers/fpu_control.texi: New file.
62690         * doc/glibc-headers/fstab.texi: New file.
62691         * doc/glibc-headers/fts.texi: New file.
62692         * doc/glibc-headers/getopt.texi: New file.
62693         * doc/glibc-headers/ieee754.texi: New file.
62694         * doc/glibc-headers/ifaddrs.texi: New file.
62695         * doc/glibc-headers/libintl.texi: New file.
62696         * doc/glibc-headers/mcheck.texi: New file.
62697         * doc/glibc-headers/mntent.texi: New file.
62698         * doc/glibc-headers/obstack.texi: New file.
62699         * doc/glibc-headers/paths.texi: New file.
62700         * doc/glibc-headers/printf.texi: New file.
62701         * doc/glibc-headers/pty.texi: New file.
62702         * doc/glibc-headers/resolv.texi: New file.
62703         * doc/glibc-headers/shadow.texi: New file.
62704         * doc/glibc-headers/sysexits.texi: New file.
62705         * doc/glibc-headers/ttyent.texi: New file.
62706
62707 2008-01-12  Jim Meyering  <meyering@redhat.com>
62708
62709         announce-gen: emit Gnulib's git-based version string.
62710         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
62711         New option --gnulib-version=V, where V is expected to be
62712         the output of running git describe in the gnulib directory.
62713         (get_tool_versions): Request feedback on xdelta.  I suspect it's
62714         not useful, and plan to stop publishing an xdelta file with each
62715         coreutils release.
62716
62717         * build-aux/announce-gen: Also check for lzma-compressed files.
62718
62719 2008-01-11  Bruno Haible  <bruno@clisp.org>
62720
62721         * tests/test-memmem.c (main): Increase maximum allowed time.
62722         * tests/test-strstr.c (main): Likewise.
62723
62724 2008-01-11  Bruno Haible  <bruno@clisp.org>
62725
62726         * doc/functions/memmem.texi: Add more precisions about platforms.
62727         * doc/functions/strstr.texi: Likewise.
62728
62729 2008-01-10  Eric Blake  <ebb9@byu.net>
62730
62731         * m4/strstr.m4: Delete cruft from copy-n-paste.
62732         Reported by Bruno Haible.
62733
62734 2008-01-10  Bruno Haible  <bruno@clisp.org>
62735
62736         Make c-strstr rely on strstr.
62737         * lib/c-strstr.c: Don't include str-kmp.h.
62738         (c_strstr): Define in terms of strstr.
62739         * modules/c-strstr (Files): Remove lib/str-kmp.h.
62740         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
62741
62742 2008-01-10  Bruno Haible  <bruno@clisp.org>
62743
62744         * doc/gnulib.texi (String Functions in C Locale): New section.
62745         * doc/c-ctype.texi: New file.
62746         * doc/c-strcase.texi: New file.
62747         * doc/c-strcaseeq.texi: New file.
62748         * doc/c-strcasestr.texi: New file.
62749         * doc/c-strstr.texi: New file.
62750         * doc/c-strtod.texi: New file.
62751         * doc/c-strtold.texi: New file.
62752
62753 2008-01-10  Eric Blake  <ebb9@byu.net>
62754
62755         * lib/relocatable.h: Fix a comment.
62756
62757 2008-01-10  Eric Blake  <ebb9@byu.net>
62758
62759         Share two-way algorithm.
62760         * lib/str-two-way.h: New file, merged from...
62761         * lib/memmem.c: ...here...
62762         * lib/strstr.c: ...and here.
62763         * modules/memmem (Files): Use it.
62764         * modules/strstr (Files): Likewise.
62765
62766         Avoid quadratic strstr implementations.
62767         * lib/strstr.c: New file.
62768         * m4/strstr.m4: Likewise.
62769         * modules/strstr: Likewise.
62770         * modules/strstr-tests: Likewise.
62771         * tests/test-strstr.c: Likewise.
62772         * lib/string.in.h (rpl_strstr): Declare.
62773         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
62774         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
62775         * modules/string (Makefile.am): Likewise.
62776         * MODULES.html.sh (string handling): Mention new module.
62777         * doc/functions/strstr.texi (strstr): Document the bug.
62778
62779 2008-01-10  Bruno Haible  <bruno@clisp.org>
62780
62781         * lib/relocatable.h (relocate): State whether result is freshly
62782         allocated or not.
62783         * lib/relocatable.c (relocate): Return a freshly allocated string
62784         instead of a pointer to a privately held string.
62785         Reported by Sylvain Beucler <beuc@gnu.org>.
62786
62787 2008-01-10  Colin Watson  <cjwatson@debian.org>
62788
62789         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
62790         s/S_ISNLK/S_ISLNK/.
62791
62792 2008-01-09  Bruno Haible  <bruno@clisp.org>
62793
62794         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
62795         and other files.
62796         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
62797         if it's only a guess.
62798         * modules/memmem: Simplify by depending on memmem-simple.
62799
62800 2008-01-09  Bruno Haible  <bruno@clisp.org>
62801
62802         Work around OpenBSD 4.0 tdelete() bug.
62803         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
62804         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
62805         macros and don't redefine the enum values.
62806         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
62807         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
62808         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
62809
62810 2008-01-09  Bruno Haible  <bruno@clisp.org>
62811
62812         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
62813         (main): Don't perform the tests if setlocale did not install a UTF-8
62814         locale. Needed on OpenBSD 4.0.
62815         * modules/wcwidth-tests (Depends-on): Add localcharset.
62816
62817 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62818
62819         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
62820         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
62821         * NEWS: announce this.
62822         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
62823
62824 2008-01-09  Simon Josefsson  <simon@josefsson.org>
62825         and Eric Blake  <ebb9@byu.net>
62826
62827         Add memmem-simple module.
62828         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
62829         (gl_FUNC_MEMMEM): Separate performance from presence checks.
62830         * modules/memmem-simple: New file.
62831         * modules/memmem (Description): Tweak.
62832         * MODULES.html.sh (string handling): Mention new module.
62833         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
62834         addressed by memmem-simple.
62835         * NEWS: Document the difference.
62836
62837 2008-01-09  Eric Blake  <ebb9@byu.net>
62838
62839         Give gcc some memmem optimization hints.
62840         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
62841         (strcasestr): Declare as pure.
62842         * modules/memmem (Maintainer): Claim my implementation.
62843
62844 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62845
62846         Support AIX 6.1 and higher.
62847         * build-aux/config.libpath: Likewise.
62848         * build-aux/config.rpath: Likewise.
62849
62850 2008-01-08  Jim Meyering  <meyering@redhat.com>
62851             Bruno Haible  <bruno@clisp.org>
62852
62853         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
62854         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
62855         Reported by Peter Fales in
62856         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
62857
62858 2008-01-08  Bruno Haible  <bruno@clisp.org>
62859
62860         * modules/unictype/category-of (Depends-on): Add
62861         unictype/category-none.
62862         * modules/unictype/category-and-tests (Depends-on): Add
62863         unictype/category-{L,N,Lu,Nd}.
62864         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
62865         * modules/unictype/category-or-tests (Depends-on): Add
62866         unictype/category-{L,N}.
62867         * modules/unictype/category-name-tests (Depends-on): Add
62868         unictype/category-{Z,Nl}.
62869         Reported by Simon Josefsson.
62870
62871 2008-01-08  Bruno Haible  <bruno@clisp.org>
62872
62873         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
62874         convention better.
62875         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
62876         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
62877         Reported by Peter Miller <millerp@canb.auug.org.au>.
62878
62879 2008-01-08  Eric Blake  <ebb9@byu.net>
62880
62881         Rewrite memmem to guarantee linear complexity without malloc.
62882         * lib/memmem.c (memmem): Use Two-Way rather than
62883         Knuth-Morris-Pratt, to allow O(1) space usage.
62884         (critical_factorization, two_way_short_needle)
62885         (two_way_long_needle): New functions.
62886         (knuth_morris_pratt): Delete.
62887         * modules/memmem (Depends-on): No longer need malloca or stdbool.
62888         Add stdint.
62889         * tests/test-memmem.c (main): Add tests for periodic needle and
62890         sublinear performance.
62891         * doc/functions/memmem.texi (memmem): Document other deficiencies
62892         in cygwin and older glibc.
62893
62894 2008-01-08  Bruno Haible  <bruno@clisp.org>
62895
62896         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
62897         augmentation.
62898
62899 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
62900
62901         Add a configure time option: --disable-acl.
62902         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
62903         AC_ARG_ENABLE(acl).
62904
62905 2008-01-06  Simon Josefsson  <simon@josefsson.org>
62906
62907         * tests/test-localename.c: Don't include obsolete "setenv.h".
62908
62909         * modules/localename-tests (Depends-on): Need unsetenv.
62910
62911 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62912
62913         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
62914
62915 2008-01-06  Colin Watson  <cjwatson@debian.org>
62916
62917         * users.txt: Add man-db.
62918
62919 2008-01-07  Bruno Haible  <bruno@clisp.org>
62920
62921         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
62922         previous section name.
62923
62924 2008-01-07  Bruno Haible  <bruno@clisp.org>
62925
62926         * lib/progname.c (set_program_name): Don't strip off a leading
62927         "lt-" prefix outside a .libs directory.
62928         Suggested by Paul Eggert.
62929
62930 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
62931             Bruno Haible  <bruno@clisp.org>
62932
62933         Improve memory cleanup in 'relocatable' module.
62934         * lib/relocatable.h (compute_curr_prefix): Change return type to
62935         'char *'.
62936         * lib/relocatable.c (compute_curr_prefix): Change return type to
62937         'char *'. Free curr_installdir after use.
62938         (relocate): Free curr_prefix_better after use.
62939         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
62940
62941 2008-01-01  Bruno Haible  <bruno@clisp.org>
62942
62943         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
62944         failure on older glibc systems.
62945         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62946
62947 2008-01-05  Eric Blake  <ebb9@byu.net>
62948
62949         Avoid quadratic system memmem.
62950         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
62951         Reported by Ralf Wildenhues.
62952
62953         Fix memmem test for mingw.
62954         * modules/memmem-tests (configure.ac): Check for alarm.
62955         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
62956         it.
62957         * doc/functions/memmem.texi: New file.
62958         * doc/gnulib.texi (Function Substitutes): Add memmem.
62959         Reported by Bruno Haible.
62960
62961 2008-01-04  Bruno Haible  <bruno@clisp.org>
62962
62963         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
62964         Require gl_HEADER_STRINGS_H_DEFAULTS, not
62965         gl_HEADER_STRING_H_DEFAULTS.
62966
62967 2008-01-04  Eric Blake  <ebb9@byu.net>
62968
62969         Shorten duration of memmem test.
62970         * tests/test-memmem.c (main): Use alarm to declare failure if test
62971         is taking too long.
62972         Reported by Ralf Wildenhues.
62973
62974 2007-12-21  Simon Josefsson  <simon@josefsson.org>
62975
62976         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
62977         string, needed by strerror.
62978
62979 2008-01-03  Colin Watson  <cjwatson@debian.org>
62980             Bruno Haible  <bruno@clisp.org>
62981
62982         * doc/gnulib-tool.texi (Localization): New section.
62983
62984 2008-01-02  Bruno Haible  <bruno@clisp.org>
62985
62986         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
62987         variables to 'unsigned char *' type.
62988         Reported by Paul Eggert.
62989
62990 2008-01-02  Jim Meyering  <jim@meyering.net>
62991
62992         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
62993
62994 2007-12-31  Jim Meyering  <jim@meyering.net>
62995
62996         Avoid use of private FTS type name.
62997         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
62998
62999 2007-12-30  Karl Berry  <karl@gnu.org>
63000
63001         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
63002         work around defect in Texinfo and/or the standalone Info browser.
63003
63004 2007-12-30  Bruno Haible  <bruno@clisp.org>
63005
63006         Unify 5 copies of the KMP code.
63007         * lib/str-kmp.h: New file.
63008         * lib/c-strcasestr.c: Include str-kmp.h.
63009         (knuth_morris_pratt): Remove function.
63010         (c_strcasestr): Update.
63011         * lib/c-strstr.c: Include str-kmp.h.
63012         (knuth_morris_pratt): Remove function.
63013         (c_strcasestr): Update.
63014         * lib/mbscasestr.c: Include str-kmp.h.
63015         (knuth_morris_pratt_unibyte): Remove function.
63016         * lib/mbsstr.c: Include str-kmp.h.
63017         (knuth_morris_pratt_unibyte): Remove function.
63018         * lib/strcasestr.c: Include str-kmp.h.
63019         (knuth_morris_pratt): Remove function.
63020         (strcasestr): Update.
63021         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
63022         * modules/c-strstr (Files): Likewise.
63023         * modules/mbscasestr (Files): Likewise.
63024         * modules/mbsstr (Files): Likewise.
63025         * modules/strcasestr (Files): Likewise.
63026         Suggested by Paul Eggert.
63027
63028 2007-12-30  Bruno Haible  <bruno@clisp.org>
63029
63030         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
63031         defined.
63032
63033 2007-12-30  Bruno Haible  <bruno@clisp.org>
63034
63035         * lib/xmalloca.h: Include xalloc.h.
63036         (xnmalloca): New macro.
63037
63038 2007-12-30  Bruno Haible  <bruno@clisp.org>
63039
63040         * lib/malloca.h (nmalloca): New macro.
63041         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
63042         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
63043         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
63044         knuth_morris_pratt_multibyte): Likewise.
63045         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
63046         knuth_morris_pratt_multibyte): Likewise.
63047         * lib/memmem.c (knuth_morris_pratt): Likewise.
63048         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
63049
63050 2007-12-25  Bruno Haible  <bruno@clisp.org>
63051
63052         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
63053         * lib/glob.c: Don't include openat.h.
63054         (link_exists2_p): Add back the code that deals with the
63055         !GLOB_ALTDIRFUNC case.
63056         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
63057         let it do the filename concatenation.
63058         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
63059         * modules/glob (Depends-on): Remove openat.
63060
63061 2007-12-31  Bruno Haible  <bruno@clisp.org>
63062
63063         * modules/dirfd (License): Change to LGPLv2+.
63064         Approved by Jim Meyering.
63065
63066 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
63067
63068         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
63069         when multiplying M by sizeof (size_t).
63070
63071 2007-12-10  Martin Lambers  <marlam@marlam.de>
63072
63073         Override getpagesize on mingw.
63074         * lib/getpagesize.c: New file.
63075         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
63076         * modules/getpagesize (Files): Add lib/getpagesize.c.
63077         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
63078         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63079         REPLACE_GETPAGESIZE.
63080         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
63081
63082 2007-12-25  Bruno Haible  <bruno@clisp.org>
63083
63084         * modules/localcharset (Notice): New field.
63085         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
63086         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
63087
63088 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
63089             Bruno Haible  <bruno@clisp.org>
63090
63091         Avoid using the syntax symbol() in formatted documentation.
63092         * MODULES.html.sh (func_module): When replacing symbol() with a
63093         hyperlink, remove the parentheses. Show an error if some remain.
63094         Recognize and render the '...' syntax.
63095         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
63096         Rework. Add paragraph about GCC's inlining.
63097         * doc/alloca.texi: Likewise.
63098         * doc/error.texi: Remove parentheses from symbol reference.
63099         * doc/gnulib-intro.texi: Likewise.
63100         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
63101         * modules/fnmatch (Description): Reword to say "the ... function".
63102         * modules/full-read (Description): Likewise.
63103         * modules/full-write (Description): Likewise.
63104         * modules/safe-read (Description): Likewise.
63105         * modules/safe-write (Description): Likewise.
63106         * modules/strchrnul (Description): Likewise.
63107         * modules/trim (Description): Likewise.
63108         * modules/error (Description): Remove parentheses from symbol
63109         references.
63110         * modules/verror (Description): Likewise.
63111         Reported by Karl Berry.
63112
63113 2007-12-25  Bruno Haible  <bruno@clisp.org>
63114
63115         Fixup after 2007-10-16 commit.
63116         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
63117
63118 2007-12-24  Bruno Haible  <bruno@clisp.org>
63119
63120         Make --enable-relocatable work with DESTDIR.
63121         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
63122         to compute installdir from destprog.
63123         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
63124         also set the RELOC_DESTDIR variable.
63125         Reported by Левашев Иван <octagram@bluebottle.com>.
63126
63127 2007-12-24  Bruno Haible  <bruno@clisp.org>
63128
63129         Fix link error due to xalloc_die().
63130         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
63131         of xreadlink.
63132         * lib/relocwrapper.c: Update comments.
63133         * build-aux/install-reloc: Remove xreadlink.c from file list.
63134         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
63135         xreadlink.c.
63136         Reported by Левашев Иван <octagram@bluebottle.com>.
63137
63138 2007-12-24  Bruno Haible  <bruno@clisp.org>
63139
63140         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
63141         * lib/setenv.h: Remove file.
63142         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
63143         lib/setenv.h.
63144         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
63145         (Depends-on): Add stdlib.
63146         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
63147         gl_FUNC_UNSETENV.
63148         (Include): Replace setenv.h with <stdlib.h>.
63149         * modules/unsetenv: New file.
63150         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
63151         * lib/unsetenv.c: Include <stdlib.h> first.
63152         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
63153         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
63154         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
63155         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
63156         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
63157         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
63158         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
63159         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
63160         * doc/functions/unsetenv.texi: Update.
63161         * modules/xsetenv (Depends-on): Add unsetenv.
63162         * modules/getdate (Depends-on): Likewise.
63163         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
63164         * lib/xsetenv.c: Don't include setenv.h.
63165         * lib/getdate.y: Likewise.
63166         * lib/relocwrapper.c: Likewise.
63167         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
63168         (Depends-on): Add stdlib.
63169         * NEWS: Mention the changes.
63170         Reported by Левашев Иван <octagram@bluebottle.com>.
63171
63172 2007-12-23  Bruno Haible  <bruno@clisp.org>
63173
63174         * lib/memmem.c (memmem): Use lowercase variable names. Tab
63175         indentation.
63176
63177 2007-12-23  Bruno Haible  <bruno@clisp.org>
63178
63179         * lib/c-strcasestr.c: Add more comments.
63180         * lib/c-strstr.c: Likewise.
63181         * lib/mbscasestr.c: Likewise.
63182         * lib/mbsstr.c: Likewise.
63183         * lib/strcasestr.c: Likewise.
63184         * lib/memmem.c: Likewise.
63185
63186 2007-12-23  Bruno Haible  <bruno@clisp.org>
63187
63188         * tests/test-memmem.c: Include <string.h> first.
63189
63190 2007-12-22  Bruno Haible  <bruno@clisp.org>
63191
63192         * gnulib-tool (func_create_testdir): Change $auxdir while generating
63193         the contents of $testsbase.
63194         Reported by Ralf Wildenhues.
63195
63196 2007-12-22  Bruno Haible  <bruno@clisp.org>
63197
63198         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
63199         two variables local_ldadd_before, local_ldadd_last.
63200
63201 2007-12-20  Eric Blake  <ebb9@byu.net>
63202
63203         Work around circular library issue when cross-compiling.
63204         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
63205         that progname.o does not need to pull in rpl_memcmp.
63206
63207 2007-12-19  Eric Blake  <ebb9@byu.net>
63208
63209         Fix memmem to avoid O(n^2) worst-case complexity.
63210         * lib/memmem.c (knuth_morris_pratt): New function.
63211         (memmem): Use it if first few naive iterations fail.
63212         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
63213         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
63214         * modules/memchr (License): Likewise.
63215         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
63216         malloca.
63217         * tests/test-memmem.c: Rewrite, borrowing ideas from
63218         test-mbsstr1.c; the old version wouldn't even compile!
63219         * modules/memmem-tests: New file.
63220         * lib/string.in.h (rpl_memmem): Add declaration.
63221         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
63222         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
63223         REPLACE_MEMMEM.
63224
63225 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
63226
63227         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
63228         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
63229         before any system include files, and undef after them all.  This
63230         should fix a problem on VMS reported by John E. Malmberg in
63231         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
63232
63233 2007-12-17  Eric Blake  <ebb9@byu.net>
63234
63235         Revert addition of verify, for BSD/OS.
63236         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
63237         can't handle large files, for the sake of obsolete platforms.
63238         * modules/fseeko (Depends-on): Remove verify.
63239         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
63240         * doc/functions/ftello.texi (ftello): Likewise.
63241         * doc/functions/fgetpos.texi (fgetpos): Likewise.
63242         Reported by Larry Jones.
63243
63244 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
63245
63246         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
63247         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
63248
63249 2007-12-17  Jim Meyering  <meyering@redhat.com>
63250
63251         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
63252         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
63253         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
63254         * modules/getcwd (Depends-on): Add openat.
63255         Reported by Petr Salinger.
63256
63257 2007-12-17  Bruno Haible  <bruno@clisp.org>
63258
63259         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
63260         avoid a segmentation fault of the configure test on x86_64 systems.
63261
63262 2007-12-15  Jim Meyering  <meyering@redhat.com>
63263
63264         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
63265
63266 2007-12-13  Eric Blake  <ebb9@byu.net>
63267
63268         Another fseek test.
63269         * tests/test-fseek.c (main): Also test ungetc handling.
63270         * tests/test-fseeko.c (main): Likewise.
63271         * modules/fseeko (Depends-on): Add verify.
63272         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
63273         large.
63274         Reported by Larry Jones.
63275
63276         Fix fseeko on mingw.
63277         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
63278         seek.
63279
63280         Beef up fseek tests.
63281         * tests/test-fseek.c (main): Also test eof handling.
63282         * tests/test-fseeko.c (main): Likewise.
63283         Reported by Larry Jones.
63284
63285 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
63286
63287         Fix fseeko on BSD-based platforms.
63288         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
63289         successful seek.
63290
63291 2007-12-12  Eric Blake  <ebb9@byu.net>
63292
63293         Allow circular dependency of separate libtests.a
63294         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
63295         when use_libtests.
63296
63297 2007-12-11  Eric Blake  <ebb9@byu.net>
63298
63299         Fix bug with -0.0L in previous patch.
63300         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
63301         * tests/test-isnan.c (main): Also test on zeroes.
63302         * tests/test-isnanf.c (main): Likewise.
63303         * tests/test-isnanl.h (main): Likewise.
63304
63305         Detect pseudo-denormals on x86 even when cross-compiling.
63306         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
63307         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
63308         invalid bit patterns that happen to satisfy ==.
63309
63310         Avoid link failures with separate libtests.a.
63311         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
63312         last, to satisfy circular dependencies.
63313
63314 2007-12-11  Eric Blake  <ebb9@byu.net>
63315         and Bruno Haible  <bruno@clisp.org>
63316
63317         Fix OpenBSD 4.0 <float.h> handling of long double.
63318         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
63319         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
63320         * doc/headers/float.texi (float.h): Document OpenBSD bug.
63321
63322 2007-12-11  Jim Meyering  <meyering@redhat.com>
63323
63324         * users.txt: Add libvirt.
63325
63326         Support versions of autoconf prior to 2.59c.
63327         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
63328         if it is not already defined.
63329
63330 2007-12-09  Bruno Haible  <bruno@clisp.org>
63331
63332         Let 'gnulib-tool --import' collect sources needed for the tests in
63333         tests/ rather than in lib/.
63334         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
63335         argument. If true, add rules to generate libtests.a, and put libtests.a
63336         into $(LDADD). Consider source files in subdirectories and set
63337         uses_subdirs.
63338         (func_emit_initmacro_start, func_emit_initmacro_end,
63339         func_emit_initmacro_done): Pass all arguments explicitly.
63340         (func_import): Determine two module lists main_modules,
63341         testsrelated_modules. Determine use_libtests. Determine two variables
63342         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
63343         instead of just sed_transform_lib_file. Determine two variables
63344         main_files and testsrelated_files. Compute 'files' as the union of
63345         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
63346         func_add_or_update. In the generated gnulib-comp.m4, collect the
63347         object files for tests/ in different variables than those for lib/.
63348         Substitute LIBTESTS_LIBDEPS.
63349         (func_create_testdir): Combine the uses_subdirs results from
63350         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
63351
63352 2007-12-09  Bruno Haible  <bruno@clisp.org>
63353
63354         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
63355         the build-aux directory.
63356
63357 2007-12-09  Bruno Haible  <bruno@clisp.org>
63358
63359         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
63360         introduced on 2006-09-09.
63361
63362 2007-12-07  Jim Meyering  <meyering@redhat.com>
63363
63364         Let these macros work also with autoconf-2.59.
63365         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
63366         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
63367         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63368
63369 2007-12-06  Jim Meyering  <meyering@redhat.com>
63370
63371         Avoid a configure-time syntax error in gl_FUNC_ACL.
63372         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
63373         function in each branch, before testing the cache variable.
63374
63375 2007-12-04  Eric Blake  <ebb9@byu.net>
63376
63377         Make scripts executable.
63378         * build-aux/config.guess: Add execute permissions.
63379         * build-aux/config.sub: Likewise.
63380         * build-aux/gendocs.sh: Likewise.
63381
63382         Fix frexp on mingw.
63383         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
63384         cross-compiling.
63385         * doc/functions/frexp.texi (frexp): Document the bug.
63386
63387         Make cygwin fseeko check more reliable.
63388         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
63389         version numbers, rather than unrelated feature check.
63390         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
63391         * doc/functions/ftello.texi (ftello): Likewise.
63392         Reported by Bruno Haible.
63393
63394         * m4/strerror.m4: Bump version number.
63395
63396 2007-12-03  Bruno Haible  <bruno@clisp.org>
63397
63398         * doc/functions/mprotect.texi: Mention the mingw problem.
63399
63400 2007-12-03  Eric Blake  <ebb9@byu.net>
63401
63402         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
63403         REPLACE_STRERROR is initialized before this macro.
63404
63405 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
63406
63407         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
63408         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
63409         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
63410         put -lsec in even for programs other than 'ls'.  This fixes a problem
63411         for gettext reported by Bruno Haible in
63412         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
63413         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
63414         Add support for Solaris 10.  This isn't efficient, but should get the
63415         job done for now.
63416
63417 2007-12-03  James Youngman  <jay@gnu.org>
63418
63419         * doc/regexprops-generic.texi: change "an close-group" to "a
63420         close-group" and "illegal" to "not allowed".
63421
63422 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63423
63424         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
63425         pr_byname.h. Needed for the rare case when the maintainer has done
63426         "make maintainer-clean" in the source directory and then attempts a
63427         build outside the source directory.
63428         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
63429         scripts_byname.h.
63430
63431 2007-12-02  Martin Lambers <marlam@marlam.de>
63432             Bruno Haible  <bruno@clisp.org>
63433
63434         * lib/getpagesize.h: Remove file.
63435         * lib/unistd.in.h: Include declaration of getpagesize here.
63436         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
63437         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
63438         HAVE_SYS_PARAM_H.
63439         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
63440         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63441         * modules/getpagesize (Files): Remove lib/getpagesize.h.
63442         (Depends-on): Add unistd.
63443         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63444         (Include): Use <unistd.h> instead of getpagesize.h.
63445         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
63446         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63447         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
63448         gl_GETPAGESIZE invocation, already handled by module dependency.
63449         * lib/pagealign_alloc.c: Don't include getpagesize.h.
63450
63451 2007-12-02  Bruno Haible  <bruno@clisp.org>
63452
63453         * modules/strings-tests: New file.
63454         * tests/test-strings.c: New file.
63455
63456         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
63457         * lib/strings.in.h: New file.
63458         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
63459         * m4/strings_h.m4: New file.
63460         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
63461         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
63462         * modules/strings: New file.
63463         * modules/string (Makefile.am): Update.
63464         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
63465         Reported by Karl Berry.
63466
63467 2007-12-01  Eric Blake  <ebb9@byu.net>
63468
63469         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
63470         accommodate fix in cygwin 1.5.25.
63471
63472 2007-12-01  Jim Meyering  <meyering@redhat.com>
63473
63474         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
63475         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
63476         that would inhibit utf8-optimization of a regexp containing line-
63477         or buffer-anchors, e.g., `^', `$'.
63478
63479 2007-11-30  Bruno Haible  <bruno@clisp.org>
63480
63481         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
63482         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
63483         glthread_recursive_lock_init.
63484         * lib/lock.c (glthread_recursive_lock_init)
63485         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
63486         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63487
63488 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
63489
63490         New function qset_acl, like set_acl but with syscall semantics.
63491         * lib/acl.h (qset_acl): New decl.
63492         * lib/acl.c (qset_acl): New function.
63493         (set_acl): Use new function.  Use more-consistent diagnostics.
63494
63495 2007-11-28  Jim Meyering  <meyering@redhat.com>
63496
63497         * modules/physmem (License): Change from GPL to LGPLv2+.
63498
63499 2007-11-26  Bruno Haible  <bruno@clisp.org>
63500
63501         * lib/vasnprintf.c (decode_long_double): Don't abort if the
63502         'long double' type has excess precision.
63503         Reported by Jim Meyering in
63504         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
63505
63506 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63507
63508         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
63509         Sync from <http://gnu.org/licenses>.
63510         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
63511         with license text from same location.
63512         * doc/maintain.texi, doc/standards.texi:  Sync from
63513         <http://savannah.gnu.org/projects/gnustandards>.
63514
63515 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
63516         and Jim Meyering  <meyering@redhat.com>
63517
63518         Adjust getdate' grammar to accept a slightly more regular language.
63519         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
63520         Before, the former was rejected.
63521         * lib/getdate.y (digits_to_date_time): New function, factored
63522         out of ...
63523         (number): ...here.  Just call digits_to_date_time.
63524         (hybrid): New non-terminal to handle an <unsigned number,
63525         signed relative offset> sequence consistently.
63526
63527 2007-11-18  Jim Meyering  <meyering@redhat.com>
63528
63529         Pull my changes from coreutils:
63530         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
63531         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
63532         use of $gnulib_tool_option_extras, so that it's separated from the
63533         preceding argument.
63534
63535         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
63536         * build-aux/bootstrap (cp_mark_as_generated): Create any required
63537         parent destination directories before copying a file into place.
63538
63539 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
63540
63541         bootstrap: work also with 4-argument variant of AC_INIT
63542         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
63543
63544 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
63545
63546         Port test-getaddrinfo to Solaris.
63547         Problem reported by Bruno Haible in
63548         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
63549         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
63550         explanation of setting 'hints'.
63551         Don't reject an implementation merely because it returns EAI_SERVICE.
63552         (EAI_SERVICE): Define to 0 if not defined.
63553
63554 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63555
63556         The license of gnu-make and posix-shell is now "GPLed build tool".
63557         * modules/gnu-make (License): Likewise.
63558         * modules/posix-shell (License): Likewise.
63559
63560         New module posix-shell, for determining a POSIX shell
63561         or perhaps something that is close enough to a POSIX shell.
63562         * m4/posix-shell.m4: New file.
63563         * modules/posix-shell: New file.
63564
63565         * MODULES.html.sh: Mention new module.
63566
63567         New module gnu-make, for determining whether we're using GNU Make.
63568         * m4/gnu-make.m4: New file.
63569         * modules/gnu-make: New file.
63570         * MODULES.html.sh: Mention new module.
63571
63572 2007-11-14  Jim Meyering  <meyering@redhat.com>
63573
63574         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
63575         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
63576         use this macro to create a function _definition_.
63577         Remove useless "#undef ARGMATCH_DIE".
63578
63579 2007-11-14  Bruno Haible  <bruno@clisp.org>
63580
63581         * lib/config.charset: Update for OpenBSD 4.1.
63582         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
63583
63584 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
63585
63586         Document 64-bit #if problems in stdint.texi.
63587         * doc/headers/stdint.texi (stdint.h): Mention problems with
63588         64-bit-#if, and how to work around them.
63589
63590         Don't insist on 'long long int' support in the preprocessor.  It
63591         breaks too many things.  For example, PRIdMAX still uses a 'long
63592         long int' format with the latest Sun compiler, even though
63593         HAVE_LONG_LONG_INT isn't defined due to that compiler's
63594         preprocessor problem.  This causes the latest coreutils to dump
63595         core on Solaris 10 sparc with the Sun C compiler.
63596         Instead, fix the 2007-10-16 problem in a different way, by evaluating
63597         the troublesome expressions at configure-time, not at #if-time.
63598         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
63599         preprocessor.
63600         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
63601         compile-time C checks, done at 'configure'-time.
63602         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
63603         * modules/inttypes (Makefile): Substitute the new symbols that
63604         gl_INTTYPES_H now generates.
63605         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
63606
63607 2007-11-12  Bruno Haible  <bruno@clisp.org>
63608
63609         Tests for Unicode character classification functions.
63610
63611         * modules/unictype/bidicategory-byname-tests: New file.
63612         * modules/unictype/bidicategory-name-tests: New file.
63613         * modules/unictype/bidicategory-of-tests: New file.
63614         * modules/unictype/bidicategory-test-tests: New file.
63615         * modules/unictype/block-list-tests: New file.
63616         * modules/unictype/block-of-tests: New file.
63617         * modules/unictype/block-test-tests: New file.
63618         * modules/unictype/category-C-tests: New file.
63619         * modules/unictype/category-Cc-tests: New file.
63620         * modules/unictype/category-Cf-tests: New file.
63621         * modules/unictype/category-Cn-tests: New file.
63622         * modules/unictype/category-Co-tests: New file.
63623         * modules/unictype/category-Cs-tests: New file.
63624         * modules/unictype/category-L-tests: New file.
63625         * modules/unictype/category-Ll-tests: New file.
63626         * modules/unictype/category-Lm-tests: New file.
63627         * modules/unictype/category-Lo-tests: New file.
63628         * modules/unictype/category-Lt-tests: New file.
63629         * modules/unictype/category-Lu-tests: New file.
63630         * modules/unictype/category-M-tests: New file.
63631         * modules/unictype/category-Mc-tests: New file.
63632         * modules/unictype/category-Me-tests: New file.
63633         * modules/unictype/category-Mn-tests: New file.
63634         * modules/unictype/category-N-tests: New file.
63635         * modules/unictype/category-Nd-tests: New file.
63636         * modules/unictype/category-Nl-tests: New file.
63637         * modules/unictype/category-No-tests: New file.
63638         * modules/unictype/category-P-tests: New file.
63639         * modules/unictype/category-Pc-tests: New file.
63640         * modules/unictype/category-Pd-tests: New file.
63641         * modules/unictype/category-Pe-tests: New file.
63642         * modules/unictype/category-Pf-tests: New file.
63643         * modules/unictype/category-Pi-tests: New file.
63644         * modules/unictype/category-Po-tests: New file.
63645         * modules/unictype/category-Ps-tests: New file.
63646         * modules/unictype/category-S-tests: New file.
63647         * modules/unictype/category-Sc-tests: New file.
63648         * modules/unictype/category-Sk-tests: New file.
63649         * modules/unictype/category-Sm-tests: New file.
63650         * modules/unictype/category-So-tests: New file.
63651         * modules/unictype/category-Z-tests: New file.
63652         * modules/unictype/category-Zl-tests: New file.
63653         * modules/unictype/category-Zp-tests: New file.
63654         * modules/unictype/category-Zs-tests: New file.
63655         * modules/unictype/category-and-not-tests: New file.
63656         * modules/unictype/category-and-tests: New file.
63657         * modules/unictype/category-byname-tests: New file.
63658         * modules/unictype/category-name-tests: New file.
63659         * modules/unictype/category-none-tests: New file.
63660         * modules/unictype/category-of-tests: New file.
63661         * modules/unictype/category-or-tests: New file.
63662         * modules/unictype/category-test-withtable-tests: New file.
63663         * modules/unictype/combining-class-tests: New file.
63664         * modules/unictype/ctype-alnum-tests: New file.
63665         * modules/unictype/ctype-alpha-tests: New file.
63666         * modules/unictype/ctype-blank-tests: New file.
63667         * modules/unictype/ctype-cntrl-tests: New file.
63668         * modules/unictype/ctype-digit-tests: New file.
63669         * modules/unictype/ctype-graph-tests: New file.
63670         * modules/unictype/ctype-lower-tests: New file.
63671         * modules/unictype/ctype-print-tests: New file.
63672         * modules/unictype/ctype-punct-tests: New file.
63673         * modules/unictype/ctype-space-tests: New file.
63674         * modules/unictype/ctype-upper-tests: New file.
63675         * modules/unictype/ctype-xdigit-tests: New file.
63676         * modules/unictype/decimal-digit-tests: New file.
63677         * modules/unictype/digit-tests: New file.
63678         * modules/unictype/mirror-tests: New file.
63679         * modules/unictype/numeric-tests: New file.
63680         * modules/unictype/property-alphabetic-tests: New file.
63681         * modules/unictype/property-ascii-hex-digit-tests: New file.
63682         * modules/unictype/property-bidi-arabic-digit-tests: New file.
63683         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
63684         * modules/unictype/property-bidi-block-separator-tests: New file.
63685         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
63686         * modules/unictype/property-bidi-common-separator-tests: New file.
63687         * modules/unictype/property-bidi-control-tests: New file.
63688         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
63689         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
63690         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
63691         * modules/unictype/property-bidi-european-digit-tests: New file.
63692         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
63693         * modules/unictype/property-bidi-left-to-right-tests: New file.
63694         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
63695         * modules/unictype/property-bidi-other-neutral-tests: New file.
63696         * modules/unictype/property-bidi-pdf-tests: New file.
63697         * modules/unictype/property-bidi-segment-separator-tests: New file.
63698         * modules/unictype/property-bidi-whitespace-tests: New file.
63699         * modules/unictype/property-byname-tests: New file.
63700         * modules/unictype/property-combining-tests: New file.
63701         * modules/unictype/property-composite-tests: New file.
63702         * modules/unictype/property-currency-symbol-tests: New file.
63703         * modules/unictype/property-dash-tests: New file.
63704         * modules/unictype/property-decimal-digit-tests: New file.
63705         * modules/unictype/property-default-ignorable-code-point-tests: New file.
63706         * modules/unictype/property-deprecated-tests: New file.
63707         * modules/unictype/property-diacritic-tests: New file.
63708         * modules/unictype/property-extender-tests: New file.
63709         * modules/unictype/property-format-control-tests: New file.
63710         * modules/unictype/property-grapheme-base-tests: New file.
63711         * modules/unictype/property-grapheme-extend-tests: New file.
63712         * modules/unictype/property-grapheme-link-tests: New file.
63713         * modules/unictype/property-hex-digit-tests: New file.
63714         * modules/unictype/property-hyphen-tests: New file.
63715         * modules/unictype/property-id-continue-tests: New file.
63716         * modules/unictype/property-id-start-tests: New file.
63717         * modules/unictype/property-ideographic-tests: New file.
63718         * modules/unictype/property-ids-binary-operator-tests: New file.
63719         * modules/unictype/property-ids-trinary-operator-tests: New file.
63720         * modules/unictype/property-ignorable-control-tests: New file.
63721         * modules/unictype/property-iso-control-tests: New file.
63722         * modules/unictype/property-join-control-tests: New file.
63723         * modules/unictype/property-left-of-pair-tests: New file.
63724         * modules/unictype/property-line-separator-tests: New file.
63725         * modules/unictype/property-logical-order-exception-tests: New file.
63726         * modules/unictype/property-lowercase-tests: New file.
63727         * modules/unictype/property-math-tests: New file.
63728         * modules/unictype/property-non-break-tests: New file.
63729         * modules/unictype/property-not-a-character-tests: New file.
63730         * modules/unictype/property-numeric-tests: New file.
63731         * modules/unictype/property-other-alphabetic-tests: New file.
63732         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
63733         * modules/unictype/property-other-grapheme-extend-tests: New file.
63734         * modules/unictype/property-other-id-continue-tests: New file.
63735         * modules/unictype/property-other-id-start-tests: New file.
63736         * modules/unictype/property-other-lowercase-tests: New file.
63737         * modules/unictype/property-other-math-tests: New file.
63738         * modules/unictype/property-other-uppercase-tests: New file.
63739         * modules/unictype/property-paired-punctuation-tests: New file.
63740         * modules/unictype/property-paragraph-separator-tests: New file.
63741         * modules/unictype/property-pattern-syntax-tests: New file.
63742         * modules/unictype/property-pattern-white-space-tests: New file.
63743         * modules/unictype/property-private-use-tests: New file.
63744         * modules/unictype/property-punctuation-tests: New file.
63745         * modules/unictype/property-quotation-mark-tests: New file.
63746         * modules/unictype/property-radical-tests: New file.
63747         * modules/unictype/property-sentence-terminal-tests: New file.
63748         * modules/unictype/property-soft-dotted-tests: New file.
63749         * modules/unictype/property-space-tests: New file.
63750         * modules/unictype/property-terminal-punctuation-tests: New file.
63751         * modules/unictype/property-test-tests: New file.
63752         * modules/unictype/property-titlecase-tests: New file.
63753         * modules/unictype/property-unassigned-code-value-tests: New file.
63754         * modules/unictype/property-unified-ideograph-tests: New file.
63755         * modules/unictype/property-uppercase-tests: New file.
63756         * modules/unictype/property-variation-selector-tests: New file.
63757         * modules/unictype/property-white-space-tests: New file.
63758         * modules/unictype/property-xid-continue-tests: New file.
63759         * modules/unictype/property-xid-start-tests: New file.
63760         * modules/unictype/property-zero-width-tests: New file.
63761         * modules/unictype/scripts-tests: New file.
63762         * modules/unictype/syntax-c-ident-tests: New file.
63763         * modules/unictype/syntax-c-whitespace-tests: New file.
63764         * modules/unictype/syntax-java-ident-tests: New file.
63765         * modules/unictype/syntax-java-whitespace-tests: New file.
63766         * tests/unictype/test-bidi_byname.c: New file.
63767         * tests/unictype/test-bidi_name.c: New file.
63768         * tests/unictype/test-bidi_of.c: New file.
63769         * tests/unictype/test-bidi_test.c: New file.
63770         * tests/unictype/test-block_list.c: New file.
63771         * tests/unictype/test-block_of.c: New file.
63772         * tests/unictype/test-block_test.c: New file.
63773         * tests/unictype/test-categ_and.c: New file.
63774         * tests/unictype/test-categ_and_not.c: New file.
63775         * tests/unictype/test-categ_byname.c: New file.
63776         * tests/unictype/test-categ_name.c: New file.
63777         * tests/unictype/test-categ_none.c: New file.
63778         * tests/unictype/test-categ_of.c: New file.
63779         * tests/unictype/test-categ_or.c: New file.
63780         * tests/unictype/test-categ_test_withtable.c: New file.
63781         * tests/unictype/test-combining.c: New file.
63782         * tests/unictype/test-decdigit.c: New file.
63783         * tests/unictype/test-digit.c: New file.
63784         * tests/unictype/test-mirror.c: New file.
63785         * tests/unictype/test-numeric.c: New file.
63786         * tests/unictype/test-pr_byname.c: New file.
63787         * tests/unictype/test-pr_test.c: New file.
63788         * tests/unictype/test-predicate-part1.h: New file.
63789         * tests/unictype/test-predicate-part2.h: New file.
63790         * tests/unictype/test-scripts.c: New file.
63791         * tests/unictype/test-sy_c_ident.c: New file.
63792         * tests/unictype/test-sy_java_ident.c: New file.
63793
63794         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
63795         for Unicode 5.0.0.
63796         * tests/unictype/test-categ_Cc.c: Likewise.
63797         * tests/unictype/test-categ_Cf.c: Likewise.
63798         * tests/unictype/test-categ_Cn.c: Likewise.
63799         * tests/unictype/test-categ_Co.c: Likewise.
63800         * tests/unictype/test-categ_Cs.c: Likewise.
63801         * tests/unictype/test-categ_L.c: Likewise.
63802         * tests/unictype/test-categ_Ll.c: Likewise.
63803         * tests/unictype/test-categ_Lm.c: Likewise.
63804         * tests/unictype/test-categ_Lo.c: Likewise.
63805         * tests/unictype/test-categ_Lt.c: Likewise.
63806         * tests/unictype/test-categ_Lu.c: Likewise.
63807         * tests/unictype/test-categ_M.c: Likewise.
63808         * tests/unictype/test-categ_Mc.c: Likewise.
63809         * tests/unictype/test-categ_Me.c: Likewise.
63810         * tests/unictype/test-categ_Mn.c: Likewise.
63811         * tests/unictype/test-categ_N.c: Likewise.
63812         * tests/unictype/test-categ_Nd.c: Likewise.
63813         * tests/unictype/test-categ_Nl.c: Likewise.
63814         * tests/unictype/test-categ_No.c: Likewise.
63815         * tests/unictype/test-categ_P.c: Likewise.
63816         * tests/unictype/test-categ_Pc.c: Likewise.
63817         * tests/unictype/test-categ_Pd.c: Likewise.
63818         * tests/unictype/test-categ_Pe.c: Likewise.
63819         * tests/unictype/test-categ_Pf.c: Likewise.
63820         * tests/unictype/test-categ_Pi.c: Likewise.
63821         * tests/unictype/test-categ_Po.c: Likewise.
63822         * tests/unictype/test-categ_Ps.c: Likewise.
63823         * tests/unictype/test-categ_S.c: Likewise.
63824         * tests/unictype/test-categ_Sc.c: Likewise.
63825         * tests/unictype/test-categ_Sk.c: Likewise.
63826         * tests/unictype/test-categ_Sm.c: Likewise.
63827         * tests/unictype/test-categ_So.c: Likewise.
63828         * tests/unictype/test-categ_Z.c: Likewise.
63829         * tests/unictype/test-categ_Zl.c: Likewise.
63830         * tests/unictype/test-categ_Zp.c: Likewise.
63831         * tests/unictype/test-categ_Zs.c: Likewise.
63832         * tests/unictype/test-ctype_alnum.c: Likewise.
63833         * tests/unictype/test-ctype_alpha.c: Likewise.
63834         * tests/unictype/test-ctype_blank.c: Likewise.
63835         * tests/unictype/test-ctype_cntrl.c: Likewise.
63836         * tests/unictype/test-ctype_digit.c: Likewise.
63837         * tests/unictype/test-ctype_graph.c: Likewise.
63838         * tests/unictype/test-ctype_lower.c: Likewise.
63839         * tests/unictype/test-ctype_print.c: Likewise.
63840         * tests/unictype/test-ctype_punct.c: Likewise.
63841         * tests/unictype/test-ctype_space.c: Likewise.
63842         * tests/unictype/test-ctype_upper.c: Likewise.
63843         * tests/unictype/test-ctype_xdigit.c: Likewise.
63844         * tests/unictype/test-decdigit.h: Likewise.
63845         * tests/unictype/test-digit.h: Likewise.
63846         * tests/unictype/test-numeric.h: Likewise.
63847         * tests/unictype/test-pr_alphabetic.c: Likewise.
63848         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
63849         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
63850         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
63851         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
63852         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
63853         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
63854         * tests/unictype/test-pr_bidi_control.c: Likewise.
63855         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
63856         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
63857         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
63858         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
63859         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
63860         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
63861         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
63862         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
63863         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
63864         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
63865         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
63866         * tests/unictype/test-pr_combining.c: Likewise.
63867         * tests/unictype/test-pr_composite.c: Likewise.
63868         * tests/unictype/test-pr_currency_symbol.c: Likewise.
63869         * tests/unictype/test-pr_dash.c: Likewise.
63870         * tests/unictype/test-pr_decimal_digit.c: Likewise.
63871         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
63872         * tests/unictype/test-pr_deprecated.c: Likewise.
63873         * tests/unictype/test-pr_diacritic.c: Likewise.
63874         * tests/unictype/test-pr_extender.c: Likewise.
63875         * tests/unictype/test-pr_format_control.c: Likewise.
63876         * tests/unictype/test-pr_grapheme_base.c: Likewise.
63877         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
63878         * tests/unictype/test-pr_grapheme_link.c: Likewise.
63879         * tests/unictype/test-pr_hex_digit.c: Likewise.
63880         * tests/unictype/test-pr_hyphen.c: Likewise.
63881         * tests/unictype/test-pr_id_continue.c: Likewise.
63882         * tests/unictype/test-pr_id_start.c: Likewise.
63883         * tests/unictype/test-pr_ideographic.c: Likewise.
63884         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
63885         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
63886         * tests/unictype/test-pr_ignorable_control.c: Likewise.
63887         * tests/unictype/test-pr_iso_control.c: Likewise.
63888         * tests/unictype/test-pr_join_control.c: Likewise.
63889         * tests/unictype/test-pr_left_of_pair.c: Likewise.
63890         * tests/unictype/test-pr_line_separator.c: Likewise.
63891         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
63892         * tests/unictype/test-pr_lowercase.c: Likewise.
63893         * tests/unictype/test-pr_math.c: Likewise.
63894         * tests/unictype/test-pr_non_break.c: Likewise.
63895         * tests/unictype/test-pr_not_a_character.c: Likewise.
63896         * tests/unictype/test-pr_numeric.c: Likewise.
63897         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
63898         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
63899         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
63900         * tests/unictype/test-pr_other_id_continue.c: Likewise.
63901         * tests/unictype/test-pr_other_id_start.c: Likewise.
63902         * tests/unictype/test-pr_other_lowercase.c: Likewise.
63903         * tests/unictype/test-pr_other_math.c: Likewise.
63904         * tests/unictype/test-pr_other_uppercase.c: Likewise.
63905         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
63906         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
63907         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
63908         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
63909         * tests/unictype/test-pr_private_use.c: Likewise.
63910         * tests/unictype/test-pr_punctuation.c: Likewise.
63911         * tests/unictype/test-pr_quotation_mark.c: Likewise.
63912         * tests/unictype/test-pr_radical.c: Likewise.
63913         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
63914         * tests/unictype/test-pr_soft_dotted.c: Likewise.
63915         * tests/unictype/test-pr_space.c: Likewise.
63916         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
63917         * tests/unictype/test-pr_titlecase.c: Likewise.
63918         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
63919         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
63920         * tests/unictype/test-pr_uppercase.c: Likewise.
63921         * tests/unictype/test-pr_variation_selector.c: Likewise.
63922         * tests/unictype/test-pr_white_space.c: Likewise.
63923         * tests/unictype/test-pr_xid_continue.c: Likewise.
63924         * tests/unictype/test-pr_xid_start.c: Likewise.
63925         * tests/unictype/test-pr_zero_width.c: Likewise.
63926         * tests/unictype/test-sy_c_whitespace.c: Likewise.
63927         * tests/unictype/test-sy_java_whitespace.c: Likewise.
63928
63929 2007-11-12  Bruno Haible  <bruno@clisp.org>
63930
63931         Unicode character classification functions.
63932         * lib/unictype.h: New file.
63933         * modules/unictype/base: New file.
63934         * modules/unictype/category-L: New file.
63935         * modules/unictype/category-Lu: New file.
63936         * modules/unictype/category-Ll: New file.
63937         * modules/unictype/category-Lt: New file.
63938         * modules/unictype/category-Lm: New file.
63939         * modules/unictype/category-Lo: New file.
63940         * modules/unictype/category-M: New file.
63941         * modules/unictype/category-Mn: New file.
63942         * modules/unictype/category-Mc: New file.
63943         * modules/unictype/category-Me: New file.
63944         * modules/unictype/category-N: New file.
63945         * modules/unictype/category-Nd: New file.
63946         * modules/unictype/category-Nl: New file.
63947         * modules/unictype/category-No: New file.
63948         * modules/unictype/category-P: New file.
63949         * modules/unictype/category-Pc: New file.
63950         * modules/unictype/category-Pd: New file.
63951         * modules/unictype/category-Ps: New file.
63952         * modules/unictype/category-Pe: New file.
63953         * modules/unictype/category-Pi: New file.
63954         * modules/unictype/category-Pf: New file.
63955         * modules/unictype/category-Po: New file.
63956         * modules/unictype/category-S: New file.
63957         * modules/unictype/category-Sm: New file.
63958         * modules/unictype/category-Sc: New file.
63959         * modules/unictype/category-Sk: New file.
63960         * modules/unictype/category-So: New file.
63961         * modules/unictype/category-Z: New file.
63962         * modules/unictype/category-Zs: New file.
63963         * modules/unictype/category-Zl: New file.
63964         * modules/unictype/category-Zp: New file.
63965         * modules/unictype/category-C: New file.
63966         * modules/unictype/category-Cc: New file.
63967         * modules/unictype/category-Cf: New file.
63968         * modules/unictype/category-Cs: New file.
63969         * modules/unictype/category-Co: New file.
63970         * modules/unictype/category-Cn: New file.
63971         * modules/unictype/category-or: New file.
63972         * modules/unictype/category-of: New file.
63973         * modules/unictype/category-test: New file.
63974         * modules/unictype/category-test-withtable: New file.
63975         * modules/unictype/category-byname: New file.
63976         * modules/unictype/category-none: New file.
63977         * modules/unictype/category-and: New file.
63978         * modules/unictype/category-and-not: New file.
63979         * modules/unictype/category-name: New file.
63980         * modules/unictype/combining-class: New file.
63981         * modules/unictype/category-all: New file.
63982         * modules/unictype/bidicategory-all: New file.
63983         * modules/unictype/bidicategory-byname: New file.
63984         * modules/unictype/bidicategory-name: New file.
63985         * modules/unictype/bidicategory-of: New file.
63986         * modules/unictype/bidicategory-test: New file.
63987         * modules/unictype/decimal-digit: New file.
63988         * modules/unictype/digit: New file.
63989         * modules/unictype/numeric: New file.
63990         * modules/unictype/mirror: New file.
63991         * modules/unictype/property-white-space: New file.
63992         * modules/unictype/property-alphabetic: New file.
63993         * modules/unictype/property-other-alphabetic: New file.
63994         * modules/unictype/property-not-a-character: New file.
63995         * modules/unictype/property-default-ignorable-code-point: New file.
63996         * modules/unictype/property-other-default-ignorable-code-point: New
63997         file.
63998         * modules/unictype/property-deprecated: New file.
63999         * modules/unictype/property-logical-order-exception: New file.
64000         * modules/unictype/property-variation-selector: New file.
64001         * modules/unictype/property-private-use: New file.
64002         * modules/unictype/property-unassigned-code-value: New file.
64003         * modules/unictype/property-uppercase: New file.
64004         * modules/unictype/property-other-uppercase: New file.
64005         * modules/unictype/property-lowercase: New file.
64006         * modules/unictype/property-other-lowercase: New file.
64007         * modules/unictype/property-titlecase: New file.
64008         * modules/unictype/property-soft-dotted: New file.
64009         * modules/unictype/property-id-start: New file.
64010         * modules/unictype/property-other-id-start: New file.
64011         * modules/unictype/property-id-continue: New file.
64012         * modules/unictype/property-other-id-continue: New file.
64013         * modules/unictype/property-xid-start: New file.
64014         * modules/unictype/property-xid-continue: New file.
64015         * modules/unictype/property-pattern-white-space: New file.
64016         * modules/unictype/property-pattern-syntax: New file.
64017         * modules/unictype/property-join-control: New file.
64018         * modules/unictype/property-grapheme-base: New file.
64019         * modules/unictype/property-grapheme-extend: New file.
64020         * modules/unictype/property-other-grapheme-extend: New file.
64021         * modules/unictype/property-grapheme-link: New file.
64022         * modules/unictype/property-bidi-control: New file.
64023         * modules/unictype/property-bidi-left-to-right: New file.
64024         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
64025         * modules/unictype/property-bidi-arabic-right-to-left: New file.
64026         * modules/unictype/property-bidi-european-digit: New file.
64027         * modules/unictype/property-bidi-eur-num-separator: New file.
64028         * modules/unictype/property-bidi-eur-num-terminator: New file.
64029         * modules/unictype/property-bidi-arabic-digit: New file.
64030         * modules/unictype/property-bidi-common-separator: New file.
64031         * modules/unictype/property-bidi-block-separator: New file.
64032         * modules/unictype/property-bidi-segment-separator: New file.
64033         * modules/unictype/property-bidi-whitespace: New file.
64034         * modules/unictype/property-bidi-non-spacing-mark: New file.
64035         * modules/unictype/property-bidi-boundary-neutral: New file.
64036         * modules/unictype/property-bidi-pdf: New file.
64037         * modules/unictype/property-bidi-embedding-or-override: New file.
64038         * modules/unictype/property-bidi-other-neutral: New file.
64039         * modules/unictype/property-hex-digit: New file.
64040         * modules/unictype/property-ascii-hex-digit: New file.
64041         * modules/unictype/property-ideographic: New file.
64042         * modules/unictype/property-unified-ideograph: New file.
64043         * modules/unictype/property-radical: New file.
64044         * modules/unictype/property-ids-binary-operator: New file.
64045         * modules/unictype/property-ids-trinary-operator: New file.
64046         * modules/unictype/property-zero-width: New file.
64047         * modules/unictype/property-space: New file.
64048         * modules/unictype/property-non-break: New file.
64049         * modules/unictype/property-iso-control: New file.
64050         * modules/unictype/property-format-control: New file.
64051         * modules/unictype/property-dash: New file.
64052         * modules/unictype/property-hyphen: New file.
64053         * modules/unictype/property-punctuation: New file.
64054         * modules/unictype/property-line-separator: New file.
64055         * modules/unictype/property-paragraph-separator: New file.
64056         * modules/unictype/property-quotation-mark: New file.
64057         * modules/unictype/property-sentence-terminal: New file.
64058         * modules/unictype/property-terminal-punctuation: New file.
64059         * modules/unictype/property-currency-symbol: New file.
64060         * modules/unictype/property-math: New file.
64061         * modules/unictype/property-other-math: New file.
64062         * modules/unictype/property-paired-punctuation: New file.
64063         * modules/unictype/property-left-of-pair: New file.
64064         * modules/unictype/property-combining: New file.
64065         * modules/unictype/property-composite: New file.
64066         * modules/unictype/property-decimal-digit: New file.
64067         * modules/unictype/property-numeric: New file.
64068         * modules/unictype/property-diacritic: New file.
64069         * modules/unictype/property-extender: New file.
64070         * modules/unictype/property-ignorable-control: New file.
64071         * modules/unictype/property-test: New file.
64072         * modules/unictype/property-byname: New file.
64073         * modules/unictype/property-all: New file.
64074         * modules/unictype/scripts: New file.
64075         * modules/unictype/scripts-all: New file.
64076         * modules/unictype/block-of: New file.
64077         * modules/unictype/block-test: New file.
64078         * modules/unictype/block-list: New file.
64079         * modules/unictype/block-all: New file.
64080         * modules/unictype/syntax-c-whitespace: New file.
64081         * modules/unictype/syntax-java-whitespace: New file.
64082         * modules/unictype/syntax-c-ident: New file.
64083         * modules/unictype/syntax-java-ident: New file.
64084         * modules/unictype/ctype-alnum: New file.
64085         * modules/unictype/ctype-alpha: New file.
64086         * modules/unictype/ctype-cntrl: New file.
64087         * modules/unictype/ctype-digit: New file.
64088         * modules/unictype/ctype-graph: New file.
64089         * modules/unictype/ctype-lower: New file.
64090         * modules/unictype/ctype-print: New file.
64091         * modules/unictype/ctype-punct: New file.
64092         * modules/unictype/ctype-space: New file.
64093         * modules/unictype/ctype-upper: New file.
64094         * modules/unictype/ctype-xdigit: New file.
64095         * modules/unictype/ctype-blank: New file.
64096         * lib/unictype/bidi_byname.c: New file.
64097         * lib/unictype/bidi_name.c: New file.
64098         * lib/unictype/bidi_of.c: New file.
64099         * lib/unictype/bidi_test.c: New file.
64100         * lib/unictype/bitmap.h: New file.
64101         * lib/unictype/block_test.c: New file.
64102         * lib/unictype/blocks.c: New file.
64103         * lib/unictype/categ_C.c: New file.
64104         * lib/unictype/categ_Cc.c: New file.
64105         * lib/unictype/categ_Cf.c: New file.
64106         * lib/unictype/categ_Cn.c: New file.
64107         * lib/unictype/categ_Co.c: New file.
64108         * lib/unictype/categ_Cs.c: New file.
64109         * lib/unictype/categ_L.c: New file.
64110         * lib/unictype/categ_Ll.c: New file.
64111         * lib/unictype/categ_Lm.c: New file.
64112         * lib/unictype/categ_Lo.c: New file.
64113         * lib/unictype/categ_Lt.c: New file.
64114         * lib/unictype/categ_Lu.c: New file.
64115         * lib/unictype/categ_M.c: New file.
64116         * lib/unictype/categ_Mc.c: New file.
64117         * lib/unictype/categ_Me.c: New file.
64118         * lib/unictype/categ_Mn.c: New file.
64119         * lib/unictype/categ_N.c: New file.
64120         * lib/unictype/categ_Nd.c: New file.
64121         * lib/unictype/categ_Nl.c: New file.
64122         * lib/unictype/categ_No.c: New file.
64123         * lib/unictype/categ_P.c: New file.
64124         * lib/unictype/categ_Pc.c: New file.
64125         * lib/unictype/categ_Pd.c: New file.
64126         * lib/unictype/categ_Pe.c: New file.
64127         * lib/unictype/categ_Pf.c: New file.
64128         * lib/unictype/categ_Pi.c: New file.
64129         * lib/unictype/categ_Po.c: New file.
64130         * lib/unictype/categ_Ps.c: New file.
64131         * lib/unictype/categ_S.c: New file.
64132         * lib/unictype/categ_Sc.c: New file.
64133         * lib/unictype/categ_Sk.c: New file.
64134         * lib/unictype/categ_Sm.c: New file.
64135         * lib/unictype/categ_So.c: New file.
64136         * lib/unictype/categ_Z.c: New file.
64137         * lib/unictype/categ_Zl.c: New file.
64138         * lib/unictype/categ_Zp.c: New file.
64139         * lib/unictype/categ_Zs.c: New file.
64140         * lib/unictype/categ_and.c: New file.
64141         * lib/unictype/categ_and_not.c: New file.
64142         * lib/unictype/categ_byname.c: New file.
64143         * lib/unictype/categ_name.c: New file.
64144         * lib/unictype/categ_none.c: New file.
64145         * lib/unictype/categ_of.c: New file.
64146         * lib/unictype/categ_or.c: New file.
64147         * lib/unictype/categ_test.c: New file.
64148         * lib/unictype/combining.c: New file.
64149         * lib/unictype/ctype_alnum.c: New file.
64150         * lib/unictype/ctype_alpha.c: New file.
64151         * lib/unictype/ctype_blank.c: New file.
64152         * lib/unictype/ctype_cntrl.c: New file.
64153         * lib/unictype/ctype_digit.c: New file.
64154         * lib/unictype/ctype_graph.c: New file.
64155         * lib/unictype/ctype_lower.c: New file.
64156         * lib/unictype/ctype_print.c: New file.
64157         * lib/unictype/ctype_punct.c: New file.
64158         * lib/unictype/ctype_space.c: New file.
64159         * lib/unictype/ctype_upper.c: New file.
64160         * lib/unictype/ctype_xdigit.c: New file.
64161         * lib/unictype/decdigit.c: New file.
64162         * lib/unictype/digit.c: New file.
64163         * lib/unictype/identsyntaxmap.h: New file.
64164         * lib/unictype/mirror.c: New file.
64165         * lib/unictype/numeric.c: New file.
64166         * lib/unictype/pr_alphabetic.c: New file.
64167         * lib/unictype/pr_ascii_hex_digit.c: New file.
64168         * lib/unictype/pr_bidi_arabic_digit.c: New file.
64169         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
64170         * lib/unictype/pr_bidi_block_separator.c: New file.
64171         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
64172         * lib/unictype/pr_bidi_common_separator.c: New file.
64173         * lib/unictype/pr_bidi_control.c: New file.
64174         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
64175         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
64176         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
64177         * lib/unictype/pr_bidi_european_digit.c: New file.
64178         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
64179         * lib/unictype/pr_bidi_left_to_right.c: New file.
64180         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
64181         * lib/unictype/pr_bidi_other_neutral.c: New file.
64182         * lib/unictype/pr_bidi_pdf.c: New file.
64183         * lib/unictype/pr_bidi_segment_separator.c: New file.
64184         * lib/unictype/pr_bidi_whitespace.c: New file.
64185         * lib/unictype/pr_byname.c: New file.
64186         * lib/unictype/pr_byname.gperf: New file.
64187         * lib/unictype/pr_combining.c: New file.
64188         * lib/unictype/pr_composite.c: New file.
64189         * lib/unictype/pr_currency_symbol.c: New file.
64190         * lib/unictype/pr_dash.c: New file.
64191         * lib/unictype/pr_decimal_digit.c: New file.
64192         * lib/unictype/pr_default_ignorable_code_point.c: New file.
64193         * lib/unictype/pr_deprecated.c: New file.
64194         * lib/unictype/pr_diacritic.c: New file.
64195         * lib/unictype/pr_extender.c: New file.
64196         * lib/unictype/pr_format_control.c: New file.
64197         * lib/unictype/pr_grapheme_base.c: New file.
64198         * lib/unictype/pr_grapheme_extend.c: New file.
64199         * lib/unictype/pr_grapheme_link.c: New file.
64200         * lib/unictype/pr_hex_digit.c: New file.
64201         * lib/unictype/pr_hyphen.c: New file.
64202         * lib/unictype/pr_id_continue.c: New file.
64203         * lib/unictype/pr_id_start.c: New file.
64204         * lib/unictype/pr_ideographic.c: New file.
64205         * lib/unictype/pr_ids_binary_operator.c: New file.
64206         * lib/unictype/pr_ids_trinary_operator.c: New file.
64207         * lib/unictype/pr_ignorable_control.c: New file.
64208         * lib/unictype/pr_iso_control.c: New file.
64209         * lib/unictype/pr_join_control.c: New file.
64210         * lib/unictype/pr_left_of_pair.c: New file.
64211         * lib/unictype/pr_line_separator.c: New file.
64212         * lib/unictype/pr_logical_order_exception.c: New file.
64213         * lib/unictype/pr_lowercase.c: New file.
64214         * lib/unictype/pr_math.c: New file.
64215         * lib/unictype/pr_non_break.c: New file.
64216         * lib/unictype/pr_not_a_character.c: New file.
64217         * lib/unictype/pr_numeric.c: New file.
64218         * lib/unictype/pr_other_alphabetic.c: New file.
64219         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
64220         * lib/unictype/pr_other_grapheme_extend.c: New file.
64221         * lib/unictype/pr_other_id_continue.c: New file.
64222         * lib/unictype/pr_other_id_start.c: New file.
64223         * lib/unictype/pr_other_lowercase.c: New file.
64224         * lib/unictype/pr_other_math.c: New file.
64225         * lib/unictype/pr_other_uppercase.c: New file.
64226         * lib/unictype/pr_paired_punctuation.c: New file.
64227         * lib/unictype/pr_paragraph_separator.c: New file.
64228         * lib/unictype/pr_pattern_syntax.c: New file.
64229         * lib/unictype/pr_pattern_white_space.c: New file.
64230         * lib/unictype/pr_private_use.c: New file.
64231         * lib/unictype/pr_punctuation.c: New file.
64232         * lib/unictype/pr_quotation_mark.c: New file.
64233         * lib/unictype/pr_radical.c: New file.
64234         * lib/unictype/pr_sentence_terminal.c: New file.
64235         * lib/unictype/pr_soft_dotted.c: New file.
64236         * lib/unictype/pr_space.c: New file.
64237         * lib/unictype/pr_terminal_punctuation.c: New file.
64238         * lib/unictype/pr_test.c: New file.
64239         * lib/unictype/pr_titlecase.c: New file.
64240         * lib/unictype/pr_unassigned_code_value.c: New file.
64241         * lib/unictype/pr_unified_ideograph.c: New file.
64242         * lib/unictype/pr_uppercase.c: New file.
64243         * lib/unictype/pr_variation_selector.c: New file.
64244         * lib/unictype/pr_white_space.c: New file.
64245         * lib/unictype/pr_xid_continue.c: New file.
64246         * lib/unictype/pr_xid_start.c: New file.
64247         * lib/unictype/pr_zero_width.c: New file.
64248         * lib/unictype/scripts.c: New file.
64249         * lib/unictype/sy_c_ident.c: New file.
64250         * lib/unictype/sy_c_whitespace.c: New file.
64251         * lib/unictype/sy_java_ident.c: New file.
64252         * lib/unictype/sy_java_whitespace.c: New file.
64253
64254         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
64255         Unicode 5.0.0.
64256         * lib/unictype/blocks.h: Likewise.
64257         * lib/unictype/categ_C.h: Likewise.
64258         * lib/unictype/categ_Cc.h: Likewise.
64259         * lib/unictype/categ_Cf.h: Likewise.
64260         * lib/unictype/categ_Cn.h: Likewise.
64261         * lib/unictype/categ_Co.h: Likewise.
64262         * lib/unictype/categ_Cs.h: Likewise.
64263         * lib/unictype/categ_L.h: Likewise.
64264         * lib/unictype/categ_Ll.h: Likewise.
64265         * lib/unictype/categ_Lm.h: Likewise.
64266         * lib/unictype/categ_Lo.h: Likewise.
64267         * lib/unictype/categ_Lt.h: Likewise.
64268         * lib/unictype/categ_Lu.h: Likewise.
64269         * lib/unictype/categ_M.h: Likewise.
64270         * lib/unictype/categ_Mc.h: Likewise.
64271         * lib/unictype/categ_Me.h: Likewise.
64272         * lib/unictype/categ_Mn.h: Likewise.
64273         * lib/unictype/categ_N.h: Likewise.
64274         * lib/unictype/categ_Nd.h: Likewise.
64275         * lib/unictype/categ_Nl.h: Likewise.
64276         * lib/unictype/categ_No.h: Likewise.
64277         * lib/unictype/categ_P.h: Likewise.
64278         * lib/unictype/categ_Pc.h: Likewise.
64279         * lib/unictype/categ_Pd.h: Likewise.
64280         * lib/unictype/categ_Pe.h: Likewise.
64281         * lib/unictype/categ_Pf.h: Likewise.
64282         * lib/unictype/categ_Pi.h: Likewise.
64283         * lib/unictype/categ_Po.h: Likewise.
64284         * lib/unictype/categ_Ps.h: Likewise.
64285         * lib/unictype/categ_S.h: Likewise.
64286         * lib/unictype/categ_Sc.h: Likewise.
64287         * lib/unictype/categ_Sk.h: Likewise.
64288         * lib/unictype/categ_Sm.h: Likewise.
64289         * lib/unictype/categ_So.h: Likewise.
64290         * lib/unictype/categ_Z.h: Likewise.
64291         * lib/unictype/categ_Zl.h: Likewise.
64292         * lib/unictype/categ_Zp.h: Likewise.
64293         * lib/unictype/categ_Zs.h: Likewise.
64294         * lib/unictype/categ_of.h: Likewise.
64295         * lib/unictype/combining.h: Likewise.
64296         * lib/unictype/ctype_alnum.h: Likewise.
64297         * lib/unictype/ctype_alpha.h: Likewise.
64298         * lib/unictype/ctype_blank.h: Likewise.
64299         * lib/unictype/ctype_cntrl.h: Likewise.
64300         * lib/unictype/ctype_digit.h: Likewise.
64301         * lib/unictype/ctype_graph.h: Likewise.
64302         * lib/unictype/ctype_lower.h: Likewise.
64303         * lib/unictype/ctype_print.h: Likewise.
64304         * lib/unictype/ctype_punct.h: Likewise.
64305         * lib/unictype/ctype_space.h: Likewise.
64306         * lib/unictype/ctype_upper.h: Likewise.
64307         * lib/unictype/ctype_xdigit.h: Likewise.
64308         * lib/unictype/decdigit.h: Likewise.
64309         * lib/unictype/digit.h: Likewise.
64310         * lib/unictype/mirror.h: Likewise.
64311         * lib/unictype/numeric.h: Likewise.
64312         * lib/unictype/pr_alphabetic.h: Likewise.
64313         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
64314         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
64315         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
64316         * lib/unictype/pr_bidi_block_separator.h: Likewise.
64317         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
64318         * lib/unictype/pr_bidi_common_separator.h: Likewise.
64319         * lib/unictype/pr_bidi_control.h: Likewise.
64320         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
64321         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
64322         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
64323         * lib/unictype/pr_bidi_european_digit.h: Likewise.
64324         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
64325         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
64326         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
64327         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
64328         * lib/unictype/pr_bidi_pdf.h: Likewise.
64329         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
64330         * lib/unictype/pr_bidi_whitespace.h: Likewise.
64331         * lib/unictype/pr_combining.h: Likewise.
64332         * lib/unictype/pr_composite.h: Likewise.
64333         * lib/unictype/pr_currency_symbol.h: Likewise.
64334         * lib/unictype/pr_dash.h: Likewise.
64335         * lib/unictype/pr_decimal_digit.h: Likewise.
64336         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
64337         * lib/unictype/pr_deprecated.h: Likewise.
64338         * lib/unictype/pr_diacritic.h: Likewise.
64339         * lib/unictype/pr_extender.h: Likewise.
64340         * lib/unictype/pr_format_control.h: Likewise.
64341         * lib/unictype/pr_grapheme_base.h: Likewise.
64342         * lib/unictype/pr_grapheme_extend.h: Likewise.
64343         * lib/unictype/pr_grapheme_link.h: Likewise.
64344         * lib/unictype/pr_hex_digit.h: Likewise.
64345         * lib/unictype/pr_hyphen.h: Likewise.
64346         * lib/unictype/pr_id_continue.h: Likewise.
64347         * lib/unictype/pr_id_start.h: Likewise.
64348         * lib/unictype/pr_ideographic.h: Likewise.
64349         * lib/unictype/pr_ids_binary_operator.h: Likewise.
64350         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
64351         * lib/unictype/pr_ignorable_control.h: Likewise.
64352         * lib/unictype/pr_iso_control.h: Likewise.
64353         * lib/unictype/pr_join_control.h: Likewise.
64354         * lib/unictype/pr_left_of_pair.h: Likewise.
64355         * lib/unictype/pr_line_separator.h: Likewise.
64356         * lib/unictype/pr_logical_order_exception.h: Likewise.
64357         * lib/unictype/pr_lowercase.h: Likewise.
64358         * lib/unictype/pr_math.h: Likewise.
64359         * lib/unictype/pr_non_break.h: Likewise.
64360         * lib/unictype/pr_not_a_character.h: Likewise.
64361         * lib/unictype/pr_numeric.h: Likewise.
64362         * lib/unictype/pr_other_alphabetic.h: Likewise.
64363         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
64364         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
64365         * lib/unictype/pr_other_id_continue.h: Likewise.
64366         * lib/unictype/pr_other_id_start.h: Likewise.
64367         * lib/unictype/pr_other_lowercase.h: Likewise.
64368         * lib/unictype/pr_other_math.h: Likewise.
64369         * lib/unictype/pr_other_uppercase.h: Likewise.
64370         * lib/unictype/pr_paired_punctuation.h: Likewise.
64371         * lib/unictype/pr_paragraph_separator.h: Likewise.
64372         * lib/unictype/pr_pattern_syntax.h: Likewise.
64373         * lib/unictype/pr_pattern_white_space.h: Likewise.
64374         * lib/unictype/pr_private_use.h: Likewise.
64375         * lib/unictype/pr_punctuation.h: Likewise.
64376         * lib/unictype/pr_quotation_mark.h: Likewise.
64377         * lib/unictype/pr_radical.h: Likewise.
64378         * lib/unictype/pr_sentence_terminal.h: Likewise.
64379         * lib/unictype/pr_soft_dotted.h: Likewise.
64380         * lib/unictype/pr_space.h: Likewise.
64381         * lib/unictype/pr_terminal_punctuation.h: Likewise.
64382         * lib/unictype/pr_titlecase.h: Likewise.
64383         * lib/unictype/pr_unassigned_code_value.h: Likewise.
64384         * lib/unictype/pr_unified_ideograph.h: Likewise.
64385         * lib/unictype/pr_uppercase.h: Likewise.
64386         * lib/unictype/pr_variation_selector.h: Likewise.
64387         * lib/unictype/pr_white_space.h: Likewise.
64388         * lib/unictype/pr_xid_continue.h: Likewise.
64389         * lib/unictype/pr_xid_start.h: Likewise.
64390         * lib/unictype/pr_zero_width.h: Likewise.
64391         * lib/unictype/scripts.h: Likewise.
64392         * lib/unictype/scripts_byname.gperf: Likewise.
64393         * lib/unictype/sy_c_ident.h: Likewise.
64394         * lib/unictype/sy_c_whitespace.h: Likewise.
64395         * lib/unictype/sy_java_ident.h: Likewise.
64396         * lib/unictype/sy_java_whitespace.h: Likewise.
64397
64398         * lib/unictype/Makefile: New file.
64399         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
64400         glibc.
64401         * lib/unictype/3level.h: New file, copied from glibc.
64402         * lib/unictype/3levelbit.h: New file.
64403
64404 2007-11-11  Bruno Haible  <bruno@clisp.org>
64405
64406         * modules/gperf: New file.
64407         * modules/iconv_open (Depends-on): Add it.
64408         (Makefile.am): Remove the GPERF definition.
64409
64410 2007-11-11  Bruno Haible  <bruno@clisp.org>
64411
64412         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
64413         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
64414
64415 2007-11-11  Bruno Haible  <bruno@clisp.org>
64416
64417         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
64418         (usage): Remove function.
64419
64420 2007-11-11  Bruno Haible  <bruno@clisp.org>
64421
64422         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
64423         gl_FUNC_CEILF_LIBS.
64424         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
64425         gl_FUNC_CEIL_LIBS.
64426         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
64427         gl_FUNC_CEILL_LIBS.
64428         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
64429         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
64430         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
64431
64432 2007-11-11  Bruno Haible  <bruno@clisp.org>
64433
64434         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
64435         roundf were declared but do not exist on functions.
64436         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
64437         roundl were declared but do not exist on functions.
64438         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
64439         HAVE_FLOORL_AND_CEILL, respectively.
64440         Needed for Sun C on Solaris 10.
64441
64442 2007-11-11  Bruno Haible  <bruno@clisp.org>
64443
64444         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
64445         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
64446         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
64447         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
64448         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
64449         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
64450         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
64451         HAVE_DECL_ROUNDF.
64452         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
64453         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
64454         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
64455         of HAVE_DECL_ROUND*.
64456         * modules/math (Makefile.am): Update.
64457
64458 2007-11-10  Bruno Haible  <bruno@clisp.org>
64459
64460         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
64461         ptrdiff_t as m4/intl.m4.
64462
64463 2007-11-10  Jim Meyering  <meyering@redhat.com>
64464
64465         Avoid link failure for the argmatch test.
64466         * tests/test-argmatch.c (usage): Define function to avoid a link
64467         failure: argmatch_die requires a usage function.
64468
64469 2007-11-09  Bruno Haible  <bruno@clisp.org>
64470
64471         * doc/functions/snprintf.texi: Mention BeOS deficiency.
64472         * doc/functions/vsnprintf.texi: Likewise.
64473         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
64474         with a size argument < 2.
64475
64476 2007-11-09  Bruno Haible  <bruno@clisp.org>
64477
64478         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
64479         buffer. Fixes an inefficiency introduced on 2007-11-03.
64480
64481 2007-11-09  Bruno Haible  <bruno@clisp.org>
64482
64483         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
64484         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
64485
64486 2007-11-08  Jim Meyering  <meyering@redhat.com>
64487
64488         Change cache variable name prefix "jm_" to "gl_" everywhere.
64489         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
64490         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
64491         * m4/uptime.m4: s/gl_/jm_/
64492
64493 2007-11-07  Bruno Haible  <bruno@clisp.org>
64494
64495         Update to GNU gettext 0.17.
64496         * m4/intl.m4: Update to GNU gettext 0.17.
64497         * m4/po.m4: Likewise.
64498         * modules/gettext (Files): Remove m4/ulonglong.m4.
64499         (configure.ac): Require gettext infrastructure from version 0.17.
64500
64501 2007-11-06  Bruno Haible  <bruno@clisp.org>
64502
64503         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
64504         symbolic values are not defined in a public header.
64505         * lib/freadable.c (freadable) [QNX]: Likewise.
64506         * lib/freadahead.c (freadahead) [QNX]: Likewise.
64507         * lib/freading.c (freading) [QNX]: Likewise.
64508         * lib/fseterr.c (fseterr) [QNX]: Likewise.
64509         * lib/fwritable.c (fwritable) [QNX]: Likewise.
64510         * lib/fwriting.c (fwriting) [QNX]: Likewise.
64511         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
64512         Reported by Alain Magloire.
64513
64514         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
64515
64516 2007-11-05  Bruno Haible  <bruno@clisp.org>
64517
64518         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
64519         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
64520         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
64521         Reported by Eric Blake.
64522
64523 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64524             Bruno Haible  <bruno@clisp.org>
64525
64526         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
64527         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
64528         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
64529         (malloc): Undefine also before including <stdlib.h>.
64530         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
64531         Needed on OSF/1 4.0.
64532
64533 2007-11-05  Jim Meyering  <meyering@redhat.com>
64534
64535         git-version-gen: sync from coreutils.
64536         * build-aux/git-version-gen: Add comments.
64537         Change the first '-' to '.' in the snapshot version string,
64538         e.g., 6.9-377-08144 -> 6.9.377-08144
64539         Remove first parameter.
64540         Don't declare a version "-dirty" merely because a time
64541         stamp has changed.
64542
64543 2007-11-04  Bruno Haible  <bruno@clisp.org>
64544
64545         * lib/lock.h: Protect all macro definitions containing an 'if'
64546         statement through a "do { ... } while (0)".
64547         * lib/tls.h: Likewise.
64548
64549 2007-11-04  Bruno Haible  <bruno@clisp.org>
64550
64551         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
64552
64553 2007-11-04  Bruno Haible  <bruno@clisp.org>
64554
64555         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
64556         * modules/fprintf-posix (Depends-on): Add nocrash.
64557         * modules/snprintf-posix (Depends-on): Likewise.
64558         * modules/sprintf-posix (Depends-on): Likewise.
64559         * modules/vasnprintf-posix (Depends-on): Likewise.
64560         * modules/vasprintf-posix (Depends-on): Likewise.
64561         * modules/vfprintf-posix (Depends-on): Likewise.
64562         * modules/vsnprintf-posix (Depends-on): Likewise.
64563         * modules/vsprintf-posix (Depends-on): Likewise.
64564         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64565         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64566         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
64567         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
64568         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
64569         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
64570         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
64571
64572 2007-11-04  Bruno Haible  <bruno@clisp.org>
64573
64574         * modules/nocrash: New file.
64575         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
64576         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
64577
64578 2007-11-04  Bruno Haible  <bruno@clisp.org>
64579
64580         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
64581         precision handling.
64582         * tests/test-vasprintf-posix.c (test_function): Likewise.
64583         * tests/test-snprintf-posix.h (test_function): Likewise.
64584         * tests/test-sprintf-posix.h (test_function): Likewise.
64585
64586         Fix *printf behaviour for large precisions on mingw and BeOS.
64587         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
64588         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
64589         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
64590         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64591         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64592         gl_PRINTF_PRECISION and test its result. Invoke
64593         gl_PREREQ_VASNPRINTF_PRECISION.
64594         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64595         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64596         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64597         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64598         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64599         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64600         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64601         * doc/functions/fprintf.texi: Update.
64602         * doc/functions/printf.texi: Update.
64603         * doc/functions/snprintf.texi: Update.
64604         * doc/functions/sprintf.texi: Update.
64605         * doc/functions/vfprintf.texi: Update.
64606         * doc/functions/vprintf.texi: Update.
64607         * doc/functions/vsnprintf.texi: Update.
64608         * doc/functions/vsprintf.texi: Update.
64609
64610 2007-11-04  Bruno Haible  <bruno@clisp.org>
64611
64612         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
64613
64614 2007-11-04  Bruno Haible  <bruno@clisp.org>
64615
64616         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
64617         Reported by Sylvain Beucler <beuc@gnu.org>.
64618
64619 2007-11-03  Bruno Haible  <bruno@clisp.org>
64620
64621         * tests/test-fprintf-posix2.sh: New file.
64622         * tests/test-fprintf-posix2.c: New file.
64623         * modules/fprintf-posix-tests (Files): Add them.
64624         (TESTS): Add test-fprintf-posix2.sh.
64625         (configure.ac): Check for getrlimit and setrlimit.
64626         (check_PROGRAMS): Add test-fprintf-posix2.
64627
64628         * tests/test-printf-posix2.sh: New file.
64629         * tests/test-printf-posix2.c: New file.
64630         * modules/printf-posix-tests (Files): Add them.
64631         (TESTS): Add test-printf-posix2.sh.
64632         (configure.ac): Check for getrlimit and setrlimit.
64633         (check_PROGRAMS): Add test-printf-posix2.
64634
64635         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
64636         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
64637         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
64638         (decode_double): New function, copied from decode_long_double.
64639         (scale10_round_decimal_decoded): New function, extracted from
64640         scale10_round_decimal_long_double.
64641         (scale10_round_decimal_long_double): Use it.
64642         (scale10_round_decimal_double): New function.
64643         (floorlog10): New function.
64644         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
64645         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
64646         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64647         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64648         gl_PRINTF_ENOMEM and test its result. Invoke
64649         gl_PREREQ_VASNPRINTF_ENOMEM.
64650         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64651         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64652         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64653         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64654         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64655         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64656         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64657         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
64658         * modules/snprintf-posix (Depends-on): Likewise.
64659         * modules/sprintf-posix (Depends-on): Likewise.
64660         * modules/vasnprintf-posix (Depends-on): Likewise.
64661         * modules/vasprintf-posix (Depends-on): Likewise.
64662         * modules/vfprintf-posix (Depends-on): Likewise.
64663         * modules/vsnprintf-posix (Depends-on): Likewise.
64664         * modules/vsprintf-posix (Depends-on): Likewise.
64665         * doc/functions/fprintf.texi: Update.
64666         * doc/functions/printf.texi: Update.
64667         * doc/functions/snprintf.texi: Update.
64668         * doc/functions/sprintf.texi: Update.
64669         * doc/functions/vfprintf.texi: Update.
64670         * doc/functions/vprintf.texi: Update.
64671         * doc/functions/vsnprintf.texi: Update.
64672         * doc/functions/vsprintf.texi: Update.
64673
64674 2007-11-03  Bruno Haible  <bruno@clisp.org>
64675
64676         * modules/frexp-nolibm-tests: New file.
64677
64678         * modules/frexp-nolibm: New file.
64679         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
64680
64681 2007-11-03  Bruno Haible  <bruno@clisp.org>
64682
64683         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
64684         value is C99 compliant.
64685         Needed for OSF/1 5.1.
64686
64687 2007-11-03  Bruno Haible  <bruno@clisp.org>
64688
64689         Fix out-of-memory handling of vasnprintf.
64690         * lib/printf-parse.c: Include <errno.h>.
64691         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
64692         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
64693         is already set.
64694
64695 2007-11-02  Eric Blake  <ebb9@byu.net>
64696
64697         Fix tests on cygwin.
64698         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
64699
64700 2007-11-01  Bruno Haible  <bruno@clisp.org>
64701
64702         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
64703         warning.
64704         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
64705         needed for POSIX compatibility.
64706
64707 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
64708
64709         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
64710         for compatibility with GNU.
64711
64712 2007-11-01  Bruno Haible  <bruno@clisp.org>
64713
64714         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
64715         (putenv): Renamed from rpl_putenv. Change argument type from
64716         'const char *' to 'char *'.
64717         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
64718         of defining putenv in config.h, just set REPLACE_PUTENV.
64719         * modules/putenv (Depends-on): Add stdlib.
64720         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64721         (Include): Use <stdlib.h>.
64722         * lib/stdlib.in.h (putenv): New declaration.
64723         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
64724         REPLACE_PUTENV.
64725         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
64726         REPLACE_PUTENV.
64727         Needed for MacOS X 10.5.0.
64728         Reported by Peter O'Gorman <peter@pogma.com>.
64729
64730 2007-11-01  Jim Meyering  <meyering@redhat.com>
64731
64732         Treat an empty date string exactly like "0".
64733         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
64734         if the remaining date string (to be parsed) is empty, use "0".
64735         Reported by Mischa Molhoek and discussed in this thread:
64736         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
64737
64738 2007-10-31  Bruno Haible  <bruno@clisp.org>
64739
64740         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
64741         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
64742         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
64743         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
64744         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
64745         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
64746
64747 2007-10-31  Bruno Haible  <bruno@clisp.org>
64748
64749         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
64750         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
64751         (AC_TYPE_LONG_LONG_INT): Use it.
64752         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
64753         it as well.
64754         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
64755         to m4/longlong.m4.
64756         * modules/stdint (Files): Remove m4/ulonglong.m4.
64757         * modules/strtoull (Files): Use m4/longlong.m4 instead of
64758         m4/ulonglong.m4.
64759         * modules/strtoumax (Files): Likewise.
64760
64761 2007-10-30  Bruno Haible  <bruno@clisp.org>
64762
64763         * modules/xvasprintf-posix: New file.
64764         Suggested by Eric Blake.
64765
64766 2007-10-30  Bruno Haible  <bruno@clisp.org>
64767
64768         * modules/xprintf-posix-tests: New file.
64769         * tests/test-xprintf-posix.sh: New file.
64770         * tests/test-xprintf-posix.c: New file.
64771         * tests/test-xfprintf-posix.c: New file.
64772
64773         * modules/xprintf-posix: New file.
64774
64775 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64776
64777         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
64778         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
64779         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
64780
64781 2007-10-29  Bruno Haible  <bruno@clisp.org>
64782
64783         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
64784         contain the special marker '_cv_'.
64785         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
64786         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
64787         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
64788         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
64789         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
64790         Reported by Ralf Wildenhues.
64791
64792 2007-10-29  Bruno Haible  <bruno@clisp.org>
64793
64794         * gnulib-tool (func_import): When --lgpl is not specified, set
64795         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
64796         GPLv3.
64797         Reported by Simon Josefsson.
64798
64799 2007-10-28  Bruno Haible  <bruno@clisp.org>
64800
64801         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
64802         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
64803         HAVE_DECL_ISFINITE.
64804         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64805         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
64806         HAVE_DECL_ISFINITE.
64807
64808 2007-10-28  Bruno Haible  <bruno@clisp.org>
64809
64810         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
64811         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
64812
64813 2007-10-28  Bruno Haible  <bruno@clisp.org>
64814
64815         Fix link errors with Sun C 5.0 on Solaris 10.
64816         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
64817         function is declared but not present in the compiler's libm.
64818         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
64819         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
64820         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
64821         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
64822         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
64823         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
64824         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
64825         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64826         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
64827         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
64828         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
64829         HAVE_DECL_FLOORL.
64830
64831 2007-10-28  Bruno Haible  <bruno@clisp.org>
64832
64833         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
64834         gl_FUNC_FLOORL. Cache the result.
64835         (gl_FUNC_FLOORL): Use it.
64836         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
64837         gl_FUNC_CEILL. Cache the result.
64838         (gl_FUNC_CEILL): Use it.
64839
64840         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
64841         gl_FUNC_FLOOR. Cache the result.
64842         (gl_FUNC_FLOOR): Use it.
64843         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
64844         gl_FUNC_CEIL. Cache the result.
64845         (gl_FUNC_CEIL): Use it.
64846
64847         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
64848         gl_FUNC_FLOORF. Cache the result.
64849         (gl_FUNC_FLOORF): Use it.
64850         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
64851         gl_FUNC_CEILF. Cache the result.
64852         (gl_FUNC_CEILF): Use it.
64853
64854 2007-10-28  Bruno Haible  <bruno@clisp.org>
64855
64856         * gnulib-tool: Allow specifying the LGPL version number through
64857         --lgpl=2 or --lgpl=3.
64858         (func_usage): Document --lgpl with argument.
64859         Handle --lgpl=... arguments.
64860         (func_import): Recognize also gl_LGPL calls with an argument. When
64861         --lgpl=2 is used and the module's license is just LGPL, report an
64862         error. Set sed_transform_lib_file according to the lgpl variable. In
64863         the generated files, use --lgpl or gl_LGPL invocations with argument,
64864         if necessary.
64865         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
64866         an LGPv2+ license.
64867         * doc/gnulib-tool.texi (Modified imports): Update explanation of
64868         gl_LGPL macro.
64869
64870 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64871             Bruno Haible  <bruno@clisp.org>
64872
64873         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
64874         (u16_uctomb_aux): Likewise.
64875         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
64876         !HAVE_INLINE.
64877         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
64878
64879 2007-10-28  Bruno Haible  <bruno@clisp.org>
64880
64881         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
64882         Invoke AM_GETTEXT_OPTION if it exists.
64883         * modules/vasprintf: Likewise.
64884         * modules/verror: Likewise.
64885         * modules/xprintf: Likewise.
64886         * modules/xvasprintf: Likewise.
64887
64888 2007-10-27  Ben Pfaff  <blp@gnu.org>
64889
64890         * lib/math.in.h: Define isfinite macro and prototypes for
64891         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
64892         implementations.
64893         * m4/math_h.m4: New substitutions for isfinite module.
64894         * lib/isfinite.c: New file.
64895         * m4/isfinite.m4: New file.
64896         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
64897         * modules/isfinite: New file.
64898         * modules/isfinite-tests: New file.
64899         * tests/tests-isfinite.c: New file.
64900         * doc/functions/isfinite.texi: Mention isfinite module.
64901         * MODULES.html.sh: Mention new module.
64902
64903 2007-10-27  Ben Pfaff  <blp@gnu.org>
64904
64905         Ralf Wildenhues reported that Tru64 4.0D declares the round
64906         functions but does not have definitions.
64907         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
64908         cannot be found in any library, set the output variable to
64909         "missing" instead of "".
64910         * m4/round.m4: Also use our substitute if we cannot find round in
64911         any library, even if it is declared.
64912         * m4/roundf.m4: Likewise for roundf.
64913         * m4/roundl.m4: Likewise for roundl.
64914         * lib/math.in.h: Undefine roundf, round, roundl before defining
64915         their replacements, to allow for hypothetical systems where these
64916         may be defined as macros but not available in libraries.
64917
64918 2007-10-27  Bruno Haible  <bruno@clisp.org>
64919
64920         * doc/gnulib.texi: Invoke @firstparagraphindent.
64921         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
64922         changes in gnulib.
64923         (Source changes): New section.
64924
64925 2007-10-26  Bruno Haible  <bruno@clisp.org>
64926
64927         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
64928         borrowed from autoconf.
64929
64930 2007-10-26  Bruno Haible  <bruno@clisp.org>
64931
64932         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
64933         strerror returned the empty string. Needed on HP-UX 11.00.
64934
64935 2007-10-24  Micah Cowan  <micah@cowan.name>
64936
64937         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
64938         * build-aux/bootstrap: Remove support for now-unnecessary option,
64939         --cvs-user, and envvars CVS_USER, CVS_RSH.
64940
64941 2007-10-24  Jim Meyering  <meyering@redhat.com>
64942
64943         Avoid diagnostics from sha1sum when there is no cached checksum.
64944         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
64945         if the po.s1 file hasn't been created yet.
64946
64947         * build-aux/bootstrap: Sync from coreutils:
64948         2007-10-24  Jim Meyering  <meyering@redhat.com>
64949         Get gnulib from the git repository, not from an obsolete cvs one.
64950         * build-aux/bootstrap: Suggestion from Micah Cowan.
64951         2007-10-04  Jim Meyering  <jim@meyering.net>
64952         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
64953         (update_po_files): Work also when there are no .po files in po/.
64954
64955 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
64956
64957         * README: Append ".git" to git and cg examples.
64958         Problem reported by Benoit Sigoure.
64959
64960 2007-10-23  Micah Cowan  <micah@cowan.name>
64961
64962         * users.txt: Add wget.
64963
64964 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64965
64966         Fix linking of some unistdio tests on FreeBSD.
64967         * modules/unistdio/u16-vsnprintf-tests
64968         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
64969         * modules/unistdio/u16-vsprintf-tests
64970         (test_u16_vsnprintf1_LDADD): Likewise.
64971         * modules/unistdio/u32-vsnprintf-tests
64972         (test_u32_vsnprintf1_LDADD): Likewise.
64973         * modules/unistdio/u32-vsprintf-tests
64974         (test_u32_vsprintf1_LDADD): Likewise.
64975         * modules/unistdio/u8-vsnprintf-tests
64976         (test_u8_vsnprintf1_LDADD): Likewise.
64977         * modules/unistdio/u8-vsprintf-tests
64978         (test_u8_vsprintf1_LDADD): Likewise.
64979         * modules/unistdio/ulc-vsnprintf-tests
64980         (test_ulc_vsnprintf1_LDADD): Likewise.
64981         * modules/unistdio/ulc-vsprintf-tests
64982         (test_ulc_vsprintf1_LDADD): Likewise.
64983
64984         Fix linking of some uniconv tests on FreeBSD.
64985         * modules/uniconv/u16-conv-from-enc-tests
64986         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
64987         * modules/uniconv/u16-conv-to-enc-tests
64988         (test_u16_conv_to_enc_LDADD): Likewise.
64989         * modules/uniconv/u16-strconv-from-enc-tests
64990         (test_u16_strconv_from_enc_LDADD): Likewise.
64991         * modules/uniconv/u16-strconv-to-enc-tests
64992         (test_u16_strconv_to_enc_LDADD): Likewise.
64993         * modules/uniconv/u32-conv-from-enc-tests
64994         (test_u32_conv_from_enc_LDADD): Likewise.
64995         * modules/uniconv/u32-conv-to-enc-tests
64996         (test_u32_conv_to_enc_LDADD): Likewise.
64997         * modules/uniconv/u32-strconv-from-enc-tests
64998         (test_u32_strconv_from_enc_LDADD): Likewise.
64999         * modules/uniconv/u32-strconv-to-enc-tests
65000         (test_u32_strconv_to_enc_LDADD): Likewise.
65001         * modules/uniconv/u8-conv-from-enc-tests
65002         (test_u8_conv_from_enc_LDADD): Likewise.
65003         * modules/uniconv/u8-conv-to-enc-tests
65004         (test_u8_conv_to_enc_LDADD): Likewise.
65005         * modules/uniconv/u8-strconv-from-enc-tests
65006         (test_u8_strconv_from_enc_LDADD): Likewise.
65007         * modules/uniconv/u8-strconv-to-enc-tests
65008         (test_u8_strconv_to_enc_LDADD): Likewise.
65009
65010 2007-10-22  Bruno Haible  <bruno@clisp.org>
65011
65012         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
65013         size.
65014
65015 2007-10-22  Eric Blake  <ebb9@byu.net>
65016
65017         Tweak x*printf documentation.
65018         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
65019         variable name and comments.
65020         Suggested by Bruno Haible.
65021
65022 2007-10-22  Bruno Haible  <bruno@clisp.org>
65023
65024         * lib/acl.c (copy_acl): Fix file name in comment.
65025
65026 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
65027
65028         Fix Tru64 problem with stdbool.h.
65029         * lib/stdbool.in.h (false, true):
65030         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
65031         Don't declare as an enum in this situation; it runs afoul of Tru64.
65032         Problem reported by Steven M. Schweda in
65033         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
65034
65035 2007-10-22  Eric Blake  <ebb9@byu.net>
65036
65037         Also wrap vf?printf.
65038         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
65039         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
65040         (xvprintf, xvfprintf): New functions.
65041
65042 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65043
65044         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
65045         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
65046
65047         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
65048         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
65049
65050 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
65051
65052         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
65053         by Bruno Haible.
65054
65055 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65056
65057         * lib/getloadavg.c
65058         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
65059         Undef `sys' after including sys/table.h, for Tru64 4.0D.
65060
65061         * tests/test-i-ring.c: Work for C89.
65062
65063 2007-10-22  Bruno Haible  <bruno@clisp.org>
65064
65065         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
65066         -1u, in preprocessor expression, so that we don't test for the bug
65067         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
65068         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
65069
65070 2007-10-22  Eric Blake  <ebb9@byu.net>
65071
65072         * tests/test-yesno.sh: Silence stderr during test.
65073
65074 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65075
65076         * modules/crypto/gc-camellia: New file.
65077
65078         * m4/gc-camellia.m4: New file.
65079
65080         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
65081
65082         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
65083
65084 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65085
65086         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
65087         --help to stdout.  Reported by sms@antinode.org (Steven
65088         M. Schweda).
65089
65090 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65091
65092         * users.txt: Fix link to libksba.
65093
65094 2007-10-21  Ben Pfaff  <blp@gnu.org>
65095
65096         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
65097         round.c roundf implementation that depends on floorf and ceilf to
65098         be tested unconditionally.
65099
65100 2007-10-21  Ben Pfaff  <blp@gnu.org>
65101
65102         * m4/check-libm-func.m4: Removed.
65103         * m4/check-math-lib.m4: New file.
65104         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
65105         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
65106         definition and lack of AC_LIBOBJ([roundf]).
65107         * m4/roundl.m4: Ditto, and similarly for roundl.
65108         * modules/round: Reference new m4 file.
65109         * modules/roundf: Ditto.
65110         * modules/roundl: Ditto.
65111         * tests/test-round2.c (main): Use ROUND instead of round.
65112         Bug report from Bruno Haible.
65113
65114 2007-10-21  Bruno Haible  <bruno@clisp.org>
65115
65116         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
65117         context.
65118
65119 2007-10-21  Bruno Haible  <bruno@clisp.org>
65120
65121         * tests/test-wcwidth.c (main): Allow negative result for some control
65122         characters.
65123
65124         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
65125         Needed on OSF/1 5.1.
65126
65127 2007-10-21  Bruno Haible  <bruno@clisp.org>
65128
65129         * tests/test-floorf1.c: Include isnanf.h.
65130         (main): Use isnanf() instead of isnan().
65131         * tests/test-ceilf1.c: Include isnanf.h.
65132         (main): Use isnanf() instead of isnan().
65133         * tests/test-truncf1.c: Include isnanf.h.
65134         (main): Use isnanf() instead of isnan().
65135         * tests/test-roundf1.c: Include isnanf.h.
65136         (main): Use isnanf() instead of isnan().
65137
65138 2007-10-21  Eric Blake  <ebb9@byu.net>
65139
65140         * users.txt: Update URL for m4.
65141
65142 2007-10-21  Bruno Haible  <bruno@clisp.org>
65143
65144         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
65145
65146 2007-10-21  Bruno Haible  <bruno@clisp.org>
65147
65148         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
65149         Git's management files if the CVS files are not present.
65150
65151 2007-10-20  Bruno Haible  <bruno@clisp.org>
65152
65153         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
65154         gcc-3.4.x.
65155
65156 2007-10-20  Ben Pfaff  <blp@gnu.org>
65157
65158         * lib/math.in.h: Declare round, roundf, roundl if we are providing
65159         implementations.
65160         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
65161         * lib/round.c: New file.
65162         * lib/roundf.c: New file.
65163         * lib/roundl.c: New file.
65164         * m4/round.m4: New file.
65165         * m4/roundf.m4: New file.
65166         * m4/roundl.m4: New file.
65167         * m4/check-libm-func-m4: New file.
65168         * modules/math: Replace round, roundf, roundl related @VARS@ in
65169         math.in.h.
65170         * modules/round: New file.
65171         * modules/round-tests: New file.
65172         * modules/roundf: New file.
65173         * modules/roundf-tests: New file.
65174         * modules/roundl: New file.
65175         * modules/roundl-tests: New file.
65176         * tests/test-round1.c: New file.
65177         * tests/test-round2.c: New file.
65178         * tests/test-roundf1.c: New file.
65179         * tests/test-roundf2.c: New file.
65180         * tests/test-roundl.c: New file.
65181         * doc/functions/round.texi: Mention round module.
65182         * doc/functions/roundf.texi: Mention roundf module.
65183         * doc/functions/roundl.texi: Mention roundl module.
65184         * MODULES.html.sh: Mention new modules.
65185         Thanks to Bruno Haible for suggestions.
65186
65187 2007-10-20  Jim Meyering  <meyering@redhat.com>
65188
65189         * lib/xprintf.c: Include <config.h> unconditionally.
65190
65191         Change xprintf's license to GPL.
65192         * modules/xprintf (License): s/LGPL/GPL/, since this module
65193         depends on modules (exit and exitfail) which are GPL.
65194         Suggestion from Bruno Haible.
65195
65196         xprintf fixes.
65197         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
65198         Use a clearer diagnostic.
65199         Patch from Bruno Haible.
65200
65201 2007-10-20  Bruno Haible  <bruno@clisp.org>
65202
65203         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
65204         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
65205         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65206
65207 2007-10-20  Bruno Haible  <bruno@clisp.org>
65208
65209         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
65210         precision in the comparison result > x - 1 or similar.
65211         * tests/test-ceilf2.c (correct_result_p): Likewise.
65212         * tests/test-truncf2.c (correct_result_p): Likewise.
65213         * tests/test-trunc2.c (correct_result_p): Likewise.
65214         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65215
65216 2007-10-20  Bruno Haible  <bruno@clisp.org>
65217
65218         * modules/ceil: New file.
65219         * m4/ceil.m4: New file.
65220         * doc/functions/ceil.texi: Mention the 'ceil' module.
65221
65222 2007-10-20  Bruno Haible  <bruno@clisp.org>
65223
65224         * modules/floor: New file.
65225         * m4/floor.m4: New file.
65226         * doc/functions/floor.texi: Mention the 'floor' module.
65227
65228 2007-10-20  Bruno Haible  <bruno@clisp.org>
65229
65230         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
65231         of %a.
65232         * modules/floorf-tests (Depends-on): Likewise.
65233         * modules/truncf-tests (Depends-on): Likewise.
65234         * modules/trunc-tests (Depends-on): Likewise.
65235         Reported by Ben Pfaff.
65236
65237 2007-10-19  Jim Meyering  <meyering@redhat.com>
65238
65239         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
65240         Don't bother testing specific errno values.  Just test ferror.
65241
65242         New module: xprintf
65243         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
65244
65245 2007-10-19  Bruno Haible  <bruno@clisp.org>
65246
65247         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
65248         syntax.
65249         * modules/javaexec (Makefile.am): Likewise.
65250         * modules/relocatable-prog (Makefile.am): Likewise.
65251         Suggested by Jim Meyering.
65252
65253 2007-10-18  Bruno Haible  <bruno@clisp.org>
65254
65255         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
65256         Reported by Jim Meyering.
65257
65258 2007-10-18  Eric Blake  <ebb9@byu.net>
65259
65260         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
65261
65262 2007-10-18  Bruno Haible  <bruno@clisp.org>
65263
65264         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
65265         the format string into writable memory. Needed in Fortify conditions.
65266
65267 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
65268             Bruno Haible  <bruno@clisp.org>
65269
65270         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
65271         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
65272         * modules/trim (Depends-on): Add mbchar.
65273         (configure.ac): Add gl_FUNC_MBRTOWC.
65274         (Makefile.am): Augment lib_SOURCES.
65275
65276 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
65277
65278         Modify glob.c to use fstatat and dirfd, to simplify it.
65279         Suggested by Eric Blake.
65280         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
65281         Don't include <stdbool.h>; not used.
65282         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
65283         (link_exists_p): Simplify implementation, since we can now assume
65284         dirfd and fstatat.
65285         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
65286
65287 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65288
65289         * gnulib-tool (func_get_dependencies): Fix sed script to
65290         match only tests.
65291
65292 2007-10-17  Bruno Haible  <bruno@clisp.org>
65293
65294         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
65295         allow locale names without encoding suffix.
65296         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
65297         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
65298
65299 2007-10-16  Bruno Haible  <bruno@clisp.org>
65300
65301         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
65302         * lib/getgroups.c (getgroups): Likewise.
65303         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
65304
65305 2007-10-16  Bruno Haible  <bruno@clisp.org>
65306
65307         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
65308         * modules/malloc-posix (License): Likewise.
65309         * modules/realloc-posix (License): Likewise.
65310         * modules/calloc-posix (License): Likewise.
65311         * modules/intprops (License): Change from GPL to LGPL, with
65312         Paul Eggert's approval.
65313
65314 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65315
65316         Merge glibc changes into lib/glob.c.
65317
65318         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
65319         2007-10-15 04:59:03 UTC.  Here are the changes:
65320
65321         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
65322
65323         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
65324
65325         * lib/glob.c: Add some branch prediction throughout.
65326
65327         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
65328
65329         [BZ #5103]
65330         * lib/glob.c (glob): Recognize patterns starting \/.
65331
65332         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
65333
65334         [BZ #3996]
65335         * lib/glob.c (attribute_hidden): Define if not defined.
65336         (glob): Unescape dirname, filename or username when needed and not
65337         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
65338         is NULL.  Handle unescaped [ in pattern without closing ].
65339         Don't pass GLOB_CHECK down to recursive glob for directories.
65340         (__glob_pattern_type): New function.
65341         (__glob_pattern_p): Implement using __glob_pattern_type.
65342         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
65343         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
65344         Remove unreachable code.
65345
65346         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
65347
65348         * lib/glob.c (glob_in_dir): Add some comments and asserts to
65349         explain why there are no leaks.
65350
65351         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
65352
65353         [BZ #3253]
65354         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
65355         time, rather allocate increasingly bigger arrays of pointers, if
65356         possible with alloca, if too large with malloc.
65357
65358 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65359
65360         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
65361         Problem reported by H.Merijn Brand in
65362         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
65363         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
65364         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
65365
65366 2007-10-15  Bruno Haible  <bruno@clisp.org>
65367
65368         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
65369         with explicit rpl_ prefix.
65370         * lib/fopen.c (fopen): Likewise.
65371         * lib/freopen.c (freopen): Likewise.
65372         * lib/iconv.c (iconv): Likewise.
65373         * lib/iconv_close.c (iconv_close): Likewise.
65374
65375 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65376
65377         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
65378
65379 2007-10-15  Bruno Haible  <bruno@clisp.org>
65380
65381         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
65382         <stddef.h> instead of <stdlib.h> since we only need NULL.
65383         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65384
65385 2007-10-15  Bruno Haible  <bruno@clisp.org>
65386
65387         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
65388         Replace paragraph talking about LIBOBJS.
65389         Reported by Colin Watson <cjwatson@debian.org>.
65390
65391 2007-10-15  Bruno Haible  <bruno@clisp.org>
65392
65393         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
65394         <stdlib.h> before using NULL.
65395
65396 2007-10-15  Simon Josefsson  <simon@josefsson.org>
65397
65398         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
65399         Reported by Albert Chin <china@thewrittenword.com>.
65400
65401 2007-10-14  Bruno Haible  <bruno@clisp.org>
65402
65403         * modules/iconv_open-utf-tests: New file.
65404         * tests/test-iconv-utf.c: New file.
65405
65406         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
65407         * modules/iconv_open-utf: New file.
65408         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
65409         (iconv, iconv_close): New declarations.
65410         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
65411         be defined.
65412         (iconv_open): Add special handling of conversion between UTF-8 and
65413         UTF-{16,32}{BE,LE}.
65414         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
65415         * lib/iconv_close.c: New file.
65416         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
65417         gl_FUNC_ICONV_OPEN.
65418         (gl_FUNC_ICONV_OPEN): Use it.
65419         (gl_FUNC_ICONV_OPEN_UTF): New macro.
65420         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
65421         and REPLACE_ICONV_UTF.
65422         * modules/iconv_open (Depends-on): Add c-strcase.
65423         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
65424         ICONV_CONST.
65425         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
65426
65427 2007-10-13  Albert Chin  <china@thewrittenword.com>
65428             Bruno Haible  <bruno@clisp.org>
65429
65430         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
65431         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
65432
65433 2007-10-13  Bruno Haible  <bruno@clisp.org>
65434
65435         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
65436         defined, use the ISO C99 inline semantics.
65437         * lib/argp.h (ARGP_EI): Likewise.
65438
65439 2007-10-13  Bruno Haible  <bruno@clisp.org>
65440
65441         Handle 'inline' change in gcc 4.3.0.
65442         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
65443         argp_fmtstream_write, argp_fmtstream_set_lmargin,
65444         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
65445         argp_fmtstream_point): Disable 'extern' declaration if the function
65446         definition is going to be provided inline.
65447         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
65448         semantics, not the ISO C99 inline semantics.
65449         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
65450         'extern' declaration if the function definition is going to be provided
65451         inline.
65452         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
65453         the GNU C inline semantics, not the ISO C99 inline semantics. With
65454         GCC 4.2, avoid a warning.
65455
65456 2007-10-13  Bruno Haible  <bruno@clisp.org>
65457
65458         * lib/freading.h (freading): Enable the use of __freading for
65459         glibc >= 2.7.
65460         * lib/freading.c (freading): Likewise.
65461
65462 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
65463
65464         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
65465         "warning: C99 inline functions are not supported; using GNU89".
65466
65467 2007-10-12  Bruno Haible  <bruno@clisp.org>
65468
65469         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
65470         of 2.
65471         * tests/test-ceilf2.c: New file.
65472         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
65473
65474         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
65475         * modules/ceilf-tests: Update.
65476
65477 2007-10-12  Bruno Haible  <bruno@clisp.org>
65478
65479         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
65480         of 2.
65481         * tests/test-floorf2.c: New file.
65482         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
65483
65484         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
65485         * modules/floorf-tests: Update.
65486
65487 2007-10-12  Bruno Haible  <bruno@clisp.org>
65488
65489         * tests/test-trunc2.c: New file.
65490         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
65491
65492         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
65493         * modules/trunc-tests: Update.
65494
65495 2007-10-12  Bruno Haible  <bruno@clisp.org>
65496
65497         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
65498         of 2.
65499         * tests/test-truncf2.c: New file.
65500         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
65501
65502         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
65503         * modules/truncf-tests: Update.
65504
65505 2007-10-11  Eric Blake  <ebb9@byu.net>
65506
65507         Don't claim strerror is broken on Interix.
65508         * doc/functions/strerror.texi (strerror): Known broken systems are
65509         now Solaris 8, and not Interix.
65510         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
65511         Interix on cross-compile.
65512         Reported by Martin Koeppe in
65513         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
65514
65515 2007-10-11  Bruno Haible  <bruno@clisp.org>
65516
65517         * modules/i-ring-tests: New file.
65518         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
65519         instead of assert.
65520
65521 2007-10-11  Bruno Haible  <bruno@clisp.org>
65522
65523         * modules/filenamecat-tests: New file.
65524         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
65525         * lib/filenamecat.c: Remove test code.
65526
65527 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
65528
65529         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
65530
65531         * lib/strerror.c: Include <string.h> always, to test interface,
65532         and to remove the need for the dummy.
65533         Include intprops.h to compute width instead of doing it ourselves
65534         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
65535         (strerror): Define it to return NULL if there's no system strerror.
65536         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
65537         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
65538         ancient pre-strerror Unix systems well any more.  Saying "unknown
65539         system error" is enough.
65540         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
65541         simpler strerror.c implementation.
65542         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
65543         Simplify the tests to reflect the simpler strerror implementation.
65544         * modules/strerror (Depends-on): Add intprops.
65545
65546 2007-10-09  Eric Blake  <ebb9@byu.net>
65547
65548         Silence test-fpending.
65549         * modules/fpending-tests (Files): Add wrapper script.
65550         * tests/test-fpending.sh: New file.
65551
65552 2007-10-09  Bruno Haible  <bruno@clisp.org>
65553
65554         * MODULES.html.sh (func_module): Don't create a hyperlink for
65555         function names like 'printf_frexp'.
65556         (Misc): Add crc, memxor.
65557         (Characteristics of floating types): New section.
65558         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
65559         isnanf-nolibm, signbit, trunc, truncf, truncl.
65560         (Enhancements for ISO C 99 functions): New subsection Input/output.
65561         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
65562         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
65563         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
65564         (Compatibility checks for POSIX:2001 functions): Add clock-time.
65565         (Enhancements for POSIX:2001 functions): Add chdir-long.
65566         (File system functions): Add areadlink, chdir-safer, read-file.
65567         Remove cycle-check.
65568         (File system as inode set): New section.
65569         (Date and time): Add gethrxtime.
65570         (Multithreading): Add openmp.
65571         (Internationalization functions): Add localename.
65572         (Unicode string functions): Add unistr/u*-mbsnlen.
65573         (Support for maintaining and releasing projects): Add git-version-gen.
65574         (Lone files): Remove directories.
65575
65576 2007-10-08  Ben Pfaff  <blp@gnu.org>
65577
65578         * lib/xmalloca.h: Fix typo in comment.
65579
65580 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65581
65582         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
65583         when avoiding problems with integer overflow.  Use a portable test
65584         instead.
65585
65586 2007-10-08  Simon Josefsson  <simon@josefsson.org>
65587
65588         * modules/dummy (License): Change to LGPLv2+.
65589         * modules/float (License): Likewise
65590         * modules/realloc (License): Likewise
65591         * modules/stdlib (License): Likewise
65592
65593 2007-10-07  Bruno Haible  <bruno@clisp.org>
65594
65595         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
65596         * floor.c (TWO_MANT_DIG): Likewise.
65597         * ceil.c (TWO_MANT_DIG): Likewise.
65598         Reported by Ben Pfaff.
65599
65600 2007-10-07  Bruno Haible  <bruno@clisp.org>
65601
65602         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
65603         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
65604         * lib/frexp.c (FUNC): Likewise.
65605         * lib/printf-frexp.h (printf_frexp): Likewise.
65606         * lib/printf-frexpl.h (printf_frexpl): Likewise.
65607         * lib/printf-frexp.c (FUNC): Likewise.
65608         Suggested by Jim Meyering.
65609
65610 2007-10-07  Jim Meyering  <meyering@redhat.com>
65611
65612         Make xnanosleep's integer overflow test more robust.
65613         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
65614         so that gcc-4.3.0 doesn't optimize away this test for overflow.
65615
65616 2007-10-07  Bruno Haible  <bruno@clisp.org>
65617
65618         * NEWS: Mention the license change.
65619
65620         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
65621         abbreviations in the modules files.
65622
65623         Change copyright notice from GPLv2+ to GPLv3+.
65624         * README: Change copyright notice.
65625         * MODULES.html.sh: Likewise.
65626         * build-aux/bootstrap.conf: Likewise.
65627         * build-aux/config.libpath: Likewise.
65628         * build-aux/csharpcomp.sh.in: Likewise.
65629         * build-aux/csharpexec.sh.in: Likewise.
65630         * build-aux/install-reloc: Likewise.
65631         * build-aux/javacomp.sh.in: Likewise.
65632         * build-aux/javaexec.sh.in: Likewise.
65633         * build-aux/ldd.sh.in: Likewise.
65634         * build-aux/reloc-ldflags: Likewise.
65635         * build-aux/relocatable.sh.in: Likewise.
65636         * build-aux/x-to-1.in: Likewise.
65637         * check-module: Likewise.
65638         * config/srclistvars.sh: Likewise.
65639         * gnulib-tool: Likewise.
65640         * lib/acl-internal.h: Likewise.
65641         * lib/acl.c: Likewise.
65642         * lib/acl.h: Likewise.
65643         * lib/acl_entries.c: Likewise.
65644         * lib/areadlink-with-size.c: Likewise.
65645         * lib/areadlink.c: Likewise.
65646         * lib/areadlink.h: Likewise.
65647         * lib/argmatch.c: Likewise.
65648         * lib/argmatch.h: Likewise.
65649         * lib/argp-ba.c: Likewise.
65650         * lib/argp-eexst.c: Likewise.
65651         * lib/argp-fmtstream.c: Likewise.
65652         * lib/argp-fmtstream.h: Likewise.
65653         * lib/argp-fs-xinl.c: Likewise.
65654         * lib/argp-help.c: Likewise.
65655         * lib/argp-namefrob.h: Likewise.
65656         * lib/argp-parse.c: Likewise.
65657         * lib/argp-pin.c: Likewise.
65658         * lib/argp-pv.c: Likewise.
65659         * lib/argp-pvh.c: Likewise.
65660         * lib/argp-xinl.c: Likewise.
65661         * lib/argp.h: Likewise.
65662         * lib/at-func.c: Likewise.
65663         * lib/atanl.c: Likewise.
65664         * lib/backupfile.c: Likewise.
65665         * lib/backupfile.h: Likewise.
65666         * lib/basename.c: Likewise.
65667         * lib/binary-io.h: Likewise.
65668         * lib/byteswap.in.h: Likewise.
65669         * lib/c-stack.c: Likewise.
65670         * lib/c-stack.h: Likewise.
65671         * lib/c-strcasestr.c: Likewise.
65672         * lib/c-strcasestr.h: Likewise.
65673         * lib/c-strstr.c: Likewise.
65674         * lib/c-strstr.h: Likewise.
65675         * lib/c-strtod.c: Likewise.
65676         * lib/calloc.c: Likewise.
65677         * lib/canon-host.c: Likewise.
65678         * lib/canon-host.h: Likewise.
65679         * lib/canonicalize-lgpl.c: Likewise.
65680         * lib/canonicalize.c: Likewise.
65681         * lib/canonicalize.h: Likewise.
65682         * lib/ceil.c: Likewise.
65683         * lib/ceilf.c: Likewise.
65684         * lib/ceill.c: Likewise.
65685         * lib/chdir-long.c: Likewise.
65686         * lib/chdir-long.h: Likewise.
65687         * lib/chdir-safer.c: Likewise.
65688         * lib/chdir-safer.h: Likewise.
65689         * lib/chown.c: Likewise.
65690         * lib/classpath.c: Likewise.
65691         * lib/classpath.h: Likewise.
65692         * lib/clean-temp.c: Likewise.
65693         * lib/clean-temp.h: Likewise.
65694         * lib/cloexec.c: Likewise.
65695         * lib/close-stream.c: Likewise.
65696         * lib/closein.c: Likewise.
65697         * lib/closein.h: Likewise.
65698         * lib/closeout.c: Likewise.
65699         * lib/closeout.h: Likewise.
65700         * lib/concat-filename.c: Likewise.
65701         * lib/copy-file.c: Likewise.
65702         * lib/copy-file.h: Likewise.
65703         * lib/count-one-bits.h: Likewise.
65704         * lib/crc.c: Likewise.
65705         * lib/crc.h: Likewise.
65706         * lib/creat-safer.c: Likewise.
65707         * lib/csharpcomp.c: Likewise.
65708         * lib/csharpcomp.h: Likewise.
65709         * lib/csharpexec.c: Likewise.
65710         * lib/csharpexec.h: Likewise.
65711         * lib/cycle-check.c: Likewise.
65712         * lib/cycle-check.h: Likewise.
65713         * lib/diacrit.c: Likewise.
65714         * lib/diacrit.h: Likewise.
65715         * lib/diffseq.h: Likewise.
65716         * lib/dirchownmod.c: Likewise.
65717         * lib/dirent.in.h: Likewise.
65718         * lib/dirfd.c: Likewise.
65719         * lib/dirfd.h: Likewise.
65720         * lib/dirname.c: Likewise.
65721         * lib/dirname.h: Likewise.
65722         * lib/dummy.c: Likewise.
65723         * lib/dup-safer.c: Likewise.
65724         * lib/dup2.c: Likewise.
65725         * lib/eealloc.h: Likewise.
65726         * lib/error.c: Likewise.
65727         * lib/error.h: Likewise.
65728         * lib/euidaccess.c: Likewise.
65729         * lib/exclude.c: Likewise.
65730         * lib/exclude.h: Likewise.
65731         * lib/execute.c: Likewise.
65732         * lib/execute.h: Likewise.
65733         * lib/exitfail.c: Likewise.
65734         * lib/exitfail.h: Likewise.
65735         * lib/expl.c: Likewise.
65736         * lib/fatal-signal.c: Likewise.
65737         * lib/fatal-signal.h: Likewise.
65738         * lib/fbufmode.c: Likewise.
65739         * lib/fbufmode.h: Likewise.
65740         * lib/fchdir.c: Likewise.
65741         * lib/fchmodat.c: Likewise.
65742         * lib/fchownat.c: Likewise.
65743         * lib/fcntl--.h: Likewise.
65744         * lib/fcntl-safer.h: Likewise.
65745         * lib/fcntl.in.h: Likewise.
65746         * lib/fd-safer.c: Likewise.
65747         * lib/fflush.c: Likewise.
65748         * lib/file-has-acl.c: Likewise.
65749         * lib/file-set.c: Likewise.
65750         * lib/file-type.c: Likewise.
65751         * lib/file-type.h: Likewise.
65752         * lib/fileblocks.c: Likewise.
65753         * lib/filemode.c: Likewise.
65754         * lib/filemode.h: Likewise.
65755         * lib/filename.h: Likewise.
65756         * lib/filenamecat.c: Likewise.
65757         * lib/filenamecat.h: Likewise.
65758         * lib/findprog.c: Likewise.
65759         * lib/findprog.h: Likewise.
65760         * lib/float.in.h: Likewise.
65761         * lib/floor.c: Likewise.
65762         * lib/floorf.c: Likewise.
65763         * lib/floorl.c: Likewise.
65764         * lib/fopen-safer.c: Likewise.
65765         * lib/fopen.c: Likewise.
65766         * lib/fpending.c: Likewise.
65767         * lib/fpending.h: Likewise.
65768         * lib/fprintf.c: Likewise.
65769         * lib/fprintftime.h: Likewise.
65770         * lib/fpucw.h: Likewise.
65771         * lib/fpurge.c: Likewise.
65772         * lib/fpurge.h: Likewise.
65773         * lib/freadable.c: Likewise.
65774         * lib/freadable.h: Likewise.
65775         * lib/freadahead.c: Likewise.
65776         * lib/freadahead.h: Likewise.
65777         * lib/freading.c: Likewise.
65778         * lib/freading.h: Likewise.
65779         * lib/free.c: Likewise.
65780         * lib/freopen.c: Likewise.
65781         * lib/frexp.c: Likewise.
65782         * lib/frexpl.c: Likewise.
65783         * lib/fseek.c: Likewise.
65784         * lib/fseterr.c: Likewise.
65785         * lib/fseterr.h: Likewise.
65786         * lib/fstatat.c: Likewise.
65787         * lib/fstrcmp.c: Likewise.
65788         * lib/fstrcmp.h: Likewise.
65789         * lib/fsusage.c: Likewise.
65790         * lib/fsusage.h: Likewise.
65791         * lib/ftell.c: Likewise.
65792         * lib/ftello.c: Likewise.
65793         * lib/fts-cycle.c: Likewise.
65794         * lib/fts.c: Likewise.
65795         * lib/fts_.h: Likewise.
65796         * lib/full-read.c: Likewise.
65797         * lib/full-read.h: Likewise.
65798         * lib/full-write.c: Likewise.
65799         * lib/full-write.h: Likewise.
65800         * lib/fwritable.c: Likewise.
65801         * lib/fwritable.h: Likewise.
65802         * lib/fwriteerror.c: Likewise.
65803         * lib/fwriteerror.h: Likewise.
65804         * lib/fwriting.c: Likewise.
65805         * lib/fwriting.h: Likewise.
65806         * lib/gcd.c: Likewise.
65807         * lib/gcd.h: Likewise.
65808         * lib/getcwd.c: Likewise.
65809         * lib/getdate.h: Likewise.
65810         * lib/getdate.y: Likewise.
65811         * lib/getdomainname.c: Likewise.
65812         * lib/getdomainname.h: Likewise.
65813         * lib/getgroups.c: Likewise.
65814         * lib/gethostname.c: Likewise.
65815         * lib/gethrxtime.c: Likewise.
65816         * lib/gethrxtime.h: Likewise.
65817         * lib/getloadavg.c: Likewise.
65818         * lib/getndelim2.c: Likewise.
65819         * lib/getndelim2.h: Likewise.
65820         * lib/getnline.c: Likewise.
65821         * lib/getnline.h: Likewise.
65822         * lib/getopt.c: Likewise.
65823         * lib/getopt.in.h: Likewise.
65824         * lib/getopt1.c: Likewise.
65825         * lib/getopt_int.h: Likewise.
65826         * lib/getpagesize.h: Likewise.
65827         * lib/getsubopt.c: Likewise.
65828         * lib/gettime.c: Likewise.
65829         * lib/getugroups.c: Likewise.
65830         * lib/getugroups.h: Likewise.
65831         * lib/getusershell.c: Likewise.
65832         * lib/gl_anyavltree_list1.h: Likewise.
65833         * lib/gl_anyavltree_list2.h: Likewise.
65834         * lib/gl_anyhash_list1.h: Likewise.
65835         * lib/gl_anyhash_list2.h: Likewise.
65836         * lib/gl_anylinked_list1.h: Likewise.
65837         * lib/gl_anylinked_list2.h: Likewise.
65838         * lib/gl_anyrbtree_list1.h: Likewise.
65839         * lib/gl_anyrbtree_list2.h: Likewise.
65840         * lib/gl_anytree_list1.h: Likewise.
65841         * lib/gl_anytree_list2.h: Likewise.
65842         * lib/gl_anytree_oset.h: Likewise.
65843         * lib/gl_anytreehash_list1.h: Likewise.
65844         * lib/gl_anytreehash_list2.h: Likewise.
65845         * lib/gl_array_list.c: Likewise.
65846         * lib/gl_array_list.h: Likewise.
65847         * lib/gl_array_oset.c: Likewise.
65848         * lib/gl_array_oset.h: Likewise.
65849         * lib/gl_avltree_list.c: Likewise.
65850         * lib/gl_avltree_list.h: Likewise.
65851         * lib/gl_avltree_oset.c: Likewise.
65852         * lib/gl_avltree_oset.h: Likewise.
65853         * lib/gl_avltreehash_list.c: Likewise.
65854         * lib/gl_avltreehash_list.h: Likewise.
65855         * lib/gl_carray_list.c: Likewise.
65856         * lib/gl_carray_list.h: Likewise.
65857         * lib/gl_linked_list.c: Likewise.
65858         * lib/gl_linked_list.h: Likewise.
65859         * lib/gl_linkedhash_list.c: Likewise.
65860         * lib/gl_linkedhash_list.h: Likewise.
65861         * lib/gl_list.c: Likewise.
65862         * lib/gl_list.h: Likewise.
65863         * lib/gl_oset.c: Likewise.
65864         * lib/gl_oset.h: Likewise.
65865         * lib/gl_rbtree_list.c: Likewise.
65866         * lib/gl_rbtree_list.h: Likewise.
65867         * lib/gl_rbtree_oset.c: Likewise.
65868         * lib/gl_rbtree_oset.h: Likewise.
65869         * lib/gl_rbtreehash_list.c: Likewise.
65870         * lib/gl_rbtreehash_list.h: Likewise.
65871         * lib/gl_sublist.c: Likewise.
65872         * lib/gl_sublist.h: Likewise.
65873         * lib/group-member.c: Likewise.
65874         * lib/group-member.h: Likewise.
65875         * lib/hard-locale.c: Likewise.
65876         * lib/hard-locale.h: Likewise.
65877         * lib/hash-pjw.c: Likewise.
65878         * lib/hash-pjw.h: Likewise.
65879         * lib/hash-triple.c: Likewise.
65880         * lib/hash.c: Likewise.
65881         * lib/hash.h: Likewise.
65882         * lib/human.c: Likewise.
65883         * lib/human.h: Likewise.
65884         * lib/i-ring.c: Likewise.
65885         * lib/i-ring.h: Likewise.
65886         * lib/idcache.c: Likewise.
65887         * lib/imaxabs.c: Likewise.
65888         * lib/imaxdiv.c: Likewise.
65889         * lib/inet_pton.c: Likewise.
65890         * lib/inet_pton.h: Likewise.
65891         * lib/intprops.h: Likewise.
65892         * lib/inttostr.c: Likewise.
65893         * lib/inttostr.h: Likewise.
65894         * lib/inttypes.in.h: Likewise.
65895         * lib/isapipe.c: Likewise.
65896         * lib/isdir.c: Likewise.
65897         * lib/isnan.c: Likewise.
65898         * lib/isnan.h: Likewise.
65899         * lib/isnanf.c: Likewise.
65900         * lib/isnanf.h: Likewise.
65901         * lib/isnanl-nolibm.h: Likewise.
65902         * lib/isnanl.c: Likewise.
65903         * lib/isnanl.h: Likewise.
65904         * lib/javacomp.c: Likewise.
65905         * lib/javacomp.h: Likewise.
65906         * lib/javaexec.c: Likewise.
65907         * lib/javaexec.h: Likewise.
65908         * lib/javaversion.c: Likewise.
65909         * lib/javaversion.h: Likewise.
65910         * lib/javaversion.java: Likewise.
65911         * lib/lbrkprop.h: Likewise.
65912         * lib/lchmod.h: Likewise.
65913         * lib/lchown.c: Likewise.
65914         * lib/ldexpl.c: Likewise.
65915         * lib/linebreak.c: Likewise.
65916         * lib/linebreak.h: Likewise.
65917         * lib/linebuffer.c: Likewise.
65918         * lib/linebuffer.h: Likewise.
65919         * lib/locale.in.h: Likewise.
65920         * lib/logl.c: Likewise.
65921         * lib/long-options.c: Likewise.
65922         * lib/long-options.h: Likewise.
65923         * lib/lstat.c: Likewise.
65924         * lib/lstat.h: Likewise.
65925         * lib/math.in.h: Likewise.
65926         * lib/mbchar.c: Likewise.
65927         * lib/mbchar.h: Likewise.
65928         * lib/mbfile.h: Likewise.
65929         * lib/mbiter.h: Likewise.
65930         * lib/mbscasecmp.c: Likewise.
65931         * lib/mbscasestr.c: Likewise.
65932         * lib/mbschr.c: Likewise.
65933         * lib/mbscspn.c: Likewise.
65934         * lib/mbslen.c: Likewise.
65935         * lib/mbsncasecmp.c: Likewise.
65936         * lib/mbsnlen.c: Likewise.
65937         * lib/mbspbrk.c: Likewise.
65938         * lib/mbspcasecmp.c: Likewise.
65939         * lib/mbsrchr.c: Likewise.
65940         * lib/mbssep.c: Likewise.
65941         * lib/mbsspn.c: Likewise.
65942         * lib/mbsstr.c: Likewise.
65943         * lib/mbstok_r.c: Likewise.
65944         * lib/mbswidth.c: Likewise.
65945         * lib/mbswidth.h: Likewise.
65946         * lib/mbuiter.h: Likewise.
65947         * lib/memcasecmp.c: Likewise.
65948         * lib/memcasecmp.h: Likewise.
65949         * lib/memchr.c: Likewise.
65950         * lib/memcmp.c: Likewise.
65951         * lib/memcoll.c: Likewise.
65952         * lib/memcoll.h: Likewise.
65953         * lib/memcpy.c: Likewise.
65954         * lib/memrchr.c: Likewise.
65955         * lib/mkancesdirs.c: Likewise.
65956         * lib/mkdir-p.c: Likewise.
65957         * lib/mkdir-p.h: Likewise.
65958         * lib/mkdir.c: Likewise.
65959         * lib/mkdirat.c: Likewise.
65960         * lib/mkdtemp.c: Likewise.
65961         * lib/mkstemp-safer.c: Likewise.
65962         * lib/mkstemp.c: Likewise.
65963         * lib/modechange.c: Likewise.
65964         * lib/modechange.h: Likewise.
65965         * lib/mountlist.c: Likewise.
65966         * lib/mountlist.h: Likewise.
65967         * lib/mpsort.c: Likewise.
65968         * lib/nanosleep.c: Likewise.
65969         * lib/obstack.c: Likewise.
65970         * lib/obstack.h: Likewise.
65971         * lib/open-safer.c: Likewise.
65972         * lib/open.c: Likewise.
65973         * lib/openat-die.c: Likewise.
65974         * lib/openat-priv.h: Likewise.
65975         * lib/openat-proc.c: Likewise.
65976         * lib/openat.c: Likewise.
65977         * lib/openat.h: Likewise.
65978         * lib/pagealign_alloc.c: Likewise.
65979         * lib/pagealign_alloc.h: Likewise.
65980         * lib/physmem.c: Likewise.
65981         * lib/physmem.h: Likewise.
65982         * lib/pipe-safer.c: Likewise.
65983         * lib/pipe.c: Likewise.
65984         * lib/pipe.h: Likewise.
65985         * lib/posixtm.c: Likewise.
65986         * lib/posixtm.h: Likewise.
65987         * lib/posixver.c: Likewise.
65988         * lib/printf-frexp.c: Likewise.
65989         * lib/printf-frexp.h: Likewise.
65990         * lib/printf-frexpl.c: Likewise.
65991         * lib/printf-frexpl.h: Likewise.
65992         * lib/printf.c: Likewise.
65993         * lib/progname.c: Likewise.
65994         * lib/progname.h: Likewise.
65995         * lib/progreloc.c: Likewise.
65996         * lib/putenv.c: Likewise.
65997         * lib/quote.c: Likewise.
65998         * lib/quote.h: Likewise.
65999         * lib/quotearg.c: Likewise.
66000         * lib/quotearg.h: Likewise.
66001         * lib/raise.c: Likewise.
66002         * lib/readline.c: Likewise.
66003         * lib/readline.h: Likewise.
66004         * lib/readlink.c: Likewise.
66005         * lib/readtokens.c: Likewise.
66006         * lib/readtokens.h: Likewise.
66007         * lib/readtokens0.c: Likewise.
66008         * lib/readtokens0.h: Likewise.
66009         * lib/readutmp.c: Likewise.
66010         * lib/readutmp.h: Likewise.
66011         * lib/realloc.c: Likewise.
66012         * lib/relocwrapper.c: Likewise.
66013         * lib/rename-dest-slash.c: Likewise.
66014         * lib/rename.c: Likewise.
66015         * lib/rmdir.c: Likewise.
66016         * lib/rpmatch.c: Likewise.
66017         * lib/safe-read.c: Likewise.
66018         * lib/safe-read.h: Likewise.
66019         * lib/safe-write.c: Likewise.
66020         * lib/safe-write.h: Likewise.
66021         * lib/same-inode.h: Likewise.
66022         * lib/same.c: Likewise.
66023         * lib/same.h: Likewise.
66024         * lib/save-cwd.c: Likewise.
66025         * lib/save-cwd.h: Likewise.
66026         * lib/savedir.c: Likewise.
66027         * lib/savedir.h: Likewise.
66028         * lib/savewd.c: Likewise.
66029         * lib/savewd.h: Likewise.
66030         * lib/search.in.h: Likewise.
66031         * lib/setenv.c: Likewise.
66032         * lib/setenv.h: Likewise.
66033         * lib/settime.c: Likewise.
66034         * lib/sh-quote.c: Likewise.
66035         * lib/sh-quote.h: Likewise.
66036         * lib/sig2str.c: Likewise.
66037         * lib/sig2str.h: Likewise.
66038         * lib/signal.in.h: Likewise.
66039         * lib/signbitd.c: Likewise.
66040         * lib/signbitf.c: Likewise.
66041         * lib/signbitl.c: Likewise.
66042         * lib/sigprocmask.c: Likewise.
66043         * lib/sincosl.c: Likewise.
66044         * lib/sleep.c: Likewise.
66045         * lib/sprintf.c: Likewise.
66046         * lib/sqrtl.c: Likewise.
66047         * lib/stat-time.h: Likewise.
66048         * lib/stdio--.h: Likewise.
66049         * lib/stdio-safer.h: Likewise.
66050         * lib/stdlib--.h: Likewise.
66051         * lib/stdlib-safer.h: Likewise.
66052         * lib/stdlib.in.h: Likewise.
66053         * lib/stpcpy.c: Likewise.
66054         * lib/stpncpy.c: Likewise.
66055         * lib/strchrnul.c: Likewise.
66056         * lib/strcspn.c: Likewise.
66057         * lib/strerror.c: Likewise.
66058         * lib/strftime.c: Likewise.
66059         * lib/strftime.h: Likewise.
66060         * lib/striconveh.c: Likewise.
66061         * lib/striconveh.h: Likewise.
66062         * lib/striconveha.c: Likewise.
66063         * lib/striconveha.h: Likewise.
66064         * lib/stripslash.c: Likewise.
66065         * lib/strnlen1.c: Likewise.
66066         * lib/strnlen1.h: Likewise.
66067         * lib/strtod.c: Likewise.
66068         * lib/strtoimax.c: Likewise.
66069         * lib/strtok_r.c: Likewise.
66070         * lib/strtol.c: Likewise.
66071         * lib/strtoll.c: Likewise.
66072         * lib/strtoul.c: Likewise.
66073         * lib/strtoull.c: Likewise.
66074         * lib/sysexits.in.h: Likewise.
66075         * lib/tempname.c: Likewise.
66076         * lib/tempname.h: Likewise.
66077         * lib/timespec.h: Likewise.
66078         * lib/tls.c: Likewise.
66079         * lib/tls.h: Likewise.
66080         * lib/tmpdir.c: Likewise.
66081         * lib/tmpdir.h: Likewise.
66082         * lib/tmpfile-safer.c: Likewise.
66083         * lib/tmpfile.c: Likewise.
66084         * lib/trigl.c: Likewise.
66085         * lib/trigl.h: Likewise.
66086         * lib/trim.c: Likewise.
66087         * lib/trim.h: Likewise.
66088         * lib/trunc.c: Likewise.
66089         * lib/truncf.c: Likewise.
66090         * lib/truncl.c: Likewise.
66091         * lib/tsearch.c: Likewise.
66092         * lib/unicodeio.c: Likewise.
66093         * lib/unicodeio.h: Likewise.
66094         * lib/unistd--.h: Likewise.
66095         * lib/unistd-safer.h: Likewise.
66096         * lib/unistdio/ulc-fprintf.c: Likewise.
66097         * lib/unistdio/ulc-vfprintf.c: Likewise.
66098         * lib/unlinkdir.c: Likewise.
66099         * lib/unlinkdir.h: Likewise.
66100         * lib/unlocked-io.h: Likewise.
66101         * lib/unsetenv.c: Likewise.
66102         * lib/userspec.c: Likewise.
66103         * lib/utime.c: Likewise.
66104         * lib/utimecmp.c: Likewise.
66105         * lib/utimecmp.h: Likewise.
66106         * lib/utimens.c: Likewise.
66107         * lib/verify.h: Likewise.
66108         * lib/verror.c: Likewise.
66109         * lib/verror.h: Likewise.
66110         * lib/version-etc-fsf.c: Likewise.
66111         * lib/version-etc.c: Likewise.
66112         * lib/version-etc.h: Likewise.
66113         * lib/vfprintf.c: Likewise.
66114         * lib/vprintf.c: Likewise.
66115         * lib/vsprintf.c: Likewise.
66116         * lib/w32spawn.h: Likewise.
66117         * lib/wait-process.c: Likewise.
66118         * lib/wait-process.h: Likewise.
66119         * lib/wcwidth.c: Likewise.
66120         * lib/write-any-file.c: Likewise.
66121         * lib/xalloc-die.c: Likewise.
66122         * lib/xalloc.h: Likewise.
66123         * lib/xasprintf.c: Likewise.
66124         * lib/xgetcwd.c: Likewise.
66125         * lib/xgetcwd.h: Likewise.
66126         * lib/xgetdomainname.c: Likewise.
66127         * lib/xgetdomainname.h: Likewise.
66128         * lib/xgethostname.c: Likewise.
66129         * lib/xmalloc.c: Likewise.
66130         * lib/xmalloca.c: Likewise.
66131         * lib/xmalloca.h: Likewise.
66132         * lib/xmemcoll.c: Likewise.
66133         * lib/xnanosleep.c: Likewise.
66134         * lib/xreadlink.c: Likewise.
66135         * lib/xreadlink.h: Likewise.
66136         * lib/xsetenv.c: Likewise.
66137         * lib/xsetenv.h: Likewise.
66138         * lib/xstriconv.c: Likewise.
66139         * lib/xstriconv.h: Likewise.
66140         * lib/xstrndup.c: Likewise.
66141         * lib/xstrndup.h: Likewise.
66142         * lib/xstrtod.c: Likewise.
66143         * lib/xstrtod.h: Likewise.
66144         * lib/xstrtol-error.c: Likewise.
66145         * lib/xstrtol.c: Likewise.
66146         * lib/xstrtol.h: Likewise.
66147         * lib/xtime.h: Likewise.
66148         * lib/xvasprintf.c: Likewise.
66149         * lib/xvasprintf.h: Likewise.
66150         * lib/yesno.c: Likewise.
66151         * lib/yesno.h: Likewise.
66152         * posix-modules: Likewise.
66153         * tests/test-alloca-opt.c: Likewise.
66154         * tests/test-arcfour.c: Likewise.
66155         * tests/test-arctwo.c: Likewise.
66156         * tests/test-argmatch.c: Likewise.
66157         * tests/test-argp-2.sh: Likewise.
66158         * tests/test-argp.c: Likewise.
66159         * tests/test-arpa_inet.c: Likewise.
66160         * tests/test-array_list.c: Likewise.
66161         * tests/test-array_oset.c: Likewise.
66162         * tests/test-atexit.c: Likewise.
66163         * tests/test-avltree_list.c: Likewise.
66164         * tests/test-avltree_oset.c: Likewise.
66165         * tests/test-avltreehash_list.c: Likewise.
66166         * tests/test-base64.c: Likewise.
66167         * tests/test-binary-io.c: Likewise.
66168         * tests/test-byteswap.c: Likewise.
66169         * tests/test-c-ctype.c: Likewise.
66170         * tests/test-c-strcasecmp.c: Likewise.
66171         * tests/test-c-strcasestr.c: Likewise.
66172         * tests/test-c-strncasecmp.c: Likewise.
66173         * tests/test-c-strstr.c: Likewise.
66174         * tests/test-canonicalize-lgpl.c: Likewise.
66175         * tests/test-canonicalize.c: Likewise.
66176         * tests/test-carray_list.c: Likewise.
66177         * tests/test-ceilf.c: Likewise.
66178         * tests/test-ceill.c: Likewise.
66179         * tests/test-count-one-bits.c: Likewise.
66180         * tests/test-crc.c: Likewise.
66181         * tests/test-dirname.c: Likewise.
66182         * tests/test-fbufmode.c: Likewise.
66183         * tests/test-fcntl.c: Likewise.
66184         * tests/test-fflush.c: Likewise.
66185         * tests/test-floorf.c: Likewise.
66186         * tests/test-floorl.c: Likewise.
66187         * tests/test-fopen.c: Likewise.
66188         * tests/test-fprintf-posix.c: Likewise.
66189         * tests/test-fprintf-posix.h: Likewise.
66190         * tests/test-fpurge.c: Likewise.
66191         * tests/test-freadable.c: Likewise.
66192         * tests/test-freadahead.c: Likewise.
66193         * tests/test-freading.c: Likewise.
66194         * tests/test-freopen.c: Likewise.
66195         * tests/test-frexp.c: Likewise.
66196         * tests/test-frexpl.c: Likewise.
66197         * tests/test-fseek.c: Likewise.
66198         * tests/test-fseeko.c: Likewise.
66199         * tests/test-fseterr.c: Likewise.
66200         * tests/test-fstrcmp.c: Likewise.
66201         * tests/test-ftell.c: Likewise.
66202         * tests/test-ftello.c: Likewise.
66203         * tests/test-fwritable.c: Likewise.
66204         * tests/test-fwriting.c: Likewise.
66205         * tests/test-getaddrinfo.c: Likewise.
66206         * tests/test-getpass.c: Likewise.
66207         * tests/test-gettimeofday.c: Likewise.
66208         * tests/test-hmac-md5.c: Likewise.
66209         * tests/test-hmac-sha1.c: Likewise.
66210         * tests/test-iconv.c: Likewise.
66211         * tests/test-iconvme.c: Likewise.
66212         * tests/test-inttypes.c: Likewise.
66213         * tests/test-isnan.c: Likewise.
66214         * tests/test-isnanf.c: Likewise.
66215         * tests/test-isnanl-nolibm.c: Likewise.
66216         * tests/test-isnanl.c: Likewise.
66217         * tests/test-isnanl.h: Likewise.
66218         * tests/test-ldexpl.c: Likewise.
66219         * tests/test-linked_list.c: Likewise.
66220         * tests/test-linkedhash_list.c: Likewise.
66221         * tests/test-locale.c: Likewise.
66222         * tests/test-localename.c: Likewise.
66223         * tests/test-lock.c: Likewise.
66224         * tests/test-lseek.c: Likewise.
66225         * tests/test-malloca.c: Likewise.
66226         * tests/test-math.c: Likewise.
66227         * tests/test-mbscasecmp.c: Likewise.
66228         * tests/test-mbscasestr1.c: Likewise.
66229         * tests/test-mbscasestr2.c: Likewise.
66230         * tests/test-mbscasestr3.c: Likewise.
66231         * tests/test-mbscasestr4.c: Likewise.
66232         * tests/test-mbschr.c: Likewise.
66233         * tests/test-mbscspn.c: Likewise.
66234         * tests/test-mbsncasecmp.c: Likewise.
66235         * tests/test-mbspbrk.c: Likewise.
66236         * tests/test-mbspcasecmp.c: Likewise.
66237         * tests/test-mbsrchr.c: Likewise.
66238         * tests/test-mbsspn.c: Likewise.
66239         * tests/test-mbsstr1.c: Likewise.
66240         * tests/test-mbsstr2.c: Likewise.
66241         * tests/test-mbsstr3.c: Likewise.
66242         * tests/test-md5.c: Likewise.
66243         * tests/test-memmem.c: Likewise.
66244         * tests/test-netinet_in.c: Likewise.
66245         * tests/test-open.c: Likewise.
66246         * tests/test-printf-frexp.c: Likewise.
66247         * tests/test-printf-frexpl.c: Likewise.
66248         * tests/test-printf-posix.c: Likewise.
66249         * tests/test-printf-posix.h: Likewise.
66250         * tests/test-rbtree_list.c: Likewise.
66251         * tests/test-rbtree_oset.c: Likewise.
66252         * tests/test-rbtreehash_list.c: Likewise.
66253         * tests/test-read-file.c: Likewise.
66254         * tests/test-rijndael.c: Likewise.
66255         * tests/test-search.c: Likewise.
66256         * tests/test-signbit.c: Likewise.
66257         * tests/test-sleep.c: Likewise.
66258         * tests/test-snprintf-posix.c: Likewise.
66259         * tests/test-snprintf-posix.h: Likewise.
66260         * tests/test-snprintf.c: Likewise.
66261         * tests/test-sprintf-posix.c: Likewise.
66262         * tests/test-sprintf-posix.h: Likewise.
66263         * tests/test-stat-time.c: Likewise.
66264         * tests/test-stdbool.c: Likewise.
66265         * tests/test-stdint.c: Likewise.
66266         * tests/test-stdio.c: Likewise.
66267         * tests/test-stdlib.c: Likewise.
66268         * tests/test-stpncpy.c: Likewise.
66269         * tests/test-strcasestr.c: Likewise.
66270         * tests/test-striconv.c: Likewise.
66271         * tests/test-striconveh.c: Likewise.
66272         * tests/test-striconveha.c: Likewise.
66273         * tests/test-string.c: Likewise.
66274         * tests/test-sys_select.c: Likewise.
66275         * tests/test-sys_socket.c: Likewise.
66276         * tests/test-sys_stat.c: Likewise.
66277         * tests/test-sys_time.c: Likewise.
66278         * tests/test-sysexits.c: Likewise.
66279         * tests/test-time.c: Likewise.
66280         * tests/test-tls.c: Likewise.
66281         * tests/test-trunc.c: Likewise.
66282         * tests/test-truncf.c: Likewise.
66283         * tests/test-truncl.c: Likewise.
66284         * tests/test-unistd.c: Likewise.
66285         * tests/test-vasnprintf-posix.c: Likewise.
66286         * tests/test-vasnprintf-posix2.c: Likewise.
66287         * tests/test-vasnprintf.c: Likewise.
66288         * tests/test-vasprintf-posix.c: Likewise.
66289         * tests/test-vasprintf.c: Likewise.
66290         * tests/test-verify.c: Likewise.
66291         * tests/test-vfprintf-posix.c: Likewise.
66292         * tests/test-vprintf-posix.c: Likewise.
66293         * tests/test-vsnprintf-posix.c: Likewise.
66294         * tests/test-vsnprintf.c: Likewise.
66295         * tests/test-vsprintf-posix.c: Likewise.
66296         * tests/test-wchar.c: Likewise.
66297         * tests/test-wctype.c: Likewise.
66298         * tests/test-wcwidth.c: Likewise.
66299         * tests/test-xstrtol.c: Likewise.
66300         * tests/test-xvasprintf.c: Likewise.
66301         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
66302         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
66303         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
66304         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
66305         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
66306         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
66307         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
66308         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
66309         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
66310         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
66311         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
66312         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
66313         * tests/uniname/test-uninames.c: Likewise.
66314         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
66315         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
66316         * tests/unistdio/test-u16-printf1.h: Likewise.
66317         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
66318         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
66319         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
66320         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
66321         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
66322         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
66323         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
66324         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
66325         * tests/unistdio/test-u32-printf1.h: Likewise.
66326         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
66327         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
66328         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
66329         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
66330         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
66331         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
66332         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
66333         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
66334         * tests/unistdio/test-u8-printf1.h: Likewise.
66335         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
66336         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
66337         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
66338         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
66339         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
66340         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
66341         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
66342         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
66343         * tests/unistdio/test-ulc-printf1.h: Likewise.
66344         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
66345         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
66346         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
66347         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
66348         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
66349         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
66350         * tests/uniwidth/test-u16-strwidth.c: Likewise.
66351         * tests/uniwidth/test-u16-width.c: Likewise.
66352         * tests/uniwidth/test-u32-strwidth.c: Likewise.
66353         * tests/uniwidth/test-u32-width.c: Likewise.
66354         * tests/uniwidth/test-u8-strwidth.c: Likewise.
66355         * tests/uniwidth/test-u8-width.c: Likewise.
66356         * tests/uniwidth/test-uc_width.c: Likewise.
66357         * config/srclist-update: Likewise.
66358         (fixlicense): Update to GPLv3+.
66359
66360         Change copyright notice from LGPLv2.1+ to LGPLv3+.
66361         * tests/test-tsearch.c: Change copyright notice.
66362
66363         Change copyright notice from LGPLv2.0+ to LGPLv3+.
66364         * lib/c-strcaseeq.h: Change copyright notice.
66365         * lib/streq.h: Likewise.
66366         * lib/uniconv.h: Likewise.
66367         * lib/uniconv/u-conv-from-enc.h: Likewise.
66368         * lib/uniconv/u-conv-to-enc.h: Likewise.
66369         * lib/uniconv/u-strconv-from-enc.h: Likewise.
66370         * lib/uniconv/u-strconv-to-enc.h: Likewise.
66371         * lib/uniconv/u16-conv-from-enc.c: Likewise.
66372         * lib/uniconv/u16-conv-to-enc.c: Likewise.
66373         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
66374         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
66375         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
66376         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
66377         * lib/uniconv/u32-conv-from-enc.c: Likewise.
66378         * lib/uniconv/u32-conv-to-enc.c: Likewise.
66379         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
66380         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
66381         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
66382         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
66383         * lib/uniconv/u8-conv-from-enc.c: Likewise.
66384         * lib/uniconv/u8-conv-to-enc.c: Likewise.
66385         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
66386         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
66387         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
66388         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
66389         * lib/uniname.h: Likewise.
66390         * lib/uniname/uniname.c: Likewise.
66391         * lib/unistdio.h: Likewise.
66392         * lib/unistdio/u-asnprintf.h: Likewise.
66393         * lib/unistdio/u-asprintf.h: Likewise.
66394         * lib/unistdio/u-printf-args.c: Likewise.
66395         * lib/unistdio/u-printf-args.h: Likewise.
66396         * lib/unistdio/u-printf-parse.h: Likewise.
66397         * lib/unistdio/u-snprintf.h: Likewise.
66398         * lib/unistdio/u-sprintf.h: Likewise.
66399         * lib/unistdio/u-vasprintf.h: Likewise.
66400         * lib/unistdio/u-vsnprintf.h: Likewise.
66401         * lib/unistdio/u-vsprintf.h: Likewise.
66402         * lib/unistdio/u16-asnprintf.c: Likewise.
66403         * lib/unistdio/u16-asprintf.c: Likewise.
66404         * lib/unistdio/u16-printf-parse.c: Likewise.
66405         * lib/unistdio/u16-snprintf.c: Likewise.
66406         * lib/unistdio/u16-sprintf.c: Likewise.
66407         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
66408         * lib/unistdio/u16-u16-asprintf.c: Likewise.
66409         * lib/unistdio/u16-u16-snprintf.c: Likewise.
66410         * lib/unistdio/u16-u16-sprintf.c: Likewise.
66411         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
66412         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
66413         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
66414         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
66415         * lib/unistdio/u16-vasnprintf.c: Likewise.
66416         * lib/unistdio/u16-vasprintf.c: Likewise.
66417         * lib/unistdio/u16-vsnprintf.c: Likewise.
66418         * lib/unistdio/u16-vsprintf.c: Likewise.
66419         * lib/unistdio/u32-asnprintf.c: Likewise.
66420         * lib/unistdio/u32-asprintf.c: Likewise.
66421         * lib/unistdio/u32-printf-parse.c: Likewise.
66422         * lib/unistdio/u32-snprintf.c: Likewise.
66423         * lib/unistdio/u32-sprintf.c: Likewise.
66424         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
66425         * lib/unistdio/u32-u32-asprintf.c: Likewise.
66426         * lib/unistdio/u32-u32-snprintf.c: Likewise.
66427         * lib/unistdio/u32-u32-sprintf.c: Likewise.
66428         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
66429         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
66430         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
66431         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
66432         * lib/unistdio/u32-vasnprintf.c: Likewise.
66433         * lib/unistdio/u32-vasprintf.c: Likewise.
66434         * lib/unistdio/u32-vsnprintf.c: Likewise.
66435         * lib/unistdio/u32-vsprintf.c: Likewise.
66436         * lib/unistdio/u8-asnprintf.c: Likewise.
66437         * lib/unistdio/u8-asprintf.c: Likewise.
66438         * lib/unistdio/u8-printf-parse.c: Likewise.
66439         * lib/unistdio/u8-snprintf.c: Likewise.
66440         * lib/unistdio/u8-sprintf.c: Likewise.
66441         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
66442         * lib/unistdio/u8-u8-asprintf.c: Likewise.
66443         * lib/unistdio/u8-u8-snprintf.c: Likewise.
66444         * lib/unistdio/u8-u8-sprintf.c: Likewise.
66445         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
66446         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
66447         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
66448         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
66449         * lib/unistdio/u8-vasnprintf.c: Likewise.
66450         * lib/unistdio/u8-vasprintf.c: Likewise.
66451         * lib/unistdio/u8-vsnprintf.c: Likewise.
66452         * lib/unistdio/u8-vsprintf.c: Likewise.
66453         * lib/unistdio/ulc-asnprintf.c: Likewise.
66454         * lib/unistdio/ulc-asprintf.c: Likewise.
66455         * lib/unistdio/ulc-printf-parse.c: Likewise.
66456         * lib/unistdio/ulc-snprintf.c: Likewise.
66457         * lib/unistdio/ulc-sprintf.c: Likewise.
66458         * lib/unistdio/ulc-vasnprintf.c: Likewise.
66459         * lib/unistdio/ulc-vasprintf.c: Likewise.
66460         * lib/unistdio/ulc-vsnprintf.c: Likewise.
66461         * lib/unistdio/ulc-vsprintf.c: Likewise.
66462         * lib/unistr.h: Likewise.
66463         * lib/unistr/u-cpy-alloc.h: Likewise.
66464         * lib/unistr/u-cpy.h: Likewise.
66465         * lib/unistr/u-endswith.h: Likewise.
66466         * lib/unistr/u-move.h: Likewise.
66467         * lib/unistr/u-set.h: Likewise.
66468         * lib/unistr/u-startswith.h: Likewise.
66469         * lib/unistr/u-stpcpy.h: Likewise.
66470         * lib/unistr/u-stpncpy.h: Likewise.
66471         * lib/unistr/u-strcat.h: Likewise.
66472         * lib/unistr/u-strcpy.h: Likewise.
66473         * lib/unistr/u-strcspn.h: Likewise.
66474         * lib/unistr/u-strdup.h: Likewise.
66475         * lib/unistr/u-strlen.h: Likewise.
66476         * lib/unistr/u-strncat.h: Likewise.
66477         * lib/unistr/u-strncpy.h: Likewise.
66478         * lib/unistr/u-strnlen.h: Likewise.
66479         * lib/unistr/u-strpbrk.h: Likewise.
66480         * lib/unistr/u-strspn.h: Likewise.
66481         * lib/unistr/u-strstr.h: Likewise.
66482         * lib/unistr/u-strtok.h: Likewise.
66483         * lib/unistr/u16-check.c: Likewise.
66484         * lib/unistr/u16-chr.c: Likewise.
66485         * lib/unistr/u16-cmp.c: Likewise.
66486         * lib/unistr/u16-cpy-alloc.c: Likewise.
66487         * lib/unistr/u16-cpy.c: Likewise.
66488         * lib/unistr/u16-endswith.c: Likewise.
66489         * lib/unistr/u16-mblen.c: Likewise.
66490         * lib/unistr/u16-mbsnlen.c: Likewise.
66491         * lib/unistr/u16-mbtouc-aux.c: Likewise.
66492         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
66493         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
66494         * lib/unistr/u16-mbtouc.c: Likewise.
66495         * lib/unistr/u16-mbtoucr.c: Likewise.
66496         * lib/unistr/u16-move.c: Likewise.
66497         * lib/unistr/u16-next.c: Likewise.
66498         * lib/unistr/u16-prev.c: Likewise.
66499         * lib/unistr/u16-set.c: Likewise.
66500         * lib/unistr/u16-startswith.c: Likewise.
66501         * lib/unistr/u16-stpcpy.c: Likewise.
66502         * lib/unistr/u16-stpncpy.c: Likewise.
66503         * lib/unistr/u16-strcat.c: Likewise.
66504         * lib/unistr/u16-strchr.c: Likewise.
66505         * lib/unistr/u16-strcmp.c: Likewise.
66506         * lib/unistr/u16-strcpy.c: Likewise.
66507         * lib/unistr/u16-strcspn.c: Likewise.
66508         * lib/unistr/u16-strdup.c: Likewise.
66509         * lib/unistr/u16-strlen.c: Likewise.
66510         * lib/unistr/u16-strmblen.c: Likewise.
66511         * lib/unistr/u16-strmbtouc.c: Likewise.
66512         * lib/unistr/u16-strncat.c: Likewise.
66513         * lib/unistr/u16-strncmp.c: Likewise.
66514         * lib/unistr/u16-strncpy.c: Likewise.
66515         * lib/unistr/u16-strnlen.c: Likewise.
66516         * lib/unistr/u16-strpbrk.c: Likewise.
66517         * lib/unistr/u16-strrchr.c: Likewise.
66518         * lib/unistr/u16-strspn.c: Likewise.
66519         * lib/unistr/u16-strstr.c: Likewise.
66520         * lib/unistr/u16-strtok.c: Likewise.
66521         * lib/unistr/u16-to-u32.c: Likewise.
66522         * lib/unistr/u16-to-u8.c: Likewise.
66523         * lib/unistr/u16-uctomb-aux.c: Likewise.
66524         * lib/unistr/u16-uctomb.c: Likewise.
66525         * lib/unistr/u32-check.c: Likewise.
66526         * lib/unistr/u32-chr.c: Likewise.
66527         * lib/unistr/u32-cmp.c: Likewise.
66528         * lib/unistr/u32-cpy-alloc.c: Likewise.
66529         * lib/unistr/u32-cpy.c: Likewise.
66530         * lib/unistr/u32-endswith.c: Likewise.
66531         * lib/unistr/u32-mblen.c: Likewise.
66532         * lib/unistr/u32-mbsnlen.c: Likewise.
66533         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
66534         * lib/unistr/u32-mbtouc.c: Likewise.
66535         * lib/unistr/u32-mbtoucr.c: Likewise.
66536         * lib/unistr/u32-move.c: Likewise.
66537         * lib/unistr/u32-next.c: Likewise.
66538         * lib/unistr/u32-prev.c: Likewise.
66539         * lib/unistr/u32-set.c: Likewise.
66540         * lib/unistr/u32-startswith.c: Likewise.
66541         * lib/unistr/u32-stpcpy.c: Likewise.
66542         * lib/unistr/u32-stpncpy.c: Likewise.
66543         * lib/unistr/u32-strcat.c: Likewise.
66544         * lib/unistr/u32-strchr.c: Likewise.
66545         * lib/unistr/u32-strcmp.c: Likewise.
66546         * lib/unistr/u32-strcpy.c: Likewise.
66547         * lib/unistr/u32-strcspn.c: Likewise.
66548         * lib/unistr/u32-strdup.c: Likewise.
66549         * lib/unistr/u32-strlen.c: Likewise.
66550         * lib/unistr/u32-strmblen.c: Likewise.
66551         * lib/unistr/u32-strmbtouc.c: Likewise.
66552         * lib/unistr/u32-strncat.c: Likewise.
66553         * lib/unistr/u32-strncmp.c: Likewise.
66554         * lib/unistr/u32-strncpy.c: Likewise.
66555         * lib/unistr/u32-strnlen.c: Likewise.
66556         * lib/unistr/u32-strpbrk.c: Likewise.
66557         * lib/unistr/u32-strrchr.c: Likewise.
66558         * lib/unistr/u32-strspn.c: Likewise.
66559         * lib/unistr/u32-strstr.c: Likewise.
66560         * lib/unistr/u32-strtok.c: Likewise.
66561         * lib/unistr/u32-to-u16.c: Likewise.
66562         * lib/unistr/u32-to-u8.c: Likewise.
66563         * lib/unistr/u32-uctomb.c: Likewise.
66564         * lib/unistr/u8-check.c: Likewise.
66565         * lib/unistr/u8-chr.c: Likewise.
66566         * lib/unistr/u8-cmp.c: Likewise.
66567         * lib/unistr/u8-cpy-alloc.c: Likewise.
66568         * lib/unistr/u8-cpy.c: Likewise.
66569         * lib/unistr/u8-endswith.c: Likewise.
66570         * lib/unistr/u8-mblen.c: Likewise.
66571         * lib/unistr/u8-mbsnlen.c: Likewise.
66572         * lib/unistr/u8-mbtouc-aux.c: Likewise.
66573         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
66574         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
66575         * lib/unistr/u8-mbtouc.c: Likewise.
66576         * lib/unistr/u8-mbtoucr.c: Likewise.
66577         * lib/unistr/u8-move.c: Likewise.
66578         * lib/unistr/u8-next.c: Likewise.
66579         * lib/unistr/u8-prev.c: Likewise.
66580         * lib/unistr/u8-set.c: Likewise.
66581         * lib/unistr/u8-startswith.c: Likewise.
66582         * lib/unistr/u8-stpcpy.c: Likewise.
66583         * lib/unistr/u8-stpncpy.c: Likewise.
66584         * lib/unistr/u8-strcat.c: Likewise.
66585         * lib/unistr/u8-strchr.c: Likewise.
66586         * lib/unistr/u8-strcmp.c: Likewise.
66587         * lib/unistr/u8-strcpy.c: Likewise.
66588         * lib/unistr/u8-strcspn.c: Likewise.
66589         * lib/unistr/u8-strdup.c: Likewise.
66590         * lib/unistr/u8-strlen.c: Likewise.
66591         * lib/unistr/u8-strmblen.c: Likewise.
66592         * lib/unistr/u8-strmbtouc.c: Likewise.
66593         * lib/unistr/u8-strncat.c: Likewise.
66594         * lib/unistr/u8-strncmp.c: Likewise.
66595         * lib/unistr/u8-strncpy.c: Likewise.
66596         * lib/unistr/u8-strnlen.c: Likewise.
66597         * lib/unistr/u8-strpbrk.c: Likewise.
66598         * lib/unistr/u8-strrchr.c: Likewise.
66599         * lib/unistr/u8-strspn.c: Likewise.
66600         * lib/unistr/u8-strstr.c: Likewise.
66601         * lib/unistr/u8-strtok.c: Likewise.
66602         * lib/unistr/u8-to-u16.c: Likewise.
66603         * lib/unistr/u8-to-u32.c: Likewise.
66604         * lib/unistr/u8-uctomb-aux.c: Likewise.
66605         * lib/unistr/u8-uctomb.c: Likewise.
66606         * lib/unitypes.h: Likewise.
66607         * lib/uniwidth.h: Likewise.
66608         * lib/uniwidth/cjk.h: Likewise.
66609         * lib/uniwidth/u16-strwidth.c: Likewise.
66610         * lib/uniwidth/u16-width.c: Likewise.
66611         * lib/uniwidth/u32-strwidth.c: Likewise.
66612         * lib/uniwidth/u32-width.c: Likewise.
66613         * lib/uniwidth/u8-strwidth.c: Likewise.
66614         * lib/uniwidth/u8-width.c: Likewise.
66615         * lib/uniwidth/width.c: Likewise.
66616
66617 2007-10-07  Bruno Haible  <bruno@clisp.org>
66618
66619         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
66620         The file is still under LGPL (see modules/inttypes).
66621
66622 2007-10-06  Bruno Haible  <bruno@clisp.org>
66623
66624         * modules/trunc (Dependencies): Add 'extensions'.
66625         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
66626         Reported by Ben Pfaff <blp@gnu.org>.
66627
66628 2007-10-06  Bruno Haible  <bruno@clisp.org>
66629
66630         * modules/freopen-tests: New file.
66631         * tests/test-freopen.c: New file.
66632
66633         * modules/fopen-tests: New file.
66634         * tests/test-fopen.c: New file.
66635
66636         * modules/fopen: New file.
66637         * lib/fopen.c: New file.
66638         * m4/fopen.m4: New file.
66639         * modules/freopen: New file.
66640         * lib/freopen.c: New file.
66641         * m4/freopen.m4: New file.
66642         * lib/stdio.in.h (fopen, freopen): New declarations.
66643         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
66644         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66645         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
66646         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66647         * doc/functions/fopen.texi: Mention the 'fopen' module.
66648         * doc/functions/freopen.texi: Mention the 'freopen' module.
66649
66650 2007-10-06  Bruno Haible  <bruno@clisp.org>
66651
66652         * modules/open-tests: New file.
66653         * tests/test-open.c: New file.
66654
66655         * modules/open: New file.
66656         * lib/open.c: New file.
66657         * m4/open.m4: New file.
66658         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
66659         lib/open.c does.
66660         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
66661         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
66662         macros.
66663         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
66664         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
66665         REPLACE_OPEN.
66666         * doc/functions/open.texi: Mention the 'open' module.
66667
66668 2007-10-04  Bruno Haible  <bruno@clisp.org>
66669
66670         * modules/ceill-tests: New file.
66671         * tests/test-ceill.c: New file.
66672
66673         * modules/ceill: New file.
66674         * lib/ceill.c: Replace entire file.
66675         * m4/ceill.m4: New file.
66676         * lib/math.in.h (ceill): Replace declaration.
66677         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
66678         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
66679         * doc/functions/ceill.texi: Mention the 'ceill' module.
66680         * modules/mathl (Files): Remove lib/ceill.c.
66681         (Depends-on): Add ceill.
66682
66683 2007-10-04  Bruno Haible  <bruno@clisp.org>
66684
66685         * modules/ceilf-tests: New file.
66686         * tests/test-ceilf.c: New file.
66687
66688         * modules/ceilf: New file.
66689         * lib/ceil.c: New file.
66690         * lib/ceilf.c: New file.
66691         * m4/ceilf.m4: New file.
66692         * lib/math.in.h (ceilf): New declaration.
66693         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
66694         HAVE_DECL_CEILF.
66695         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
66696         HAVE_DECL_CEILF.
66697         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
66698
66699 2007-10-04  Bruno Haible  <bruno@clisp.org>
66700
66701         * modules/floorl-tests: New file.
66702         * tests/test-floorl.c: New file.
66703
66704         * modules/floorl: New file.
66705         * lib/floorl.c: Replace entire file.
66706         * m4/floorl.m4: New file.
66707         * lib/math.in.h (floorl): Replace declaration.
66708         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
66709         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
66710         * doc/functions/floorl.texi: Mention the 'floorl' module.
66711         * modules/mathl (Files): Remove lib/floorl.c.
66712         (Depends-on): Add floorl.
66713
66714 2007-10-04  Bruno Haible  <bruno@clisp.org>
66715
66716         * modules/floorf-tests: New file.
66717         * tests/test-floorf.c: New file.
66718
66719         * modules/floorf: New file.
66720         * lib/floor.c: New file.
66721         * lib/floorf.c: New file.
66722         * m4/floorf.m4: New file.
66723         * lib/math.in.h (floorf): New declaration.
66724         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
66725         HAVE_DECL_FLOORF.
66726         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
66727         HAVE_DECL_FLOORF.
66728         * doc/functions/floorf.texi: Mention the 'floorf' module.
66729
66730 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
66731             Bruno Haible  <bruno@clisp.org>
66732
66733         Advertise for the Git server instead of the CVS server.
66734         * doc/gnulib-intro.texi (Steady Development): Mention the Git
66735         repository instead of the CVS one.
66736         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
66737         about all VCS systems generically.
66738         * doc/gnulib.texi (Introduction): Capitalize `Git'.
66739
66740 2007-10-04  Bruno Haible  <bruno@clisp.org>
66741
66742         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
66743         means.
66744         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
66745
66746 2007-10-04  Bruno Haible  <bruno@clisp.org>
66747
66748         * modules/truncl-tests: New file.
66749         * tests/test-truncl.c: New file.
66750
66751         * modules/truncl: New file.
66752         * lib/truncl.c: New file.
66753         * m4/truncl.m4: New file.
66754         * lib/math.in.h (truncl): New declaration.
66755         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
66756         HAVE_DECL_TRUNCL.
66757         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
66758         HAVE_DECL_TRUNCL.
66759         * doc/functions/truncl.texi: Mention the 'truncl' module.
66760
66761 2007-10-04  Bruno Haible  <bruno@clisp.org>
66762
66763         * modules/truncf-tests: New file.
66764         * tests/test-truncf.c: New file.
66765
66766         * modules/truncf: New file.
66767         * lib/trunc.c: Make paramerizable through USE_* macros.
66768         * lib/truncf.c: New file.
66769         * m4/truncf.m4: New file.
66770         * lib/math.in.h (truncf): New declaration.
66771         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
66772         HAVE_DECL_TRUNCF.
66773         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
66774         HAVE_DECL_TRUNCF.
66775         * doc/functions/truncf.texi: Mention the 'truncf' module.
66776
66777 2007-10-03  Bruno Haible  <bruno@clisp.org>
66778
66779         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
66780         augmentation also for tests modules.
66781         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
66782         * modules/atexit-tests (Makefile.am): Likewise.
66783         * modules/binary-io-tests (Makefile.am): Likewise.
66784         * modules/c-strcase-tests (Makefile.am): Likewise.
66785         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
66786         * modules/canonicalize-tests (Makefile.am): Likewise.
66787         * modules/closein-tests (Makefile.am): Likewise.
66788         * modules/fprintf-posix-tests (Makefile.am): Likewise.
66789         * modules/freadahead-tests (Makefile.am): Likewise.
66790         * modules/fseek-tests (Makefile.am): Likewise.
66791         * modules/fseeko-tests (Makefile.am): Likewise.
66792         * modules/ftell-tests (Makefile.am): Likewise.
66793         * modules/ftello-tests (Makefile.am): Likewise.
66794         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
66795         * modules/isnanl-tests (Makefile.am): Likewise.
66796         * modules/lseek-tests (Makefile.am): Likewise.
66797         * modules/mbscasecmp-tests (Makefile.am): Likewise.
66798         * modules/mbscasestr-tests (Makefile.am): Likewise.
66799         * modules/mbschr-tests (Makefile.am): Likewise.
66800         * modules/mbscspn-tests (Makefile.am): Likewise.
66801         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
66802         * modules/mbspbrk-tests (Makefile.am): Likewise.
66803         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
66804         * modules/mbsrchr-tests (Makefile.am): Likewise.
66805         * modules/mbsspn-tests (Makefile.am): Likewise.
66806         * modules/mbsstr-tests (Makefile.am): Likewise.
66807         * modules/printf-posix-tests (Makefile.am): Likewise.
66808         * modules/snprintf-posix-tests (Makefile.am): Likewise.
66809         * modules/sprintf-posix-tests (Makefile.am): Likewise.
66810         * modules/tsearch-tests (Makefile.am): Likewise.
66811         * modules/uniname/uniname-tests (Makefile.am): Likewise.
66812         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
66813         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
66814         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
66815         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
66816         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
66817         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
66818         * modules/vprintf-posix-tests (Makefile.am): Likewise.
66819         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
66820         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
66821         * modules/xstrtoimax-tests (Makefile.am): Likewise.
66822         * modules/xstrtol-tests (Makefile.am): Likewise.
66823         * modules/xstrtoumax-tests (Makefile.am): Likewise.
66824         * modules/yesno-tests (Makefile.am): Likewise.
66825
66826 2007-10-03  Bruno Haible  <bruno@clisp.org>
66827
66828         * modules/trunc-tests: New file.
66829         * tests/test-trunc.c: New file.
66830
66831         * modules/trunc: New file.
66832         * lib/trunc.c: New file.
66833         * m4/trunc.m4: New file.
66834         * lib/math.in.h (trunc): New declaration.
66835         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
66836         HAVE_DECL_TRUNC.
66837         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
66838         HAVE_DECL_TRUNC.
66839         * doc/functions/trunc.texi: Mention the 'trunc' module.
66840
66841 2007-10-03  Bruno Haible  <bruno@clisp.org>
66842
66843         * tests/test-fpending.c: New file, mostly copied
66844         from coreutils/lib/t-fpending.c.
66845         * modules/fpending-tests: New file.
66846
66847 2007-10-03  Bruno Haible  <bruno@clisp.org>
66848
66849         Port the stdio extensions to QNX (untested).
66850         * lib/fseterr.c (fseterr): Add support for QNX.
66851         * lib/fbufmode.c (fbufmode): Likewise.
66852         * lib/freadable.c (freadable): Likewise.
66853         * lib/fwritable.c (fwritable): Likewise.
66854         * lib/freading.c (freading): Likewise.
66855         * lib/fwriting.c (fwriting): Likewise.
66856         * lib/freadahead.c (freadahed): Likewise.
66857         * lib/fpurge.c (fpurge): Likewise.
66858         * lib/fseeko.c (rpl_fseeko): Likewise.
66859
66860 2007-10-03  Bruno Haible  <bruno@clisp.org>
66861             Jim Meyering  <jim@meyering.net>
66862             Eric Blake  <ebb9@byu.net>
66863
66864         * doc/relocatable.texi: Use @command instead of @program.
66865
66866 2007-10-02  Jim Meyering  <jim@meyering.net>
66867
66868         Perform one more "_.h" -> ".in.h" substitution.
66869         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
66870         instead of unistd_.h here, too.
66871
66872 2007-10-01  Bruno Haible  <bruno@clisp.org>
66873
66874         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
66875         Needed for the alloca-opt module.
66876
66877 2007-09-30  Bruno Haible  <bruno@clisp.org>
66878
66879         * lib/alloca.in.h: Renamed from lib/alloca_.h.
66880         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
66881         alloca_.h.
66882         * lib/argz.in.h: Renamed from lib/argz_.h.
66883         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
66884         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
66885         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
66886         byteswap_.h.
66887         * lib/dirent.in.h: Renamed from lib/dirent_.h.
66888         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
66889         dirent_.h.
66890         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
66891         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
66892         fcntl_.h.
66893         * lib/float.in.h: Renamed from lib/float_.h.
66894         * modules/float (Files, Makefile.am): Use float.in.h instead of
66895         float_.h.
66896         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
66897         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
66898         fnmatch_.h.
66899         * lib/getopt.in.h: Renamed from lib/getopt_.h.
66900         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
66901         getopt_.h.
66902         * lib/glob.in.h: Renamed from lib/glob_.h.
66903         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
66904         * lib/iconv.in.h: Renamed from lib/iconv_.h.
66905         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
66906         iconv_.h.
66907         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
66908         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
66909         inttypes_.h.
66910         * lib/locale.in.h: Renamed from lib/locale_.h.
66911         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
66912         locale_.h.
66913         * lib/math.in.h: Renamed from lib/math_.h.
66914         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
66915         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
66916         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
66917         of netinet_in_.h. Add dependency.
66918         * lib/poll.in.h: Renamed from lib/poll_.h.
66919         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
66920         * lib/search.in.h: Renamed from lib/search_.h.
66921         * modules/search (Files, Makefile.am): Use search.in.h instead of
66922         search_.h.
66923         * lib/signal.in.h: Renamed from lib/signal_.h.
66924         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
66925         _signal.h.
66926         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
66927         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
66928         stdbool_.h.
66929         * lib/stdint.in.h: Renamed from lib/stdint_.h.
66930         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
66931         stdint_.h.
66932         * lib/stdio.in.h: Renamed from lib/stdio_.h.
66933         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
66934         stdio_.h.
66935         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
66936         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
66937         stdlib_.h.
66938         * lib/string.in.h: Renamed from lib/string_.h.
66939         * modules/string (Files, Makefile.am): Use string.in.h instead of
66940         string_.h.
66941         * doc/gnulib-tool.texi (Initial import): Update.
66942         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
66943         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
66944         of sys_select_.h. Add dependency.
66945         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
66946         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
66947         of sys_socket_.h.
66948         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
66949         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
66950         sys_stat_.h.
66951         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
66952         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
66953         sys_time_.h.
66954         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
66955         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
66956         sysexits_.h.
66957         * lib/time.in.h: Renamed from lib/time_.h.
66958         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
66959         * lib/unistd.in.h: Renamed from lib/unistd_.h.
66960         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
66961         unistd_.h.
66962         * lib/wchar.in.h: Renamed from lib/wchar_.h.
66963         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
66964         wchar_.h.
66965         * lib/wctype.in.h: Renamed from lib/wctype_.h.
66966         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
66967         wctype_.h.
66968         * build-aux/bootstrap (slurp): Update.
66969         * lib/.cppi-disable: Update.
66970
66971 2007-09-30  Bruno Haible  <bruno@clisp.org>
66972
66973         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
66974         Needed on BeOS.
66975
66976 2007-09-30  Bruno Haible  <bruno@clisp.org>
66977
66978         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
66979
66980 2007-09-29  Bruno Haible  <bruno@clisp.org>
66981
66982         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
66983
66984 2007-09-29  Bruno Haible  <bruno@clisp.org>
66985
66986         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
66987         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
66988         * build-aux/install-reloc: Compile also areadlink.c.
66989         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
66990
66991 2007-09-29  Bruno Haible  <bruno@clisp.org>
66992
66993         * gnulib-tool (func_emit_initmacro_done): Indentation.
66994
66995 2007-09-29  Bruno Haible  <bruno@clisp.org>
66996
66997         * README: Add CVS checkout update instructions.
66998         Info from Bob Proulx <bob@proulx.com>.
66999
67000 2007-09-28  Eric Blake  <ebb9@byu.net>
67001
67002         Provide move-if-change.
67003         * build-aux/move-if-change: New file, based on best practice
67004         rather than any canonical upstream location.
67005
67006 2007-09-28  Jim Meyering  <jim@meyering.net>
67007
67008         Fix canonicalize loop-detection corner case.
67009         Do not attempt to stat the symlink values stored via seen_triple.
67010         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
67011         on linux-2.6.18, (but not 2.6.22).
67012         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
67013         triple_compare.  The former compares dev,ino,filename, while the latter
67014         would actually stat dirname(filename) when dev and ino were equal.
67015         * lib/hash-triple.c: Install <string.h>.
67016         (STREQ): Define.
67017         (triple_compare_ino_str): New function.
67018         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
67019
67020 2007-09-28  Eric Blake  <ebb9@byu.net>
67021
67022         Enforce that AC_REPLACE_FUNCS files exist.
67023         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
67024         override check for typos.
67025
67026         Fix test-closein on Solaris 10.
67027         * tests/test-closein.c (main): Don't assume stdin can be inherited
67028         closed on all systems.
67029         * tests/test-closein.sh: Likewise.
67030         Reported by Piotr Tarnowski.
67031
67032 2007-09-28  Jim Meyering  <jim@meyering.net>
67033
67034         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
67035
67036 2007-09-27  Jim Meyering  <jim@meyering.net>
67037
67038         canonicalize: Avoid a false-positive cycle failure.
67039         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
67040         Sort.  Remove cycle-check.
67041         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
67042         not cycle-check.h.
67043         (seen_triple): New function.
67044         (canonicalize_filename_mode): Use it instead of cycle-check.
67045         * tests/test-canonicalize.c: Add a test for this bug.
67046         * tests/test-canonicalize.sh: Set up and run the test.
67047
67048         New module, file-set, from coreutils.
67049         * modules/file-set: Define it.
67050         * lib/file-set.c, lib/file-set.h: Implement.
67051
67052         New module, hash-triple, from coreutils.
67053         * modules/hash-triple: Define it.
67054         * lib/hash-triple.c, lib/hash-triple.h: Implement.
67055
67056 2007-09-25  Eric Blake  <ebb9@byu.net>
67057
67058         Fix strerror on Interix.
67059         * lib/string_.h (strerror): Declare replacement.
67060         * doc/functions/strerror.texi (strerror): Document the Interix
67061         shortcoming.
67062         * modules/string (Makefile.am): Support new hooks.
67063         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
67064         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
67065         gl_FUNC_STRERROR_SEPARATE.
67066         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
67067         * lib/strerror.c (rpl_strerror): Provide replacement.
67068         * modules/strerror (Depends-on): Add string.
67069         (configure.ac): Detect use of module.
67070         * tests/test-strerror.c: New file.
67071         * modules/strerror-tests: New test module.
67072         * modules/argp (Depends-on): Add strerror.
67073         * modules/error (Depends-on): Likewise.
67074         Reported by Martin Koeppe.
67075
67076 2007-09-24  Bruno Haible  <bruno@clisp.org>
67077
67078         * README: Update git instructions.
67079
67080 2007-09-24  Eric Blake  <ebb9@byu.net>
67081
67082         Revert fpending breakage from 2007-09-08.
67083         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
67084         __fpending.c.
67085
67086 2007-09-24  Jim Meyering  <jim@meyering.net>
67087
67088         filenamecat.c: Add a test.
67089         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
67090         showing how the function works when DIR is the empty string.
67091
67092 2007-09-21  Simon Josefsson  <simon@josefsson.org>
67093
67094         * tests/test-canonicalize.sh: Turn on executable bit.
67095
67096 2007-09-19  Eric Blake  <ebb9@byu.net>
67097
67098         * README: Update CVS instructions.
67099
67100 2007-09-18  Bruno Haible  <bruno@clisp.org>
67101
67102         * modules/areadlink: New file.
67103         * lib/areadlink.h (areadlink): New declaration.
67104         * lib/areadlink.c: New file, based on lib/xreadlink.c.
67105
67106 2007-09-17  Jim Meyering  <jim@meyering.net>
67107
67108         * lib/savewd.c (ESTALE) [!defined]: Define.
67109         Reported to be required on Interix by Martin Koeppe.
67110
67111 2007-09-17  Bruno Haible  <bruno@clisp.org>
67112
67113         * gnulib-tool (func_version): Use $version.
67114
67115 2007-09-16  Bruno Haible  <bruno@clisp.org>
67116
67117         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
67118         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
67119         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
67120         Reported by Greg Schafer <gschafer@zip.com.au>.
67121
67122 2007-09-15  Bruno Haible  <bruno@clisp.org>
67123
67124         * gnulib-tool (sed): Try a little harder to make bash understand the
67125         alias.
67126         Reported by Bruce Korb <bruce.korb@gmail.com>.
67127
67128 2007-09-13  Eric Blake  <ebb9@byu.net>
67129
67130         * ChangeLog: Remove conflict markers.
67131
67132 2007-09-13  Simon Josefsson  <simon@josefsson.org>
67133
67134         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
67135         Reported by Bruno Haible <bruno@clisp.org>.
67136
67137 2007-09-12  Bruno Haible  <bruno@clisp.org>
67138
67139         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
67140         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
67141         is not defined.
67142
67143 2007-09-12  Eric Blake  <ebb9@byu.net>
67144
67145         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
67146         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
67147         Autoconf definition.
67148         * modules/euidaccess (Depends-on): Add extensions, for
67149         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
67150         * modules/fnmatch (Depends-on): Likewise.
67151         * modules/getaddrinfo (Depends-on): Likewise.
67152         * modules/getdelim (Depends-on): Likewise.
67153         * modules/getline (Depends-on): Likewise.
67154         * modules/getsubopt (Depends-on): Likewise.
67155         * modules/gettext (Depends-on): Likewise.
67156         * modules/group-member (Depends-on): Likewise.
67157         * modules/mbchar (Depends-on): Likewise.
67158         * modules/memmem (Depends-on): Likewise.
67159         * modules/mempcpy (Depends-on): Likewise.
67160         * modules/memrchr (Depends-on): Likewise.
67161         * modules/pagealign_alloc (Depends-on): Likewise.
67162         * modules/readutmp (Depends-on): Likewise.
67163         * modules/stpcpy (Depends-on): Likewise.
67164         * modules/stpncpy (Depends-on): Likewise.
67165         * modules/strchrnul (Depends-on): Likewise.
67166         * modules/strndup (Depends-on): Likewise.
67167         * modules/strsep (Depends-on): Likewise.
67168         * modules/strverscmp (Depends-on): Likewise.
67169         * modules/vasprintf (Depends-on): Likewise.
67170         * modules/wcwidth (Depends-on): Likewise.
67171         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
67172         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
67173         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
67174         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
67175         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
67176         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67177         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
67178         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
67179         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
67180         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
67181         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
67182         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
67183         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
67184         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
67185         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
67186         * m4/readutmp.m4 (gl_READUTMP): Likewise.
67187         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
67188         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
67189         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
67190         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
67191         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
67192         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
67193         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
67194         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
67195         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
67196         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67197         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
67198         so that lock.m4 can be used in gettext without extensions module.
67199
67200 2007-09-11  Bruno Haible  <bruno@clisp.org>
67201
67202         * m4/isc-posix.m4: Remove file.
67203         Suggested by Eric Blake.
67204
67205 2007-09-11  Eric Blake  <ebb9@byu.net>
67206
67207         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
67208
67209 2007-09-10  Bruno Haible  <bruno@clisp.org>
67210
67211         * posix-modules: Fix typo in error message.
67212         Reported by Matt <mkraai@beckman.com>.
67213
67214 2007-09-09  Bruno Haible  <bruno@clisp.org>
67215
67216         * doc/functions/getdelim.texi: Update list of platforms lacking the
67217         function.
67218         * doc/functions/getline.texi: Likewise.
67219
67220 2007-09-09  Jim Meyering  <jim@meyering.net>
67221
67222         * lib/hash.c (hash_initialize): Detect calloc failure.
67223         Reported by Bruno Haible.
67224
67225 2007-09-09  Bruno Haible  <bruno@clisp.org>
67226
67227         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
67228         malloc or realloc fails.
67229
67230 2007-09-09  Bruno Haible  <bruno@clisp.org>
67231
67232         * modules/getcwd (Depends-on): Add malloc-posix.
67233         * modules/glob (Depends-on): Likewise.
67234         * modules/putenv (Depends-on): Likewise.
67235         * modules/strdup (Depends-on): Likewise.
67236         * modules/getdelim (Depends-on): Add realloc-posix.
67237         * modules/read-file (Depends-on): Likewise.
67238
67239 2007-09-09  Bruno Haible  <bruno@clisp.org>
67240
67241         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
67242         (gl_FUNC_MALLOC_POSIX): Require it.
67243         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
67244         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
67245         * modules/realloc (Files): Add m4/malloc.m4.
67246         * modules/calloc (Files): Likewise.
67247
67248 2007-09-09  Bruno Haible  <bruno@clisp.org>
67249
67250         * modules/malloc-posix: New file.
67251         * modules/malloc (Depends-on): Add malloc-posix.
67252         * lib/malloc.c: Include errno.h.
67253         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
67254         and a POSIX-compatible malloc into a single function. Set ENOMEM
67255         when returning NULL.
67256         * m4/malloc.m4: New file.
67257         * doc/functions/malloc.texi: Mention the malloc-posix module.
67258         * lib/stdlib_.h (malloc): New declaration.
67259         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67260         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
67261         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
67262         and HAVE_MALLOC_POSIX.
67263
67264 2007-09-09  Bruno Haible  <bruno@clisp.org>
67265
67266         * modules/realloc-posix: New file.
67267         * modules/realloc (Depends-on): Add realloc-posix.
67268         * lib/realloc.c: Include errno.h.
67269         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
67270         and a POSIX-compatible realloc into a single function. Set ENOMEM
67271         when returning NULL.
67272         * m4/realloc.m4: New file.
67273         * doc/functions/realloc.texi: Mention the realloc-posix module.
67274         * lib/stdlib_.h (realloc): New declaration.
67275         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67276         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
67277         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
67278         and HAVE_REALLOC_POSIX.
67279
67280 2007-09-09  Bruno Haible  <bruno@clisp.org>
67281
67282         * modules/calloc-posix: New file.
67283         * modules/calloc (Depends-on): Add calloc-posix.
67284         * lib/calloc.c: Include errno.h.
67285         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
67286         and a POSIX-compatible calloc into a single function. Set ENOMEM
67287         when returning NULL.
67288         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
67289         * doc/functions/calloc.texi: Mention the calloc-posix module.
67290         * lib/stdlib_.h (calloc): New declaration.
67291         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67292         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
67293         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
67294         and HAVE_CALLOC_POSIX.
67295
67296 2007-09-09  Bruno Haible  <bruno@clisp.org>
67297
67298         Allow for modules to show an arbitrary notice.
67299         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
67300         * gnulib-tool: New option --extract-notice.
67301         (func_usage): Document it.
67302         (sed_extract_prog): Update.
67303         (func_get_notice): New function.
67304         (func_modules_notice): New function.
67305         (func_import, func_create_testdir): Invoke it.
67306         Suggested by Jim Meyering.
67307
67308 2007-09-09  Bruno Haible  <bruno@clisp.org>
67309
67310         * gnulib-tool: New options --verbose, --quiet.
67311         (func_usage): Document them.
67312         (verbose): New variable.
67313         (func_execute_command): New function.
67314         (func_import): Don't show the module list and the file list if
67315         $verbose < 0.
67316         (func_create_testdir): Likewise. Use func_execute_command.
67317         (func_create_megatestdir): Use func_execute_command.
67318
67319 2007-09-08  Bruno Haible  <bruno@clisp.org>
67320
67321         * gnulib-tool (func_import): Prefer rsync over wget when available,
67322         for fetching the PO files.
67323
67324 2007-09-08  Bruno Haible  <bruno@clisp.org>
67325
67326         * posix-modules: New file. Portions copied from gnulib-tool.
67327         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
67328
67329 2007-09-08  Jim Meyering  <jim@meyering.net>
67330
67331         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
67332         * lib/fpending.h: Rename from __fpending.h.
67333         * lib/fpending.c: Rename from __fpending.c.
67334         Include "fpending.h", not "__fpending.h".
67335         * lib/__fpending.h, lib/__fpending.c: Remove files.
67336         * modules/fpending (Files): Reflect new file names.
67337         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
67338
67339 2007-09-08  Bruno Haible  <bruno@clisp.org>
67340
67341         * m4/inttypes-h.m4: Remove stub file.
67342
67343 2007-09-07  Simon Josefsson  <simon@josefsson.org>
67344
67345         * doc/headers/stdint.texi: Discuss #include_next issue.
67346
67347 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
67348
67349         * build-aux/bootstrap: Remove obsolete comment about wget --help.
67350
67351 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67352
67353         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
67354         in variable name.
67355
67356 2007-09-03  Jim Meyering  <jim@meyering.net>
67357
67358         New module: git-version-gen.
67359         * modules/git-version-gen: New file.
67360
67361         Import changes from coreutils for bootstrap script.
67362
67363         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
67364
67365         bootstrap: uses rsync to download the .po files
67366         * build-aux/bootstrap (po_download_command_format): New global.
67367         (download_po_files): Use rsync.
67368         (update_po_files): Don't remove .po files after download,
67369         so future rsync runs can take advantage of the copies.
67370
67371         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
67372
67373         Solve the unnecessary-.po-file-regeneration problem once and for all.
67374         * build-aux/bootstrap (download_po_files): New function, renamed from
67375         get_translations.  Now, downloads, but doesn't update LINGUAS.
67376         (update_po_files): New function.
67377
67378         bootstrap: Ignore more.
67379         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
67380         uniwidth to e.g., lib/.gitignore.
67381         (slurp): Handle the sys_stat_.h -> sys mapping, too.
67382
67383         * build-aux/bootstrap: New setting: vc_ignore.
67384         (insert_sorted_if_absent): Create $file if absent.
67385         Adapt to new, possibly empty, list: $vc_ignore.
67386
67387         bootstrap: generate more ignorable names
67388         * build-aux/bootstrap (slurp): When generating ignorable names,
67389         also map .sin to .sed, .gperf to .c, and .y to .c.
67390
67391 2007-09-03  Jim Meyering  <jim@meyering.net>
67392
67393         * build-aux/git-version-gen: New file, from coreutils.  For details, see
67394         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
67395
67396 2007-09-02  Bruno Haible  <bruno@clisp.org>
67397
67398         Fix mis-recognition of 'mcs' on QNX 6.
67399         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
67400         output contains the string "Mono".
67401         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
67402         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
67403
67404 2007-09-01  Bruno Haible  <bruno@clisp.org>
67405
67406         Fix collision between uniwidth/* and linebreak modules.
67407         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
67408         u32_width): Remove declarations.
67409         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
67410         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
67411         streq3, streq2, streq1, streq0): Remove functions.
67412         (STREQ): Remove macro.
67413         (is_cjk_encoding): Remove function.
67414         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
67415         (uc_width, u8_width, u16_width, u32_width): Remove functions.
67416         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
67417         * NEWS: Document the change.
67418
67419 2007-09-01  Bruno Haible  <bruno@clisp.org>
67420
67421         * lib/streq.h: Add double-inclusion guard.
67422
67423 2007-09-01  Karl Berry  <karl@gnu.org>
67424
67425         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
67426
67427 2007-08-28  Jim Meyering  <jim@meyering.net>
67428
67429         Rename mreadlink_with_size to areadlink_with_size.
67430         * NEWS: Document the change.
67431         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
67432         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
67433         * lib/mreadlink.h: Rename this to...
67434         * lib/areadlink.h: ...this.
67435         * modules/mreadlink-with-size: Rename this to...
67436         * modules/areadlink-with-size: ...this.
67437         * lib/canonicalize.c: Reflect the renaming.
67438         * modules/canonicalize: Likewise.
67439
67440 2007-08-26  Bruno Haible  <bruno@clisp.org>
67441
67442         * gnulib-tool (func_import): When deciding which files to remove,
67443         consider also dangling symbolic links.
67444         Reported by Eric Blake.
67445
67446 2007-08-26  Bruno Haible  <bruno@clisp.org>
67447
67448         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
67449
67450 2007-08-23  Simon Josefsson  <simon@josefsson.org>
67451
67452         * lib/readline.c: Don't include getline.h, the prototype is now
67453         found in stdio.h.
67454
67455 2007-08-23  Jim Meyering  <jim@meyering.net>
67456
67457         Getdelim touchup.
67458         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
67459         around the funlockfile call, since funlockfile never sets errno.
67460         Don't set errno upon failed realloc.
67461
67462 2007-08-22  Eric Blake  <ebb9@byu.net>
67463
67464         Getline touchups.
67465         * lib/getdelim.c (getdelim): Revert regression that required *n to
67466         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
67467         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
67468         getdelim, rather than whether implementation is missing.
67469         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
67470         * lib/stdio_.h (getline): Also declare if replacement is
67471         required.
67472         * doc/functions/getdelim.texi: New file.
67473         * doc/functions/getline.texi: Likewise.
67474         * doc/gnulib.texi (Function Substitutes): Add new files.
67475         Reported by Bruno Haible.
67476
67477 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
67478
67479         * users.txt: Add Guile.
67480
67481 2007-08-22  Eric Blake  <ebb9@byu.net>
67482
67483         * tests/test-getdelim.c (main): Use remove, not unlink.
67484         * tests/test-getline.c (main): Likewise.
67485
67486         Move getline and getdelim into stdio.h, per POSIX 200x.
67487         * modules/getline (Files): Remove getline.h.
67488         (Depends-on): Add stdio.
67489         (configure.ac): Add module indicator.
67490         * modules/getdelim (Files): Remove getdelim.h.
67491         (Depends-on): Add stdio.
67492         (configure.ac): Add module indicator.
67493         * modules/stdio (Makefile.am): Work with new indicators.
67494         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
67495         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
67496         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67497         * lib/getdelim.h: Delete.
67498         * lib/getline.h: Delete.
67499         * lib/stdio_.h (getdelim, getline): Declare.
67500         * modules/getdelim-tests: New module.
67501         * modules/getline-tests: Likewise.
67502         * tests/test-getdelim.c: New file.
67503         * tests/test-getline.c: Likewise.
67504         * NEWS: Document the change.
67505         * lib/getline.c: Update choice of header.
67506         * lib/csharpcomp.c: Likewise.
67507         * lib/getpass.c: Likewise.
67508         * lib/javacomp.c: Likewise.
67509         * lib/javaversion.c: Likewise.
67510         * lib/yesno.c: Likewise.
67511         * lib/getdelim.c: Likewise.
67512         (getdelim): Set errno on failure, and avoid memory leak.
67513
67514 2007-08-19  Bruno Haible  <bruno@clisp.org>
67515
67516         * modules/closein (Depends-on): Add freadahead.
67517         * lib/closein.c: Include freadahead.h.
67518         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
67519         is zero.
67520
67521 2007-08-19  Bruno Haible  <bruno@clisp.org>
67522
67523         * modules/freadahead-tests: New file.
67524         * tests/test-freadahead.sh: New file.
67525         * tests/test-freadahead.c: New file.
67526
67527         * modules/freadahead: New file.
67528         * lib/freadahead.h: New file.
67529         * lib/freadahead.c: New file.
67530         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
67531         fbufmode, fpurge, freadable, fwritable.
67532
67533 2007-08-19  Eric Blake  <ebb9@byu.net>
67534
67535         Test yesno in combination with closein.
67536         * lib/yesno.c (yesno): Document use of stdin.
67537         * modules/yesno-tests (Files): New module.
67538         * tests/test-yesno.c (main): New file.
67539         * tests/test-yesno.sh: Likewise.
67540
67541 2007-08-19  Bruno Haible  <bruno@clisp.org>
67542
67543         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
67544         * lib/fseeko.c (rpl_fseeko): Likewise.
67545         * lib/fseterr.c (fseterr): Likewise.
67546
67547 2007-08-19  Bruno Haible  <bruno@clisp.org>
67548
67549         * tests/test-lseek.c (main): Disable a test for BeOS.
67550         * doc/functions/lseek.texi: Document the BeOS bug.
67551
67552 2007-08-19  Bruno Haible  <bruno@clisp.org>
67553             Eric Blake  <ebb9@byu.net>
67554
67555         * lib/lseek.c: Include <sys/stat.h>.
67556         (rpl_lseek): Add workaround code also for Unix platforms.
67557         Needed for BeOS.
67558         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
67559         * doc/functions/lseek.texi: Document BeOS definiency.
67560
67561 2007-08-18  Bruno Haible  <bruno@clisp.org>
67562
67563         * modules/fstrcmp-tests: New file.
67564         * tests/test-fstrcmp.c: New file.
67565
67566 2007-08-18  Bruno Haible  <bruno@clisp.org>
67567
67568         * modules/fstrcmp: New file, from GNU gettext with modifications.
67569         * lib/fstrcmp.h: New file, from GNU gettext.
67570         * lib/fstrcmp.c: New file, from GNU gettext.
67571         * MODULES.html.sh (String handling): Add fstrcmp.
67572
67573 2007-08-18  Bruno Haible  <bruno@clisp.org>
67574
67575         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
67576         'bool'.
67577         (diag, compareseq): Remove const from the ctxt argument.
67578         (USE_HEURISTIC): Undefine at the end.
67579
67580 2007-08-18  Jim Meyering  <jim@meyering.net>
67581
67582         New file: lib/idcache.h
67583         * NEWS: Mention the addition.
67584         * modules/idcache (Files): Add lib/idcache.h
67585         * lib/idcache.c: Include "idcache.h".
67586         Don't include <sys/types.h>.
67587         Add a FIXME comment.
67588         Move file-scoped "static" declarations to the top.
67589         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
67590
67591 2007-08-17  Bruno Haible  <bruno@clisp.org>
67592         and Paul Eggert  <eggert@cs.ucla.edu>
67593
67594         * MODULES.html.sh: Add diffseq.
67595         * modules/diffseq: New file.
67596         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
67597         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
67598
67599 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67600
67601         Import changes from coreutils for bootstrap script.
67602
67603         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
67604
67605         * build-aux/bootstrap (slurp): Work even in environments where
67606         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
67607         current code does not slurp files whose names start with ".", and
67608         this looks like it might be a troublesome area.
67609
67610         2007-07-11  Jim Meyering  <jim@meyering.net>
67611
67612         If there's a GPL vN copyright comment, require that N == 3.
67613
67614         2007-07-08  Jim Meyering  <jim@meyering.net>
67615
67616         Run the coreutils-specific code only if tests/Makefile.am.in exists.
67617         * build-aux/bootstrap (mam_template): Move definition out of loop.
67618
67619         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
67620
67621         * build-aux/bootstrap (symlink_to_dir): Rename function from
67622         symlink_to_gnulib.  Add a directory parameter.  Update all
67623         callers.
67624         (cp_mark_as_generated): Also check for -- and link to -- files in
67625         gl/.
67626
67627         2007-07-08  Jim Meyering  <jim@meyering.net>
67628
67629         Adapt to deeper hierarchy in gnulib.
67630         * build-aux/bootstrap (symlink_to_dir): If the destination
67631         directory doesn't exist, create it. This is required at least for
67632         "lib/uniwidth/cjk.h".
67633
67634         2007-05-15  Jim Meyering  <jim@meyering.net>
67635
67636         * build-aux/bootstrap: Now that generated Makefile.am files
67637         are no longer under version control, they must be created at
67638         bootstrap time.
67639
67640 2007-08-14  Ben Pfaff  <blp@gnu.org>
67641
67642         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
67643
67644 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67645
67646         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
67647         given the changes below.
67648         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
67649         even on hosts that have padding bits beyond the supported 64.
67650
67651 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
67652
67653         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
67654         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
67655         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
67656         depends on it.
67657         (xstrtol_error): Remove.
67658         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
67659         but with a different signature.
67660         (ATTRIBUTE_NORETURN, __attribute__): New macros.
67661         * lib/xstrtol-error.c: Include exitfail.h.
67662         (xstrtol_fatal): New function, with a different signature from the
67663         old xstrtol_error, so that the caller need not worry about passing
67664         in an exit status, or about storage management of the option argument.
67665         (xstrtol_error): Now a static function.  Redo signature to
67666         implement xstrtol_fatal.  Output the correct number of hyphens in
67667         front of the option so that the caller need not worry about
67668         storage management.
67669         (N_): New macro.
67670         (_): Remove; not used now.
67671         * modules/xstrtol: Depend on getopt.
67672         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
67673         of old STRTOL_FATAL_ERROR macro.
67674         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
67675         of test program.
67676         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
67677         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
67678
67679 2007-08-08  Eric Blake  <ebb9@byu.net>
67680
67681         * lib/xstrtol-error.c: Add missing include.
67682
67683         Move xstrtol messages into gnulib domain, when --pobase is used.
67684         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
67685         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
67686         * modules/xstrtol (Files): Distribute new file.
67687         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
67688         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
67689         * tests/test-xstrtol.c: ...into new file.
67690         * tests/test-xstrtoul.c: Also test xstrtoul.
67691         * tests/test-xstrtoimax.c: Also test xstrtoimax.
67692         * tests/test-xstrtoumax.c: Also test xstrtoumax.
67693         * tests/test-xstrtol.sh: Drive the tests.
67694         * tests/test-xstrtoimax.sh: Likewise.
67695         * tests/test-xstrtoumax.sh: Likewise.
67696         * modules/xstrtol-tests: New module.
67697         * modules/xstrtoimax-tests: Likewise.
67698         * modules/xstrtoumax-tests: Likewise.
67699
67700 2007-08-08  Jim Meyering  <jim@meyering.net>
67701
67702         New function: mfile_name_concat.
67703         * lib/filenamecat.c (mfile_name_concat): New function, just like
67704         file_name_concat, but return NULL upon failure rather than exiting
67705         with a diagnostic.
67706         * lib/filenamecat.h: Declare it.
67707
67708 2007-08-07  Bruno Haible  <bruno@clisp.org>
67709
67710         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
67711         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
67712         warning from gcc.
67713         Reported by Eric Blake.
67714
67715 2007-08-07  Simon Josefsson  <simon@josefsson.org>
67716
67717         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
67718         * modules/crypto/arcfour (License): Likewise.
67719         * modules/crypto/des-tests (License): Likewise.
67720         * modules/crypto/gc-arctwo-tests (License): Likewise.
67721         * modules/crypto/gc-des-tests (License): Likewise.
67722         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
67723         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
67724         * modules/crypto/gc-md2-tests (License): Likewise.
67725         * modules/crypto/gc-md4-tests (License): Likewise.
67726         * modules/crypto/gc-md5-tests (License): Likewise.
67727         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
67728         * modules/crypto/gc-rijndael-tests (License): Likewise.
67729         * modules/crypto/gc-sha1-tests (License): Likewise.
67730         * modules/crypto/gc-tests (License): Likewise.
67731         * modules/crypto/hmac-md5 (License): Likewise.
67732         * modules/crypto/hmac-sha1 (License): Likewise.
67733         * modules/crypto/md2-tests (License): Likewise.
67734         * modules/crypto/md4-tests (License): Likewise.
67735         * modules/crypto/md5 (License): Likewise.
67736         * modules/crypto/rijndael (License): Likewise.
67737         * modules/crypto/sha1 (License): Likewise.
67738         * modules/memxor (License): Likewise.
67739
67740 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67741         and Bruno Haible  <bruno@clisp.org>
67742
67743         * NEWS: Describe interface changes to human, xstrtol.
67744         * lib/human.h: Include <xstrtol.h>.
67745         (human_options): Return enum strtol_error, not int.  Remove
67746         bool arg; take int * instead.
67747         * lib/human.c: Don't include "gettext.h".
67748         (_): Remove; no longer used.
67749         Don't include <xstrtol.h>, since human.h does it.
67750         (human_options): Adjust to abovementioned interface changes.
67751         Do not report error to stderr; that's now the caller's
67752         responsibility.
67753         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
67754         interface change.
67755         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
67756         Str, Argument_type_string.  All uses changed.  Put " argument"
67757         in diagnostics to make them clearer.  Change wording of suffix
67758         message for clarity.
67759         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
67760         Argument_type_string.
67761         (STRTOL_FATAL_WARN): Remove; no longer used.
67762         * modules/human (Depends-on): Remove gettext-h.
67763
67764 2007-08-06  Simon Josefsson  <simon@josefsson.org>
67765
67766         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
67767
67768 2007-07-31  Bruno Haible  <bruno@clisp.org>
67769
67770         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
67771         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
67772         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
67773
67774 2007-07-31  Bruno Haible  <bruno@clisp.org>
67775
67776         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
67777         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
67778
67779 2007-07-30  Bruno Haible  <bruno@clisp.org>
67780
67781         * modules/base64 (License): Use the synonymous term "LGPLv2+".
67782         * modules/c-ctype (License): Likewise.
67783         * modules/c-strcase (License): Likewise.
67784         * modules/check-version (License): Likewise.
67785         * modules/iconv (License): Likewise.
67786         * modules/iconv_open (License): Likewise.
67787         * modules/read-file (License): Likewise.
67788         * modules/striconv (License): Likewise.
67789         * modules/strverscmp (License): Likewise.
67790         * modules/vasprintf (License): Likewise.
67791         * modules/crypto/des (License): Likewise.
67792         * modules/crypto/gc (License): Likewise.
67793         * modules/crypto/gc-arcfour (License): Likewise.
67794         * modules/crypto/gc-arctwo (License): Likewise.
67795         * modules/crypto/gc-des (License): Likewise.
67796         * modules/crypto/gc-hmac-md5 (License): Likewise.
67797         * modules/crypto/gc-hmac-sha1 (License): Likewise.
67798         * modules/crypto/gc-md2 (License): Likewise.
67799         * modules/crypto/gc-md4 (License): Likewise.
67800         * modules/crypto/gc-md5 (License): Likewise.
67801         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
67802         * modules/crypto/gc-random (License): Likewise.
67803         * modules/crypto/gc-rijndael (License): Likewise.
67804         * modules/crypto/gc-sha1 (License): Likewise.
67805         * modules/crypto/md2 (License): Likewise.
67806         * modules/crypto/md4 (License): Likewise.
67807
67808 2007-07-30  Jim Meyering  <jim@meyering.net>
67809
67810         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
67811         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
67812         it has valid stat data.  This bug would cause du not to count the
67813         sizes of inaccessible directories.
67814         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
67815         in <http://bugzilla.redhat.com/250077>.
67816
67817 2007-07-25  Peter O'Gorman  <peter@pogma.com>
67818             Bruno Haible  <bruno@clisp.org>
67819
67820         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
67821         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
67822         #include_next, gives a diagnostic about it, but reports no error in
67823         the exit code.
67824         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
67825
67826 2007-07-24  Ben Pfaff  <blp@gnu.org>
67827
67828         Improve name: "count-one-bits" is better than "popcount".
67829         * MODULES.html.sh: Update name.
67830         * lib/popcount.h: Renamed lib/count-one-bits.h.
67831         (popcount): Renamed count_one_bits.
67832         (popcountl): Renamed count_one_bits_l.
67833         (popcountll): Renamed count_one_bits_ll.
67834         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
67835         * modules/popcount: Renamed module/count-one-bits.
67836         * modules/popcount-tests: Renamed module/count-one-bits-tests.
67837         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
67838
67839 2007-07-23  Ben Pfaff  <blp@gnu.org>
67840
67841         * lib/popcount.h (popcount32): Reduce size of constants, to allow
67842         better code generation, and add U to large constants to avoid
67843         warnings, in non-GCC case.
67844         Suggested by Bruno Haible.
67845
67846 2007-07-23  Ben Pfaff  <blp@gnu.org>
67847
67848         * lib/popcount.h: Use verify_true instead of if...abort.
67849         * modules/popcount: Depend on verify module.
67850         Suggested by Jim Meyering.
67851
67852 2007-07-23  Bruno Haible  <bruno@clisp.org>
67853
67854         * gnulib-tool (func_import): Create a .cvsignore file also when the
67855         directory is not yet in CVS but the toplevel directory is. When
67856         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
67857         Reported by Karl Berry.
67858
67859 2007-07-22  Ben Pfaff  <blp@gnu.org>
67860
67861         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
67862         case.
67863         Suggested by Eric Blake.
67864
67865 2007-07-22  Ben Pfaff  <blp@gnu.org>
67866
67867         New module: popcount.
67868         * MODULES.html.sh: Add popcount.
67869         * modules/popcount: New file.
67870         * modules/popcount-tests: New file.
67871         * tests/test-popcount.c: New file.
67872         * lib/popcount.h: New file.
67873         * m4/popcount.m4: New file.
67874
67875 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
67876
67877         * build-aux/announce-gen: Update to GPLv3.
67878
67879         * build-aux/config.guess: Update from config.
67880
67881 2007-07-21  Bruno Haible  <bruno@clisp.org>
67882
67883         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
67884         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
67885
67886 2007-07-20  Jim Meyering  <jim@meyering.net>
67887
67888         * check-module: Diagnose a self-dependency.
67889
67890 2007-07-19  Bruno Haible  <bruno@clisp.org>
67891
67892         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
67893         empty.
67894         Reported by Eric Blake.
67895
67896 2007-07-18  Bruno Haible  <bruno@clisp.org>
67897
67898         * gnulib-tool: New options --po-base, --po-domain.
67899         (func_usage): Document them.
67900         (pobase, po_domain): New variables.
67901         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
67902         DEFAULT_TEXT_DOMAIN.
67903         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
67904         (func_import): Consider pobase and po_domain. Create a po/ directory.
67905         (func_create_testdir): Set pobase and po_domain to empty.
67906         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
67907         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
67908
67909 2007-07-18  Bruno Haible  <bruno@clisp.org>
67910
67911         * gnulib-tool (func_get_automake_snippet): Synthesize also an
67912         EXTRA_DIST augmentation for files in build-aux/.
67913
67914 2007-07-16  Bruno Haible  <bruno@clisp.org>
67915
67916         * modules/lseek (License): Use the synonymous term "LGPLv2+".
67917         * modules/getdelim (License): Likewise.
67918
67919 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67920
67921         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
67922         * modules/d-type (License): Likewise.
67923         * modules/extensions (License): Likewise.
67924         * modules/fnmatch (License): Likewise.
67925         * modules/fseeko (License): Likewise.
67926         * modules/getaddrinfo (License): Likewise.
67927         * modules/getline (License): Likewise.
67928         * modules/getlogin_r (License): Likewise.
67929         * modules/getpass (License): Likewise.
67930         * modules/gettimeofday (License): Likewise.
67931         * modules/glob (License): Likewise.
67932         * modules/inet_ntop (License): Likewise.
67933         * modules/malloc (License): Likewise.
67934         * modules/malloca (License): Likewise.
67935         * modules/memmem (License): Likewise.
67936         * modules/mempcpy (License): Likewise.
67937         * modules/memset (License): Likewise.
67938         * modules/minmax (License): Likewise.
67939         * modules/mktime (License): Likewise.
67940         * modules/netinet_in (License): Likewise.
67941         * modules/pathmax (License): Likewise.
67942         * modules/poll (License): Likewise.
67943         * modules/regex (License): Likewise.
67944         * modules/snprintf (License): Likewise.
67945         * modules/stdbool (License): Likewise.
67946         * modules/stdint (License): Likewise.
67947         * modules/stdio (License): Likewise.
67948         * modules/strcase (License): Likewise.
67949         * modules/strcasestr (License): Likewise.
67950         * modules/strdup (License): Likewise.
67951         * modules/string (License): Likewise.
67952         * modules/strndup (License): Likewise.
67953         * modules/strnlen (License): Likewise.
67954         * modules/strpbrk (License): Likewise.
67955         * modules/strptime (License): Likewise.
67956         * modules/strsep (License): Likewise.
67957         * modules/sys_select (License): Likewise.
67958         * modules/sys_socket (License): Likewise.
67959         * modules/sys_stat (License): Likewise.
67960         * modules/sys_time (License): Likewise.
67961         * modules/time (License): Likewise.
67962         * modules/time_r (License): Likewise.
67963         * modules/timegm (License): Likewise.
67964         * modules/unistd (License): Likewise.
67965         * modules/vsnprintf (License): Likewise.
67966         * modules/wctype (License): Likewise.
67967
67968 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67969
67970         * modules/argz (License): LGPLv2+.
67971
67972 2007-07-15  Karl Berry  <karl@gnu.org>
67973
67974         * doc/gnulib.texi: revise node structure per new fdl.texi.
67975
67976 2007-07-14  Bruno Haible  <bruno@clisp.org>
67977
67978         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
67979         the output file.
67980         * lib/uniname/uninames.h: Regenerated.
67981
67982 2007-07-14  Karl Berry  <karl@gnu.org>
67983
67984         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
67985         omitting sectioning and index commands.
67986
67987 2007-07-13  Bruno Haible  <bruno@clisp.org>
67988
67989         New gnulib-tool option --more-symlinks.
67990         * gnulib-tool (func_usage): Document --more-symlinks.
67991         (do_copyrights): New variable.
67992         Recognize option --more-symlinks.
67993         (func_import): Don't add a copyright notice transform to
67994         sed_transform_lib_file if do_copyrights is empty.
67995
67996 2007-07-13  Bruno Haible  <bruno@clisp.org>
67997
67998         * lib/vasnprintf.c (decimal_point_char): Define also if
67999         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
68000         && !NEED_PRINTF_DIRECTIVE_A.
68001         Reported by Clemens Koller <clemens.koller@anagramm.de> via
68002         Gary V. Vaughan <gary@gnu.org>.
68003
68004 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
68005
68006         * lib/inttypes_.h: Undo previous change, since it was fixed
68007         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
68008
68009 2007-07-13  Bruno Haible  <bruno@clisp.org>
68010
68011         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
68012         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
68013
68014 2007-07-13  Jim Meyering  <jim@meyering.net>
68015
68016         df: Don't fail for Tru64's "file-on-file mount".
68017         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
68018         so we fall through and use statfs instead.  Details here:
68019         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
68020         Reported by Albert Chin.
68021
68022 2007-07-13  Bruno Haible  <bruno@clisp.org>
68023
68024         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
68025         * modules/configmake (License): Likewise.
68026         * modules/gettext (License): Likewise.
68027         * modules/gettext-h (License): Likewise.
68028         * modules/include_next (License): Likewise.
68029         * modules/link-warning (License): Likewise.
68030         * modules/localcharset (License): Likewise.
68031         * modules/localename (License): Likewise.
68032         * modules/lock (License): Likewise.
68033         * modules/relocatable-lib-lgpl (License): Likewise.
68034         * modules/size_max (License): Likewise.
68035         * modules/vasnprintf (License): Likewise.
68036         * modules/wchar (License): Likewise.
68037         * modules/xsize (License): Likewise.
68038
68039 2007-07-13  Bruno Haible  <bruno@clisp.org>
68040
68041         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
68042         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
68043
68044 2007-07-12  Bruno Haible  <bruno@clisp.org>
68045
68046         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
68047         in the modules files.
68048
68049 2007-07-11  Karl Berry  <karl@gnu.org>
68050
68051         * MODULES.html.sh (func_module): use
68052          sed -e '\|^'"${includefile}"'$|d'
68053          instead of /.../d, to avoid errors on $includefile's containing /.
68054
68055 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68056
68057         * gnulib-tool (func_import): Avoid duplication of --avoid
68058         statements
68059         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
68060         names to `_' in variable names.
68061
68062 2007-07-10  Eric Blake  <ebb9@byu.net>
68063
68064         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
68065         * NEWS: Document this change.
68066
68067 2007-07-08  Bruno Haible  <bruno@clisp.org>
68068
68069         Update to Unicode 5.0.
68070         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
68071         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
68072         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
68073         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
68074         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
68075         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
68076         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
68077         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
68078         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
68079         U+10A3F, U+1D242..U+1D244.
68080         (nonspacing_table_ind): Update.
68081         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
68082         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
68083
68084 2007-07-08  Bruno Haible  <bruno@clisp.org>
68085
68086         Update to Unicode 5.0.
68087         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
68088         code transform. Extend the name index field of unicode_name_to_code and
68089         unicode_code_to_name from 16 to 24 bits.
68090         * lib/uniname/uniname.c (unicode_character_name,
68091         unicode_name_character): Add the range 0x12xxx to the code transform.
68092         * lib/uniname/uninames.h: Regenerated.
68093         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
68094
68095 2007-07-07  Bruno Haible  <bruno@clisp.org>
68096
68097         * modules/wcwidth-tests: New file.
68098         * tests/test-wcwidth.c: New file.
68099
68100         Work around MacOS X wcwidth() bug.
68101         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
68102         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
68103         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
68104         original wcwidth in non-UTF-8 locales.
68105         * modules/wcwidth (Depends-on): Add localcharset, streq,
68106         uniwidth/width.
68107         * doc/functions/wcwidth.texi: Update.
68108
68109 2007-07-07  Bruno Haible  <bruno@clisp.org>
68110
68111         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
68112         (wcwidth): New declaration.
68113         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
68114         macros.
68115         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
68116         here. Prepare for creating <wchar.h> unconditionally.
68117         * modules/wchar (Depends-on): Add link-warning.
68118         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
68119         REPLACE_WCWIDTH, and GL_LINK_WARNING.
68120         * lib/wcwidth.h: Remove file.
68121         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
68122         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
68123         * modules/wcwidth (Files): Remove lib/wcwidth.h.
68124         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
68125         (Include): Replace wcwidth.h with <wchar.h>.
68126         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
68127         * lib/mbchar.h: Don't include wcwidth.h.
68128         * lib/mbswidth.c: Likewise.
68129         * NEWS: Mention the change.
68130
68131 2007-07-07  Bruno Haible  <bruno@clisp.org>
68132
68133         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
68134         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
68135         definition with an external declaration.
68136         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
68137         defined as a function. Remove AC_C_INLINE requirement.
68138         * modules/wcwidth (Files): Add lib/wcwidth.c.
68139         (Makefile.am): Remove redundant statement.
68140
68141 2007-07-07  Bruno Haible  <bruno@clisp.org>
68142
68143         * MODULES.html.sh (Unicode string functions): Add the new modules.
68144
68145         * tests/uniwidth/test-u32-strwidth.c: New file.
68146         * modules/uniwidth/u32-strwidth-tests: New file.
68147
68148         * lib/uniwidth/u32-strwidth.c: New file.
68149         * modules/uniwidth/u32-strwidth: New file.
68150
68151         * tests/uniwidth/test-u16-strwidth.c: New file.
68152         * modules/uniwidth/u16-strwidth-tests: New file.
68153
68154         * lib/uniwidth/u16-strwidth.c: New file.
68155         * modules/uniwidth/u16-strwidth: New file.
68156
68157         * tests/uniwidth/test-u8-strwidth.c: New file.
68158         * modules/uniwidth/u8-strwidth-tests: New file.
68159
68160         * lib/uniwidth/u8-strwidth.c: New file.
68161         * modules/uniwidth/u8-strwidth: New file.
68162
68163         * tests/uniwidth/test-u32-width.c: New file.
68164         * modules/uniwidth/u32-width-tests: New file.
68165
68166         * lib/uniwidth/u32-width.c: New file.
68167         * modules/uniwidth/u32-width: New file.
68168
68169         * tests/uniwidth/test-u16-width.c: New file.
68170         * modules/uniwidth/u16-width-tests: New file.
68171
68172         * lib/uniwidth/u16-width.c: New file.
68173         * modules/uniwidth/u16-width: New file.
68174
68175         * tests/uniwidth/test-u8-width.c: New file.
68176         * modules/uniwidth/u8-width-tests: New file.
68177
68178         * lib/uniwidth/u8-width.c: New file.
68179         * modules/uniwidth/u8-width: New file.
68180
68181         * tests/uniwidth/test-uc_width.c: New file.
68182         * modules/uniwidth/width-tests: New file.
68183
68184         * lib/uniwidth/width.c: New file, from GNU libiconv.
68185         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
68186         * modules/uniwidth/width: New file.
68187
68188         * lib/uniwidth.h: New file, from GNU libiconv.
68189         * modules/uniwidth/base: New file.
68190
68191 2007-07-07  Bruno Haible  <bruno@clisp.org>
68192
68193         * lib/uniname.h: New file, from GNU gettext.
68194         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
68195         * lib/uniname/uninames.h: New file, from GNU gettext.
68196         * lib/uniname/uniname.c: New file, from GNU gettext.
68197         * tests/uniname/test-uninames.sh: New file.
68198         * tests/uniname/test-uninames.c: New file, from GNU gettext.
68199         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
68200         * modules/uniname/base: New file.
68201         * modules/uniname/uniname: New file.
68202         * modules/uniname/uniname-tests: New file.
68203         * MODULES.html.sh (Unicode string functions): Add the new modules.
68204
68205 2007-07-06  Bruno Haible  <bruno@clisp.org>
68206
68207         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
68208
68209 2007-07-06  Bruno Haible  <bruno@clisp.org>
68210
68211         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
68212         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
68213         includes <cygwin/sys_time.h> which includes <sys/select.h> which
68214         include <sys/time.h>.
68215         Reported by Eric Blake.
68216
68217 2007-07-06  Eric Blake  <ebb9@byu.net>
68218
68219         Fix testing canonicalize on cygwin.
68220         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68221         Revert patch from 2007-06-19.
68222         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
68223         canonicalize module is also in use.
68224         * tests/test-canonicalize.c: New file.
68225         * tests/test-canonicalize.sh: Likewise.
68226         * modules/canonicalize-tests: Likewise.
68227
68228 2007-07-06  Jim Meyering  <jim@meyering.net>
68229
68230         * lib/getugroups.c (getugroups): Detect getgrent failure.
68231         Adjust comment to reflect reality: this function may return -1.
68232
68233 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
68234
68235         * build-aux/bootstrap (TP_URL,get_translations): Update to use
68236         the new TP address.
68237         (usage): Fix typo
68238         (gnulib_mk): New variable.
68239
68240 2007-07-05  Jim Meyering  <jim@meyering.net>
68241
68242         Don't let endgrent clobber errno, no matter how improbable.
68243         * lib/getugroups.c (getugroups): Save and restore errno around
68244         endgrent call.
68245
68246         Close the group DB even when failing with 2^31 or more members.
68247         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
68248
68249 2007-07-04  Jim Meyering  <jim@meyering.net>
68250
68251         * lib/getugroups.h: New file.
68252         * lib/getugroups.c: Include "getugroups.h".
68253         Remove uses of "register" keyword.
68254         Move local variable, "cp", down into scope where used.
68255         Give "username" parameter the "const" attribute.
68256         * modules/getugroups (Files): Add lib/getugroups.h
68257
68258 2007-07-04  Karl Berry  <karl@gnu.org>
68259
68260         * MODULES.html.sh (func_all_modules): Complete rename of
68261         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
68262
68263 2007-07-02  Bruno Haible  <bruno@clisp.org>
68264
68265         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
68266         mode, when inttypes.h comes from gnulib.
68267         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
68268
68269 2007-07-02  Simon Josefsson  <simon@josefsson.org>
68270
68271         * NEWS: Mention lgpl module name change.
68272
68273         * modules/lgpl-2.1: Renamed from lgpl.
68274
68275         * NEWS: Mention gpl module name change.
68276
68277         * modules/gpl-3.0: New file, based on gpl-2.0.
68278
68279         * modules/gpl-2.0: Renamed from gpl.
68280
68281         * modules/gpl: Fix filename, doc/gpl.texi is now found at
68282         doc/gpl-2.0.texi.
68283
68284 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
68285
68286         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
68287         #define __STDC_LIMIT_MACROS temporarily while including
68288         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
68289         Problem reported by Joel E. Denny in
68290         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
68291
68292 2007-07-01  Bruno Haible  <bruno@clisp.org>
68293
68294         * lib/unistdio.h: New file.
68295         * lib/unistdio/u-asnprintf.h: New file.
68296         * lib/unistdio/u-asprintf.h: New file.
68297         * lib/unistdio/u-printf-args.c: New file.
68298         * lib/unistdio/u-printf-args.h: New file.
68299         * lib/unistdio/u-printf-parse.h: New file.
68300         * lib/unistdio/u-snprintf.h: New file.
68301         * lib/unistdio/u-sprintf.h: New file.
68302         * lib/unistdio/u-vasprintf.h: New file.
68303         * lib/unistdio/u-vsnprintf.h: New file.
68304         * lib/unistdio/u-vsprintf.h: New file.
68305         * lib/unistdio/ulc-asnprintf.c: New file.
68306         * lib/unistdio/ulc-asprintf.c: New file.
68307         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
68308         * lib/unistdio/ulc-printf-parse.c: New file.
68309         * lib/unistdio/ulc-snprintf.c: New file.
68310         * lib/unistdio/ulc-sprintf.c: New file.
68311         * lib/unistdio/ulc-vasnprintf.c: New file.
68312         * lib/unistdio/ulc-vasprintf.c: New file.
68313         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
68314         * lib/unistdio/ulc-vsnprintf.c: New file.
68315         * lib/unistdio/ulc-vsprintf.c: New file.
68316         * lib/unistdio/u8-asnprintf.c: New file.
68317         * lib/unistdio/u8-asprintf.c: New file.
68318         * lib/unistdio/u8-printf-parse.c: New file.
68319         * lib/unistdio/u8-snprintf.c: New file.
68320         * lib/unistdio/u8-sprintf.c: New file.
68321         * lib/unistdio/u8-vasnprintf.c: New file.
68322         * lib/unistdio/u8-vasprintf.c: New file.
68323         * lib/unistdio/u8-vsnprintf.c: New file.
68324         * lib/unistdio/u8-vsprintf.c: New file.
68325         * lib/unistdio/u8-u8-asnprintf.c: New file.
68326         * lib/unistdio/u8-u8-asprintf.c: New file.
68327         * lib/unistdio/u8-u8-snprintf.c: New file.
68328         * lib/unistdio/u8-u8-sprintf.c: New file.
68329         * lib/unistdio/u8-u8-vasnprintf.c: New file.
68330         * lib/unistdio/u8-u8-vasprintf.c: New file.
68331         * lib/unistdio/u8-u8-vsnprintf.c: New file.
68332         * lib/unistdio/u8-u8-vsprintf.c: New file.
68333         * lib/unistdio/u16-asnprintf.c: New file.
68334         * lib/unistdio/u16-asprintf.c: New file.
68335         * lib/unistdio/u16-printf-parse.c: New file.
68336         * lib/unistdio/u16-snprintf.c: New file.
68337         * lib/unistdio/u16-sprintf.c: New file.
68338         * lib/unistdio/u16-vasnprintf.c: New file.
68339         * lib/unistdio/u16-vasprintf.c: New file.
68340         * lib/unistdio/u16-vsnprintf.c: New file.
68341         * lib/unistdio/u16-vsprintf.c: New file.
68342         * lib/unistdio/u16-u16-asnprintf.c: New file.
68343         * lib/unistdio/u16-u16-asprintf.c: New file.
68344         * lib/unistdio/u16-u16-snprintf.c: New file.
68345         * lib/unistdio/u16-u16-sprintf.c: New file.
68346         * lib/unistdio/u16-u16-vasnprintf.c: New file.
68347         * lib/unistdio/u16-u16-vasprintf.c: New file.
68348         * lib/unistdio/u16-u16-vsnprintf.c: New file.
68349         * lib/unistdio/u16-u16-vsprintf.c: New file.
68350         * lib/unistdio/u32-asnprintf.c: New file.
68351         * lib/unistdio/u32-asprintf.c: New file.
68352         * lib/unistdio/u32-printf-parse.c: New file.
68353         * lib/unistdio/u32-snprintf.c: New file.
68354         * lib/unistdio/u32-sprintf.c: New file.
68355         * lib/unistdio/u32-vasnprintf.c: New file.
68356         * lib/unistdio/u32-vasprintf.c: New file.
68357         * lib/unistdio/u32-vsnprintf.c: New file.
68358         * lib/unistdio/u32-vsprintf.c: New file.
68359         * lib/unistdio/u32-u32-asnprintf.c: New file.
68360         * lib/unistdio/u32-u32-asprintf.c: New file.
68361         * lib/unistdio/u32-u32-snprintf.c: New file.
68362         * lib/unistdio/u32-u32-sprintf.c: New file.
68363         * lib/unistdio/u32-u32-vasnprintf.c: New file.
68364         * lib/unistdio/u32-u32-vasprintf.c: New file.
68365         * lib/unistdio/u32-u32-vsnprintf.c: New file.
68366         * lib/unistdio/u32-u32-vsprintf.c: New file.
68367         * tests/unistdio/test-ulc-asnprintf1.c: New file.
68368         * tests/unistdio/test-ulc-asnprintf1.h: New file.
68369         * tests/unistdio/test-ulc-printf1.h: New file.
68370         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
68371         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
68372         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
68373         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
68374         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
68375         * tests/unistdio/test-ulc-vasprintf1.c: New file.
68376         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
68377         * tests/unistdio/test-ulc-vsprintf1.c: New file.
68378         * tests/unistdio/test-u8-asnprintf1.c: New file.
68379         * tests/unistdio/test-u8-asnprintf1.h: New file.
68380         * tests/unistdio/test-u8-printf1.h: New file.
68381         * tests/unistdio/test-u8-vasnprintf1.c: New file.
68382         * tests/unistdio/test-u8-vasnprintf2.c: New file.
68383         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
68384         * tests/unistdio/test-u8-vasnprintf3.c: New file.
68385         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
68386         * tests/unistdio/test-u8-vasprintf1.c: New file.
68387         * tests/unistdio/test-u8-vsnprintf1.c: New file.
68388         * tests/unistdio/test-u8-vsprintf1.c: New file.
68389         * tests/unistdio/test-u16-asnprintf1.c: New file.
68390         * tests/unistdio/test-u16-asnprintf1.h: New file.
68391         * tests/unistdio/test-u16-printf1.h: New file.
68392         * tests/unistdio/test-u16-vasnprintf1.c: New file.
68393         * tests/unistdio/test-u16-vasnprintf2.c: New file.
68394         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
68395         * tests/unistdio/test-u16-vasnprintf3.c: New file.
68396         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
68397         * tests/unistdio/test-u16-vasprintf1.c: New file.
68398         * tests/unistdio/test-u16-vsnprintf1.c: New file.
68399         * tests/unistdio/test-u16-vsprintf1.c: New file.
68400         * tests/unistdio/test-u32-asnprintf1.c: New file.
68401         * tests/unistdio/test-u32-asnprintf1.h: New file.
68402         * tests/unistdio/test-u32-printf1.h: New file.
68403         * tests/unistdio/test-u32-vasnprintf1.c: New file.
68404         * tests/unistdio/test-u32-vasnprintf2.c: New file.
68405         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
68406         * tests/unistdio/test-u32-vasnprintf3.c: New file.
68407         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
68408         * tests/unistdio/test-u32-vasprintf1.c: New file.
68409         * tests/unistdio/test-u32-vsnprintf1.c: New file.
68410         * tests/unistdio/test-u32-vsprintf1.c: New file.
68411         * modules/unistdio/base: New file.
68412         * modules/unistdio/u-printf-args: New file.
68413         * modules/unistdio/ulc-asnprintf: New file.
68414         * modules/unistdio/ulc-asprintf: New file.
68415         * modules/unistdio/ulc-fprintf: New file.
68416         * modules/unistdio/ulc-printf-parse: New file.
68417         * modules/unistdio/ulc-snprintf: New file.
68418         * modules/unistdio/ulc-sprintf: New file.
68419         * modules/unistdio/ulc-vasnprintf: New file.
68420         * modules/unistdio/ulc-vasprintf: New file.
68421         * modules/unistdio/ulc-vfprintf: New file.
68422         * modules/unistdio/ulc-vsnprintf: New file.
68423         * modules/unistdio/ulc-vsprintf: New file.
68424         * modules/unistdio/u8-asnprintf: New file.
68425         * modules/unistdio/u8-asprintf: New file.
68426         * modules/unistdio/u8-printf-parse: New file.
68427         * modules/unistdio/u8-snprintf: New file.
68428         * modules/unistdio/u8-sprintf: New file.
68429         * modules/unistdio/u8-vasnprintf: New file.
68430         * modules/unistdio/u8-vasprintf: New file.
68431         * modules/unistdio/u8-vsnprintf: New file.
68432         * modules/unistdio/u8-vsprintf: New file.
68433         * modules/unistdio/u8-u8-asnprintf: New file.
68434         * modules/unistdio/u8-u8-asprintf: New file.
68435         * modules/unistdio/u8-u8-snprintf: New file.
68436         * modules/unistdio/u8-u8-sprintf: New file.
68437         * modules/unistdio/u8-u8-vasnprintf: New file.
68438         * modules/unistdio/u8-u8-vasprintf: New file.
68439         * modules/unistdio/u8-u8-vsnprintf: New file.
68440         * modules/unistdio/u8-u8-vsprintf: New file.
68441         * modules/unistdio/u16-asnprintf: New file.
68442         * modules/unistdio/u16-asprintf: New file.
68443         * modules/unistdio/u16-printf-parse: New file.
68444         * modules/unistdio/u16-snprintf: New file.
68445         * modules/unistdio/u16-sprintf: New file.
68446         * modules/unistdio/u16-vasnprintf: New file.
68447         * modules/unistdio/u16-vasprintf: New file.
68448         * modules/unistdio/u16-vsnprintf: New file.
68449         * modules/unistdio/u16-vsprintf: New file.
68450         * modules/unistdio/u16-u16-asnprintf: New file.
68451         * modules/unistdio/u16-u16-asprintf: New file.
68452         * modules/unistdio/u16-u16-snprintf: New file.
68453         * modules/unistdio/u16-u16-sprintf: New file.
68454         * modules/unistdio/u16-u16-vasnprintf: New file.
68455         * modules/unistdio/u16-u16-vasprintf: New file.
68456         * modules/unistdio/u16-u16-vsnprintf: New file.
68457         * modules/unistdio/u16-u16-vsprintf: New file.
68458         * modules/unistdio/u32-asnprintf: New file.
68459         * modules/unistdio/u32-asprintf: New file.
68460         * modules/unistdio/u32-printf-parse: New file.
68461         * modules/unistdio/u32-snprintf: New file.
68462         * modules/unistdio/u32-sprintf: New file.
68463         * modules/unistdio/u32-vasnprintf: New file.
68464         * modules/unistdio/u32-vasprintf: New file.
68465         * modules/unistdio/u32-vsnprintf: New file.
68466         * modules/unistdio/u32-vsprintf: New file.
68467         * modules/unistdio/u32-u32-asnprintf: New file.
68468         * modules/unistdio/u32-u32-asprintf: New file.
68469         * modules/unistdio/u32-u32-snprintf: New file.
68470         * modules/unistdio/u32-u32-sprintf: New file.
68471         * modules/unistdio/u32-u32-vasnprintf: New file.
68472         * modules/unistdio/u32-u32-vasprintf: New file.
68473         * modules/unistdio/u32-u32-vsnprintf: New file.
68474         * modules/unistdio/u32-u32-vsprintf: New file.
68475         * modules/unistdio/ulc-asnprintf-tests: New file.
68476         * modules/unistdio/ulc-vasnprintf-tests: New file.
68477         * modules/unistdio/ulc-vasprintf-tests: New file.
68478         * modules/unistdio/ulc-vsnprintf-tests: New file.
68479         * modules/unistdio/ulc-vsprintf-tests: New file.
68480         * modules/unistdio/u8-asnprintf-tests: New file.
68481         * modules/unistdio/u8-vasnprintf-tests: New file.
68482         * modules/unistdio/u8-vasprintf-tests: New file.
68483         * modules/unistdio/u8-vsnprintf-tests: New file.
68484         * modules/unistdio/u8-vsprintf-tests: New file.
68485         * modules/unistdio/u16-asnprintf-tests: New file.
68486         * modules/unistdio/u16-vasnprintf-tests: New file.
68487         * modules/unistdio/u16-vasprintf-tests: New file.
68488         * modules/unistdio/u16-vsnprintf-tests: New file.
68489         * modules/unistdio/u16-vsprintf-tests: New file.
68490         * modules/unistdio/u32-asnprintf-tests: New file.
68491         * modules/unistdio/u32-vasnprintf-tests: New file.
68492         * modules/unistdio/u32-vasprintf-tests: New file.
68493         * modules/unistdio/u32-vsnprintf-tests: New file.
68494         * modules/unistdio/u32-vsprintf-tests: New file.
68495         * MODULES.html.sh (Unicode string functions): Add the new modules.
68496
68497 2007-07-01  Bruno Haible  <bruno@clisp.org>
68498
68499         * lib/sprintf.c (sprintf): Limit the available length estimation,
68500         to avoid address wraparound.
68501         * lib/vsprintf.c (vsprintf): Likewise.
68502         * modules/sprintf-posix (Dependencies): Add stdint.
68503         * modules/vsprintf-posix (Dependencies): Likewise.
68504
68505 2007-07-01  Bruno Haible  <bruno@clisp.org>
68506
68507         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
68508         Windows PATH as well. Conservative double-quoting. Comments.
68509
68510 2007-07-01  Bruno Haible  <bruno@clisp.org>
68511             Eric Blake  <ebb9@byu.net>
68512             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68513
68514         * gnulib-tool (self_abspathname): Fix algorithm to cope with
68515         empty components in $PATH, denoting '.'.
68516
68517 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68518
68519         * gnulib-tool: Fix indentation.
68520         (func_create_megatestdir): Likewise.
68521         Report by Bruno Haible.
68522
68523 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68524
68525         Sync from Automake.
68526         * build-aux/gnupload: Fix shell portability issues with for loops.
68527         Report by Karl Berry.
68528
68529 2007-06-29  Simon Josefsson  <simon@josefsson.org>
68530
68531         * build-aux/maint.mk (POURL): Use translationproject.org.
68532
68533 2007-06-27  Simon Josefsson  <simon@josefsson.org>
68534             Bruno Haible  <bruno@clisp.org>
68535
68536         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
68537         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
68538         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
68539         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
68540         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
68541
68542 2007-06-27  Bruno Haible  <bruno@clisp.org>
68543
68544         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
68545         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
68546
68547 2007-06-26  Karl Berry  <karl@gnu.org>
68548
68549         * MODULES.html.sh: remove xreadlink-with-size.
68550
68551 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68552
68553         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
68554         method that I hope also handles the double-include problem noted
68555         by Bruno Haible in
68556         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
68557
68558 2007-06-23  Bruno Haible  <bruno@clisp.org>
68559
68560         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68561         Don't let the 'mostlyclean' target fail if the last subdirectory could
68562         not be removed.
68563         Reported by Karl Berry.
68564
68565 2007-06-23  Bruno Haible  <bruno@clisp.org>
68566
68567         * gnulib-tool (echo): Add a speedier workaround for ksh.
68568         * tests/test-echo.sh: Likewise.
68569
68570 2007-06-23  Bruno Haible  <bruno@clisp.org>
68571
68572         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
68573         * tests/test-echo.sh: Likewise.
68574
68575 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68576
68577         * gnulib-tool (IFS): Initialize early, so we don't set it to
68578         empty later.
68579         (self_abspathname): Rewrite algorithm to set it, reindent.
68580         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
68581         (func_create_megatestdir): Merge some sed scripts.
68582
68583 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68584
68585         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
68586         exposed by Sun Studio 11 cc on Solaris 8.
68587
68588 2007-06-22  Bruno Haible  <bruno@clisp.org>
68589
68590         * gnulib-tool (echo): Ensure the echo primitive does not interpret
68591         backslashes.
68592         * tests/test-echo.sh: New file.
68593
68594 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68595
68596         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
68597         simplify `sed_replace_build_aux' scripts, they are portable but
68598         echoing them with `echo' is not.
68599         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
68600
68601 2007-06-21  Karl Berry  <karl@gnu.org>
68602
68603         * config/srclist.txt: guess we can't handle the licenses via
68604         srclist at the moment.
68605
68606 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
68607
68608         * MODULES.html.sh: Add include_next.
68609         * modules/include_next: New file.
68610
68611 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
68612
68613         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
68614         INCLUDE_NEXT.
68615         (gl_CHECK_NEXT_HEADERS): New macro.
68616         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
68617         the obsolescent gl_ABSOLUTE_HEADER.
68618         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
68619         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
68620         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
68621         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
68622         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
68623         * m4/math_h.m4 (gl_MATH_H): Likewise.
68624         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
68625         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
68626         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
68627         * m4/stdint.m4 (gl_STDINT_H): Likewise.
68628         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
68629         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
68630         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
68631         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
68632         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
68633         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
68634         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
68635         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
68636         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
68637         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
68638         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
68639         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68640         * m4/inttypes.m4 (gl_INTTYPES_H): Define
68641         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
68642         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
68643         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
68644         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
68645         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
68646         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
68647         * lib/float_.h: Likewise.
68648         * lib/inttypes_.h: Likewise.
68649         * lib/math_.h: Likewise.
68650         * lib/search_.h: Likewise.
68651         * lib/signal_.h: Likewise.
68652         * lib/stdint_.h: Likewise.
68653         * lib/stdio_.h: Likewise.
68654         * lib/stdlib_.h: Likewise.
68655         * lib/string_.h: Likewise.
68656         * lib/sys_stat_.h: Likewise.
68657         * lib/sys_time_.h: Likewise.
68658         * lib/time_.h: Likewise.
68659         * lib/unistd_.h: Likewise.
68660         * lib/wchar_.h: Likewise.
68661         * lib/wctype_.h: Likewise.
68662         * lib/dirent_.h: Likewise.
68663         * lib/iconv_.h: Likewise.
68664         * lib/locale_.h: Likewise.
68665         * lib/netinet_in_.h: Likewise.
68666         * lib/sys_select_.h: Likewise.
68667         * lib/sys_socket_.h: Likewise.
68668         * lib/sysexits_.h: Likewise.
68669         * modules/fcntl (Depends-on): Depend on include_next, not
68670         absolute_header.
68671         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
68672         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
68673         * modules/fchdir: Likewise.
68674         * modules/float: Likewise.
68675         * modules/iconv_open: Likewise.
68676         * modules/inttypes: Likewise.
68677         * modules/locale: Likewise.
68678         * modules/math: Likewise.
68679         * modules/netinet_in: Likewise.
68680         * modules/search: Likewise.
68681         * modules/signal: Likewise.
68682         * modules/stdint: Likewise.
68683         * modules/stdio: Likewise.
68684         * modules/stdlib: Likewise.
68685         * modules/string: Likewise.
68686         * modules/sys_select: Likewise.
68687         * modules/sys_socket: Likewise.
68688         * modules/sys_stat: Likewise.
68689         * modules/sys_time: Likewise.
68690         * modules/sysexits: Likewise.
68691         * modules/time: Likewise.
68692         * modules/unistd: Likewise.
68693         * modules/wchar: Likewise.
68694         * modules/wctype: Likewise.
68695         * modules/sys_stat: Change maintainer to "all".
68696         * modules/unistd: Likewise.
68697
68698 2007-06-20  Karl Berry  <karl@gnu.org>
68699
68700         * config/srclist.txt: track www changes in license files.
68701
68702 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
68703
68704         * build-aux/bootstrap: Remove stray dot.
68705         Make sure build_aux settings are honored when linking
68706         gnulib_extra_files.
68707
68708 2007-06-19  Eric Blake  <ebb9@byu.net>
68709
68710         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68711         Allow compilation on cygwin.
68712
68713 2007-06-19  Jim Meyering  <jim@meyering.net>
68714
68715         xreadlink-with-size: Remove module.  No longer used.
68716         Ex-callers now use xreadlink or mreadlink-with-size.
68717         * modules/xreadlink-with-size: Remove module.
68718         * lib/xreadlink-with-size.c: Remove file.
68719         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
68720         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
68721         just before the function definition *is* accurate.
68722
68723         Eliminate one way canonicalize_filename_mode could exit.
68724         * lib/canonicalize.c (canonicalize_filename_mode):
68725         Use mreadlink_with_size, not xreadlink_with_size.
68726
68727 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
68728
68729         Detect porting problems to FreeBSD/arm, which has time_t wider than
68730         long int.  Original problem reported for GNU diff by Xin Li in
68731         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
68732         * modules/getdate (Depends-on): Add intprops, verify.
68733         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
68734         is an integer type no wider than long int.
68735
68736 2007-06-18  Jim Meyering  <jim@meyering.net>
68737
68738         New module: mreadlink-with-size.
68739         * MODULES.html.sh: Add mreadlink-with-size.
68740         * modules/mreadlink-with-size: New module
68741         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
68742         not xreadlink-with-size.
68743         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
68744
68745 2007-06-16  Bruno Haible  <bruno@clisp.org>
68746
68747         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
68748         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
68749         Reported by Gary V. Vaughan <gary@gnu.org>.
68750
68751 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
68752
68753         Revamp lchown so that it lives in unistd.h where it belongs.
68754         * lib/lchown.h: Remove.
68755         * lib/dirchownmod.c: Don't include lib/lchown.h.
68756         * lib/fchownat.c: Likewise.
68757         * lib/openat.c: Likewise.
68758         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
68759         does not follow symlinks.
68760         (EOPNOTSUPP): Define if not defined.
68761         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
68762         is defined to 0.
68763         (lchown): New decl.
68764         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
68765         Do not check for lchown decl.
68766         Set REPLACE_LCHOWN.
68767         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
68768         REPLACE_LCHOWN.
68769         * modules/chown: Make it clear it follows symlinks.
68770         * modules/lchown: Make it clear it doesn't follow symlinks.
68771         (Files): Remove lib/lchown.h
68772         (Depends-on): Add unistd.
68773         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
68774         (Include): Include <unistd.h>, not "lchown.h".
68775         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
68776         REPLACE_LCHOWN.
68777
68778 2007-06-15  Jim Meyering  <jim@meyering.net>
68779
68780         Change license (GPL to LGPL) of fsusage and dependents.
68781         * modules/fsusage (License): Change to LGPL.
68782         * modules/full-read (License): Likewise.
68783         * modules/full-write (License): Likewise.
68784         * modules/safe-read (License): Likewise.
68785         * modules/safe-write (License): Likewise.
68786
68787 2007-06-14  Ben Pfaff  <blp@gnu.org>
68788
68789         Missing part of allocsa -> malloca transition.
68790         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
68791         gl_MALLOCA.
68792
68793 2007-06-12  Bruno Haible  <bruno@clisp.org>
68794
68795         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
68796         to ia64, x86_64, i386.
68797         Reported by Eric Blake.
68798
68799 2007-06-12  Bruno Haible  <bruno@clisp.org>
68800
68801         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
68802         cross-compiling to x86_64.
68803
68804 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
68805
68806         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
68807         glitch reported by Ralf Wildenhues in
68808         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
68809
68810         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
68811         Vin Shelton.
68812
68813 2007-06-11  Bruno Haible  <bruno@clisp.org>
68814
68815         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
68816         replacement string.
68817         Reported by Eric Blake.
68818
68819 2007-06-10  Bruno Haible  <bruno@clisp.org>
68820
68821         Prepare vasnprintf code for use with Unicode strings.
68822         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
68823         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
68824         TYPE_U32_STRING.
68825         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
68826         a_u32_string variants.
68827         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68828         * lib/printf-args.c: Don't include config.h and the specification
68829         header if PRINTF_FETCHARGS is already defined.
68830         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68831         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
68832         TYPE_U16_STRING, TYPE_U32_STRING.
68833         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
68834         u16_directive, u16_directives, u32_directive, u32_directives): New
68835         types.
68836         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
68837         New declarations.
68838         * lib/printf-parse.c: Don't include config.h and the specification
68839         header if PRINTF_PARSE is already defined. Eliminate the set of
68840         parameters for WIDE_CHAR_VERSION; the user of this file must provide
68841         them now. Include c-ctype.h.
68842         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
68843         directive and CHAR_T_ONLY_ASCII.
68844         * lib/vasnprintf.c: Don't include config.h and the specification header
68845         if VASNPRINTF is already defined.
68846         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
68847         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
68848         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
68849         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
68850         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
68851         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
68852         code accordingly.
68853         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
68854         pad_ourselves also in this case, with the 'c' and 's' directives, and
68855         with a different notion of "width".
68856         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
68857
68858 2007-06-10  Bruno Haible  <bruno@clisp.org>
68859
68860         * modules/unistr/u32-mbsnlen: New file.
68861         * lib/unistr/u32-mbsnlen.c: New file.
68862
68863         * modules/unistr/u16-mbsnlen: New file.
68864         * lib/unistr/u16-mbsnlen.c: New file.
68865
68866         * modules/unistr/u8-mbsnlen: New file.
68867         * lib/unistr/u8-mbsnlen.c: New file.
68868
68869         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
68870         declarations.
68871
68872 2007-06-10  Bruno Haible  <bruno@clisp.org>
68873
68874         * lib/string_.h (mbsnlen): New declaration.
68875         * lib/mbsnlen.c: New file.
68876         * m4/mbsnlen.m4: New file.
68877         * modules/mbsnlen: New file.
68878         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
68879         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
68880         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
68881
68882 2007-06-10  Bruno Haible  <bruno@clisp.org>
68883
68884         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
68885
68886 2007-06-10  Bruno Haible  <bruno@clisp.org>
68887
68888         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
68889         * lib/mbuiter.h: Likewise.
68890
68891 2007-06-10  Bruno Haible  <bruno@clisp.org>
68892
68893         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
68894         declaration.
68895
68896 2007-06-10  Karl Berry  <karl@gnu.org>
68897
68898         * config/srclist.txt: remove gettext entries, Bruno prefers
68899         to update individually.
68900
68901 2007-06-10  Bruno Haible  <bruno@clisp.org>
68902
68903         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
68904         'maxlen'. Ensure only length + width bytes are allocated, not
68905         length + 1 + width.
68906
68907 2007-06-09  Bruno Haible  <bruno@clisp.org>
68908
68909         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
68910         (CHAR_T): Remove macro.
68911         (VASNPRINTF): Update.
68912
68913 2007-06-09  Bruno Haible  <bruno@clisp.org>
68914
68915         * MODULES.html.sh (Unicode string functions): Add the new modules.
68916
68917         * modules/uniconv/u32-conv-to-enc: New file.
68918         * lib/uniconv/u32-conv-to-enc.c: New file.
68919         * modules/uniconv/u32-conv-to-enc-tests: New file.
68920         * tests/uniconv/test-u32-conv-to-enc.c: New file.
68921
68922         * modules/uniconv/u16-conv-to-enc: New file.
68923         * lib/uniconv/u16-conv-to-enc.c: New file.
68924         * lib/uniconv/u-conv-to-enc.h: New file.
68925         * modules/uniconv/u16-conv-to-enc-tests: New file.
68926         * tests/uniconv/test-u16-conv-to-enc.c: New file.
68927
68928         * modules/uniconv/u8-conv-to-enc: New file.
68929         * lib/uniconv/u8-conv-to-enc.c: New file.
68930         * modules/uniconv/u8-conv-to-enc-tests: New file.
68931         * tests/uniconv/test-u8-conv-to-enc.c: New file.
68932
68933         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
68934         u32_conv_to_encoding): New declarations.
68935
68936 2007-06-09  Bruno Haible  <bruno@clisp.org>
68937
68938         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
68939
68940 2007-06-09  Bruno Haible  <bruno@clisp.org>
68941
68942         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
68943         * modules/malloca: Renamed from modules/allocsa, updated.
68944         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
68945         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
68946         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
68947         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
68948         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
68949         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
68950         * modules/xmalloca: Renamed from modules/xallocsa, updated.
68951         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
68952         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
68953         * modules/c-strcasestr (Depends-on): Update.
68954         * lib/c-strcasestr.c: Update.
68955         * modules/c-strstr (Depends-on): Update.
68956         * lib/c-strstr.c: Update.
68957         * modules/canonicalize-lgpl (Depends-on): Update.
68958         * lib/canonicalize-lgpl.c: Update.
68959         * modules/clean-temp (Depends-on): Update.
68960         * lib/clean-temp.c: Update.
68961         * modules/csharpcomp (Depends-on): Update.
68962         * lib/csharpcomp.c: Update.
68963         * modules/csharpexec (Depends-on): Update.
68964         * lib/csharpexec.c: Update.
68965         * modules/javacomp (Depends-on): Update.
68966         * lib/javacomp.c: Update.
68967         * modules/javaexec (Depends-on): Update.
68968         * lib/javaexec.c: Update.
68969         * modules/mbscasestr (Depends-on): Update.
68970         * lib/mbscasestr.c: Update.
68971         * modules/mbsstr (Depends-on): Update.
68972         * lib/mbsstr.c: Update.
68973         * modules/setenv (Depends-on): Update.
68974         * lib/setenv.c: Update.
68975         * modules/strcasestr (Depends-on): Update.
68976         * lib/strcasestr.c: Update.
68977         * modules/striconveha (Depends-on): Update.
68978         * lib/striconveha.c: Update.
68979         * modules/relocatable-prog-wrapper (Files): Update.
68980         * lib/relocwrapper.c: Update.
68981         * build-aux/install-reloc: Update.
68982         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
68983
68984 2007-06-08  Bruno Haible  <bruno@clisp.org>
68985
68986         Port to uClibc.
68987         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
68988         * lib/fpurge.c (fpurge): Likewise.
68989         * lib/freading.c (freading): Likewise.
68990         * lib/fseeko.c (rpl_fseeko): Likewise.
68991         * lib/fseterr.c (fseterr): Likewise.
68992         * lib/fwriting.c (fwriting): Likewise.
68993         * tests/test-fflush.c (main): Avoid a failure on uClibc.
68994
68995 2007-06-08  Bruno Haible  <bruno@clisp.org>
68996
68997         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
68998         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
68999         * modules/gettext (Files): Add m4/intlmacosx.m4.
69000
69001 2007-06-07  Bruno Haible  <bruno@clisp.org>
69002
69003         * modules/localename-tests: New file.
69004         * tests/test-localename.c: New file.
69005
69006         New module 'localename'.
69007         * lib/localename.h: New file.
69008         * lib/localename.c: New file, from GNU gettext.
69009         * m4/localename.m4: New file.
69010         * modules/localename: New file.
69011
69012 2007-06-07  Bruno Haible  <bruno@clisp.org>
69013
69014         Work around the lack of <wchar.h> on some builds of uClibc.
69015         * doc/headers/wchar.texi: Update.
69016         * lib/wchar_.h: Include <wchar.h> only if it exists.
69017         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
69018         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
69019         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
69020         doesn't exist.
69021         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
69022         * modules/mbfile (Depends-on): Add wchar.
69023         * modules/mbiter (Depends-on): Likewise.
69024         * modules/mbuiter (Depends-on): Likewise.
69025         Reported by Simon Josefsson.
69026
69027 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
69028
69029         Work around problem reported by Steven M. Schweda in
69030         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
69031         Tru64 5.1B with the Compaq compiler environment installed declares
69032         an 'isblank' function but does not define it in the C library.
69033         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
69034         * lib/regex_internal.h (isblank): Likewise.
69035         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
69036         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
69037
69038 2007-06-05  Bruno Haible  <bruno@clisp.org>
69039
69040         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
69041         ia64.
69042         * modules/printf-safe: New file.
69043         * modules/fprintf-posix (Depends-on): Add printf-safe.
69044         * modules/printf-posix (Depends-on): Likewise.
69045         * modules/snprintf-posix (Depends-on): Likewise.
69046         * modules/sprintf-posix (Depends-on): Likewise.
69047         * modules/vasnprintf-posix (Depends-on): Likewise.
69048         * modules/vasprintf-posix (Depends-on): Likewise.
69049         * modules/vfprintf-posix (Depends-on): Likewise.
69050         * modules/vprintf-posix (Depends-on): Likewise.
69051         * modules/vsnprintf-posix (Depends-on): Likewise.
69052         * modules/vsprintf-posix (Depends-on): Likewise.
69053         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
69054         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
69055         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
69056         "no" on i386, x86_64, ia64.
69057         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
69058         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69059         on i386, x86_64, ia64.
69060         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
69061         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69062         on i386, x86_64, ia64.
69063         * tests/test-vasnprintf-posix.c: Include float.h.
69064         (LDBL80_WORDS): New macro.
69065         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69066         on i386, x86_64, ia64.
69067         * tests/test-vasprintf-posix.c: Include float.h.
69068         (LDBL80_WORDS): New macro.
69069         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69070         on i386, x86_64, ia64.
69071         * tests/test-snprintf-posix.c: Include float.h.
69072         * tests/test-sprintf-posix.c: Likewise.
69073         * tests/test-vsnprintf-posix.c: Likewise.
69074         * tests/test-vsprintf-posix.c: Likewise.
69075
69076 2007-06-05  Bruno Haible  <bruno@clisp.org>
69077
69078         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
69079         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
69080         non-IEEE numbers on i386, x86_64, ia64.
69081         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
69082         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
69083         * tests/test-isnanl.h: Include float.h.
69084         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
69085
69086 2007-06-05  Bruno Haible  <bruno@clisp.org>
69087
69088         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
69089         also the %a / %A. Handle the %a / %A code before this extra handling.
69090
69091 2007-06-05  Bruno Haible  <bruno@clisp.org>
69092
69093         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
69094         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
69095
69096 2007-06-05  Bruno Haible  <bruno@clisp.org>
69097
69098         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
69099         typo in variable name.
69100
69101 2007-06-05  Eric Blake  <ebb9@byu.net>
69102
69103         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
69104         Reported by Simon Josefsson.
69105
69106 2007-06-04  Bruno Haible  <bruno@clisp.org>
69107
69108         Avoid test failures on some PowerPC platforms.
69109         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
69110         Define differently for PowerPC.
69111         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
69112         Reported by Gary V. Vaughan <gary@gnu.org>.
69113
69114 2007-06-02  Bruno Haible  <bruno@clisp.org>
69115
69116         Fix test-stdint failure on FreeBSD/ia64.
69117         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
69118         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
69119         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
69120         * doc/headers/stdint.texi: Update.
69121
69122 2007-06-01  Bruno Haible  <bruno@clisp.org>
69123
69124         * tests/test-binary-io.c (main): Pass a third argument to open().
69125         Reported by Gary V. Vaughan <gary@gnu.org>.
69126
69127 2007-06-01  Bruno Haible  <bruno@clisp.org>
69128
69129         * doc/functions/frexpl.texi: Update for mingw.
69130
69131 2007-06-01  Bruno Haible  <bruno@clisp.org>
69132
69133         * tests/test-lseek.c (main): Disable test of errno for invalid third
69134         argument.
69135         * doc/functions/lseek.texi: Update.
69136         Reported by Gary V. Vaughan <gary@gnu.org>.
69137
69138 2007-05-28  Bruno Haible  <bruno@clisp.org>
69139
69140         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
69141
69142 2007-05-31  Eric Blake  <ebb9@byu.net>
69143
69144         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
69145         cross compiling.
69146
69147 2007-05-30  Eric Blake  <ebb9@byu.net>
69148         and Bruno Haible  <bruno@clisp.org>
69149
69150         Work around mingw test failures exposed by m4-1.4.9b.
69151         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
69152         * tests/test-unistd.c: Disable uid_t and git_t tests for the
69153         moment.
69154
69155 2007-05-30  Bruno Haible  <bruno@clisp.org>
69156
69157         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
69158         assuming that they are closed. Needed on HP-UX 11.
69159
69160 2007-05-29  Bruno Haible  <bruno@clisp.org>
69161
69162         Fix a problem with #include_next.
69163         * lib/dirent_.h: Split the double-inclusion guard.
69164         * lib/fcntl_.h: Likewise.
69165         * lib/float_.h: Likewise.
69166         * lib/iconv_.h: Likewise.
69167         * lib/inttypes_.h: Likewise.
69168         * lib/locale_.h: Likewise.
69169         * lib/math_.h: Likewise.
69170         * lib/netinet_in_.h: Likewise.
69171         * lib/search_.h: Likewise.
69172         * lib/signal_.h: Likewise.
69173         * lib/stdint_.h: Likewise.
69174         * lib/stdio_.h: Likewise.
69175         * lib/stdlib_.h: Likewise.
69176         * lib/string_.h: Likewise.
69177         * lib/sys_select_.h: Likewise.
69178         * lib/sys_socket_.h: Likewise.
69179         * lib/sys_stat_.h: Likewise.
69180         * lib/sys_time_.h: Likewise.
69181         * lib/sysexits_.h: Likewise.
69182         * lib/time_.h: Likewise.
69183         * lib/unistd_.h: Likewise.
69184         * lib/wchar_.h: Likewise.
69185         * lib/wctype_.h: Likewise.
69186
69187 2007-05-29  Bruno Haible  <bruno@clisp.org>
69188
69189         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
69190         for the moment.
69191
69192 2007-05-29  Bruno Haible  <bruno@clisp.org>
69193
69194         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
69195         invocation.
69196         Reported by Eric Blake.
69197
69198 2007-05-29  Bruno Haible  <bruno@clisp.org>
69199
69200         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
69201         compiling case.
69202
69203 2007-05-29  Eric Blake  <ebb9@byu.net>
69204             Bruno Haible  <bruno@clisp.org>
69205
69206         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
69207         cross compiles.
69208
69209 2007-05-28  Eric Blake  <ebb9@byu.net>
69210
69211         * modules/closein-tests (test_closein_LDADD): Support test on
69212         cygwin with libtool.
69213
69214 2007-05-28  Bruno Haible  <bruno@clisp.org>
69215
69216         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
69217         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
69218         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
69219         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
69220         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
69221         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
69222         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
69223         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
69224         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
69225
69226 2007-05-28  Eric Blake  <ebb9@byu.net>
69227
69228         Unconditionally include <config.h> in unit tests.
69229         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
69230         * tests/test-allocsa.c, tests/test-arcfour.c,
69231         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
69232         tests/test-array_list.c, tests/test-array_oset.c,
69233         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
69234         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
69235         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
69236         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
69237         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
69238         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
69239         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
69240         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
69241         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
69242         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
69243         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
69244         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
69245         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
69246         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
69247         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
69248         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
69249         test-md5.c, test-memmem.c, test-printf-posix.c,
69250         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
69251         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
69252         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
69253         test-strcasestr.c, test-striconv.c, test-striconveh.c,
69254         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
69255         test-vasnprintf-posix2.c, test-vasnprintf.c,
69256         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
69257         test-vfprintf-posix.c, test-vprintf-posix.c,
69258         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
69259         test-xvasprintf.c: Likewise.
69260
69261 2007-05-28  Bruno Haible  <bruno@clisp.org>
69262
69263         * gnulib-tool (func_import): Remember the --with-tests command-line
69264         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
69265         Reported by Eric Blake.
69266
69267 2007-05-28  Bruno Haible  <bruno@clisp.org>
69268
69269         * modules/ftell-tests: New file.
69270         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
69271         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
69272
69273         * lib/ftell.c: New file.
69274         * modules/ftell: New file.
69275         * m4/ftell.m4: New file.
69276         * doc/functions/ftell.texi: Update.
69277         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
69278         REPLACE_FTELL.
69279         * lib/stdio_.h (rpl_ftell): New declaration.
69280         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
69281         REPLACE_FTELL.
69282
69283 2007-05-28  Eric Blake  <ebb9@byu.net>
69284
69285         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
69286
69287 2007-05-28  Bruno Haible  <bruno@clisp.org>
69288
69289         * modules/fseek-tests: New file.
69290         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
69291         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
69292
69293         * lib/fseek.c: New file.
69294         * modules/fseek: New file.
69295         * m4/fseek.m4: New file.
69296         * doc/functions/fseek.texi: Update.
69297         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
69298         REPLACE_FSEEK.
69299         * lib/stdio_.h (rpl_fseek): New declaration.
69300         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
69301         REPLACE_FSEEK.
69302
69303 2007-05-28  Bruno Haible  <bruno@clisp.org>
69304
69305         * lib/stdio_.h (fflush): More comments.
69306
69307 2007-05-28  Bruno Haible  <bruno@clisp.org>
69308
69309         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
69310         runtime test.
69311
69312 2007-05-28  Eric Blake  <ebb9@byu.net>
69313
69314         Improve lseek module.
69315         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
69316         * lib/unistd_.h (lseek): Scale back link warning message.
69317         * tests/test-lseek.c: Beef up test.
69318         * tests/test-lseek.sh: Exercise more facets of lseek.
69319         Reported by Bruno Haible.
69320
69321 2007-05-28  Bruno Haible  <bruno@clisp.org>
69322
69323         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
69324         to define.
69325
69326 2007-05-27  Bruno Haible  <bruno@clisp.org>
69327
69328         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
69329
69330 2007-05-27  Bruno Haible  <bruno@clisp.org>
69331
69332         * modules/openmp: New file.
69333         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
69334         Noah Misch.
69335
69336 2007-05-26  Bruno Haible  <bruno@clisp.org>
69337
69338         * modules/chdir-long (Depends-on): Add fchdir.
69339         * modules/chdir-safer (Depends-on): Likewise.
69340         * modules/fts (Depends-on): Likewise.
69341         * modules/fts-lgpl (Depends-on): Likewise.
69342         * modules/openat (Depends-on): Likewise.
69343         * modules/savewd (Depends-on): Likewise.
69344
69345 2007-05-24  Eric Blake  <ebb9@byu.net>
69346
69347         Fix lseek on mingw.
69348         * modules/lseek: New module.
69349         * m4/lseek.m4: New file.
69350         * lib/lseek.c: New file.
69351         * modules/lseek-tests: New file.
69352         * tests/test-lseek.c: New file.
69353         * tests/test-lseek.sh: New file.
69354         * MODULES.html.sh: Document lseek module.
69355         * modules/fflush (Depends-on): Add lseek, fseeko.
69356         * modules/fseeko (Depends-on): Likewise.
69357         * modules/ftello (Depends-on): Likewise.
69358         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
69359         broken.
69360         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
69361         broken.
69362         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
69363         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
69364         * lib/ftello.c (rpl_ftello): Likewise.
69365         * tests/test-fseeko.c (main): Test this.
69366         * tests/test-fseeko.sh: Likewise.
69367         * tests/test-ftello.c (main): Likewise.
69368         * tests/test-ftello.sh: Likewise.
69369         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
69370         implies replacing fseek.
69371         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
69372         HAVE_FTELLO.
69373         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
69374         * modules/unistd (Makefile.am): Likewise.
69375         * lib/unistd_.h (lseek): Declare a replacement.
69376         * doc/functions/lseek.texi (lseek): Document this fix.
69377         * doc/functions/fseek.texi (fseek): Likewise.
69378         * doc/functions/ftell.texi (ftell): Likewise.
69379
69380 2007-05-24  Bruno Haible  <bruno@clisp.org>
69381
69382         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
69383         in the printed representation of a NaN.
69384         * tests/test-vasprintf-posix.c (test_function): Likewise.
69385         * tests/test-snprintf-posix.h (test_function): Likewise.
69386         * tests/test-sprintf-posix.h (test_function): Likewise.
69387         Reported by Eric Blake.
69388
69389 2007-05-23  Eric Blake  <ebb9@byu.net>
69390
69391         Fix fseeko/ftello on cygwin 1.5.24.
69392         * doc/functions/fseeko.texi (fseeko): Document the fix.
69393         * doc/functions/ftello.texi (ftello): Document the fix.
69394         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
69395         * doc/functions/stdout.text (stdout): New file.
69396         * doc/functions/stderr.text (stderr): New file.
69397         * doc/gnulib.texi (Function Substitutes): Use new files.
69398         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
69399         prior to 1.7.0.
69400         * tests/test-ftello.c (main): Likewise for ftello.
69401         * tests/test-fseeko.sh: New file.
69402         * tests/test-ftello.sh: New file.
69403         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
69404         with seekable stdin.
69405         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
69406         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
69407         (gl_REPLACE_FSEEKO): New macro.
69408         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
69409         * modules/fseeko (Files): Distribute fseeko.c.
69410         * modules/ftello (Files): Distribute ftello.c.
69411         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
69412         mode.
69413         * lib/ftello.c (rpl_ftello): New file.
69414         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
69415         fseeko, ftello.
69416         (gl_STDIN_LARGE_OFFSET): New macro.
69417         * modules/stdio (Makefile.am): Perform the replacement.
69418         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
69419
69420 2007-05-23  Bruno Haible  <bruno@clisp.org>
69421
69422         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
69423         GNULIB_POSIXCHECK is defined.
69424
69425 2007-05-21  Bruno Haible  <bruno@clisp.org>
69426
69427         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
69428         Check also the output for NaN arguments. When cross-compiling, guess
69429         no on IRIX.
69430         * lib/vasnprintf.c: Update comments.
69431         * tests/test-vasnprintf-posix.c (strisnan): New function.
69432         (test_function): Use it.
69433         * tests/test-vasprintf-posix.c (strisnan): New function.
69434         (test_function): Use it.
69435         * tests/test-snprintf-posix.h (strisnan): New function.
69436         (test_function): Use it.
69437         * tests/test-sprintf-posix.h (strisnan): New function.
69438         (test_function): Use it.
69439         Reported by Eric Blake.
69440
69441 2007-05-20  Bruno Haible  <bruno@clisp.org>
69442
69443         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
69444         numbers that fails on BeOS.
69445         * doc/functions/frexpl.texi: Update.
69446
69447 2007-05-20  Jim Meyering  <jim@meyering.net>
69448
69449         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
69450         forced upon us by glibc-2.6.
69451
69452 2007-05-20  Bruno Haible  <bruno@clisp.org>
69453
69454         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
69455         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
69456         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
69457         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
69458         NEED_PRINTF_INFINITE.
69459         (is_infinitel): New function.
69460         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
69461         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
69462         gl_PREREQ_VASNPRINTF_INFINITE.
69463         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
69464         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69465         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
69466         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
69467         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
69468         gl_PREREQ_VASNPRINTF_INFINITE.
69469         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69470         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69471         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69472         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69473         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69474         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69475         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69476         * doc/functions/fprintf.texi: Update.
69477         * doc/functions/printf.texi: Update.
69478         * doc/functions/snprintf.texi: Update.
69479         * doc/functions/sprintf.texi: Update.
69480         * doc/functions/vfprintf.texi: Update.
69481         * doc/functions/vprintf.texi: Update.
69482         * doc/functions/vsnprintf.texi: Update.
69483         * doc/functions/vsprintf.texi: Update.
69484
69485 2007-05-20  Bruno Haible  <bruno@clisp.org>
69486
69487         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
69488         was not found in libc.
69489         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
69490
69491 2007-05-20  Bruno Haible  <bruno@clisp.org>
69492
69493         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69494         printed as "-nan" instead of "nan".
69495         * tests/test-vasprintf-posix.c (test_function): Likewise.
69496         * tests/test-snprintf-posix.h (test_function): Likewise.
69497         * tests/test-sprintf-posix.h (test_function): Likewise.
69498         Needed for HP-UX 11.
69499
69500 2007-05-20  Jim Meyering  <jim@meyering.net>
69501
69502         Fix buggy test for the fchownat-deref bug.
69503         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
69504         symlink required for the run-test.  Without it, this test would
69505         always declare that fchownat doesn't work, and client code would
69506         unnecessarily use the replacement function with fixed libc.
69507         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
69508         Reported by Greg Schafer.
69509
69510 2007-05-19  Bruno Haible  <bruno@clisp.org>
69511
69512         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
69513         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
69514         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
69515         Needed for IRIX 6.5 and Solaris 2.5.1.
69516
69517 2007-05-19  Bruno Haible  <bruno@clisp.org>
69518
69519         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
69520         (test_function): Skip tests involving -0.0 on platforms where
69521         -0.0 = 0.0.
69522         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
69523         (test_function): Skip tests involving -0.0 on platforms where
69524         -0.0 = 0.0.
69525         * tests/test-snprintf-posix.h (have_minus_zero): New function.
69526         (test_function): Skip tests involving -0.0 on platforms where
69527         -0.0 = 0.0.
69528         * tests/test-sprintf-posix.h (have_minus_zero): New function.
69529         (test_function): Skip tests involving -0.0 on platforms where
69530         -0.0 = 0.0.
69531         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
69532         tests.
69533         * tests/test-printf-posix.h (test_function): Likewise.
69534         * tests/test-printf-posix.output: Remove all -0.0 related results.
69535         Needed for IRIX 6.5.
69536
69537 2007-05-19  Bruno Haible  <bruno@clisp.org>
69538
69539         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69540         printed as "nan0x7fffffff" instead of "nan".
69541         * tests/test-vasprintf-posix.c (test_function): Likewise.
69542         * tests/test-snprintf-posix.h (test_function): Likewise.
69543         * tests/test-sprintf-posix.h (test_function): Likewise.
69544         * tests/test-fprintf-posix.h (NaN): Remove macro.
69545         (test_function): Remove all NaN related tests.
69546         * tests/test-printf-posix.h (NaN): Remove macro.
69547         (test_function): Remove all NaN related tests.
69548         * tests/test-printf-posix.output: Remove all NaN related results.
69549         Needed for IRIX 6.5.
69550
69551 2007-05-19  Bruno Haible  <bruno@clisp.org>
69552
69553         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
69554         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
69555
69556 2007-05-19  Bruno Haible  <bruno@clisp.org>
69557
69558         * lib/float_.h: New file.
69559         * m4/float_h.m4: New file.
69560         * modules/float: New file.
69561         * modules/isnanl (Dependencies): Add float.
69562         * modules/isnanl-nolibm (Dependencies): Likewise.
69563         * modules/mathl (Dependencies): Likewise.
69564         * modules/printf-frexpl (Dependencies): Likewise.
69565         * modules/signbit (Dependencies): Likewise.
69566         * modules/vasnprintf (Dependencies): Likewise.
69567         * doc/headers/float.texi: Update.
69568
69569 2007-05-19  Jim Meyering  <jim@meyering.net>
69570
69571         * lib/utimens.c (gl_futimens): Rename from futimens,
69572         now that glibc-2.6 declares futimens.
69573         * lib/utimens.h: Likewise.
69574
69575 2007-05-19  Bruno Haible  <bruno@clisp.org>
69576
69577         Avoid test failures on mingw.
69578         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
69579         * tests/test-printf-posix.sh: Likewise.
69580         * tests/test-vfprintf-posix.sh: Likewise.
69581         * tests/test-vprintf-posix.sh: Likewise.
69582
69583 2007-05-19  Bruno Haible  <bruno@clisp.org>
69584
69585         Fix *printf result for NaN, Inf, -0.0 on mingw.
69586         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
69587         * lib/vasnprintf.c: Include math.h and isnan.h.
69588         (is_infinite_or_zero): New function.
69589         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
69590         values in the %f, %F, %e, %E, %g, %G directives.
69591         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
69592         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69593         gl_PRINTF_INFINITE and test its result. Invoke
69594         gl_PREREQ_VASNPRINTF_INFINITE.
69595         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69596         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69597         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69598         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69599         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69600         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69601         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69602         * doc/functions/fprintf.texi: Update.
69603         * doc/functions/printf.texi: Update.
69604         * doc/functions/snprintf.texi: Update.
69605         * doc/functions/sprintf.texi: Update.
69606         * doc/functions/vfprintf.texi: Update.
69607         * doc/functions/vprintf.texi: Update.
69608         * doc/functions/vsnprintf.texi: Update.
69609         * doc/functions/vsprintf.texi: Update.
69610
69611 2007-05-19  Bruno Haible  <bruno@clisp.org>
69612
69613         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
69614         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
69615         Instead of multiplying with 10^k, set extra_zeroes to k.
69616         (scale10_round_long_double): Remove function.
69617
69618 2007-05-18  Bruno Haible  <bruno@clisp.org>
69619
69620         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
69621         introduced on 2007-05-06.
69622
69623 2007-05-18  Bruno Haible  <bruno@clisp.org>
69624
69625         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
69626         %g directives.
69627         * tests/test-vasprintf-posix.c (test_function): Likewise.
69628         * tests/test-snprintf-posix.h (test_function): Likewise.
69629         * tests/test-sprintf-posix.h (test_function): Likewise.
69630
69631 2007-05-18  Bruno Haible  <bruno@clisp.org>
69632
69633         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
69634         (strmatch): New function.
69635         (test_function): Test the %f directive on numbers of various exponents.
69636         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
69637         (strmatch): New function.
69638         (test_function): Test the %f directive on numbers of various exponents.
69639         * tests/test-snprintf-posix.h (strmatch): New function.
69640         (test_function): Test the %f directive on numbers of various exponents.
69641         * tests/test-sprintf-posix.h (strmatch): New function.
69642         (test_function): Test the %f directive on numbers of various exponents.
69643         * tests/test-snprintf-posix.c (SIZEOF): New macro.
69644         * tests/test-sprintf-posix.c (SIZEOF): New macro.
69645         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
69646         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
69647
69648 2007-05-18  Bruno Haible  <bruno@clisp.org>
69649
69650         Add support for 'long double' number output.
69651         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
69652         * lib/vasnprintf.c: Include math.h and float+.h.
69653         (mp_limb_t): New type.
69654         (GMP_LIMB_BITS): New macro.
69655         (mp_twolimb_t): New type.
69656         (GMP_TWOLIMB_BITS): New macro.
69657         (mpn_t): New type.
69658         (multiply, divide, convert_to_decimal, decode_long_double,
69659         scale10_round_long_double, scale10_round_decimal_long_double,
69660         floorlog10l): New functions.
69661         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
69662         for the %f, %F, %e, %E, %g, %G directives.
69663         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
69664         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69665         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
69666         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
69667         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69668         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69669         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69670         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69671         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69672         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69673         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69674         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
69675         * modules/snprintf-posix (Depends-on): Likewise.
69676         * modules/sprintf-posix (Depends-on): Likewise.
69677         * modules/vasnprintf-posix (Depends-on): Likewise.
69678         * modules/vasprintf-posix (Depends-on): Likewise.
69679         * modules/vfprintf-posix (Depends-on): Likewise.
69680         * modules/vsnprintf-posix (Depends-on): Likewise.
69681         * modules/vsprintf-posix (Depends-on): Likewise.
69682         * modules/vasnprintf (Files): Add lib/float+.h.
69683         * doc/functions/fprintf.texi: Update.
69684         * doc/functions/printf.texi: Update.
69685         * doc/functions/snprintf.texi: Update.
69686         * doc/functions/sprintf.texi: Update.
69687         * doc/functions/vfprintf.texi: Update.
69688         * doc/functions/vprintf.texi: Update.
69689         * doc/functions/vsnprintf.texi: Update.
69690         * doc/functions/vsprintf.texi: Update.
69691
69692 2007-05-18  Bruno Haible  <bruno@clisp.org>
69693
69694         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
69695
69696 2007-05-18  Bruno Haible  <bruno@clisp.org>
69697
69698         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
69699         for printing 64-bit integers. Needed for mingw.
69700
69701 2007-05-18  Bruno Haible  <bruno@clisp.org>
69702
69703         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
69704         gl_FUNC_FREXPL_WORKS.
69705         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
69706
69707 2007-05-18  Bruno Haible  <bruno@clisp.org>
69708
69709         * modules/frexpl-nolibm-tests: New file.
69710
69711         * modules/frexpl-nolibm: New file.
69712         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
69713
69714 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69715
69716         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
69717         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69718         GCC 4.2, which otherwise issues a lot of warnings.
69719         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
69720         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
69721         Likewise.
69722         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
69723         * modules/iconv_open (iconv.h): Likewise.
69724         * modules/locale (locale.h): Likewise.
69725         * modules/netinet_in (netinet/in.h): Likewise.
69726         * modules/sys_select (sys_select.h): Likewise.
69727         * modules/sys_socket (sys/socket.h): Likewise.
69728         * modules/sys_stat (sys/stat.h): Likewise.
69729         * modules/sysexits (sysexits.h): Likewise.
69730         * modules/unistd (unistd.h): Likewise.
69731
69732 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69733
69734         * modules/closein-tests (Makefile.am): Distribute
69735         `test-closein.sh'.
69736
69737 2007-05-17  Bruno Haible  <bruno@clisp.org>
69738
69739         * tests/test-printf-posix.output: Renamed from
69740         tests/test-fprintf-posix.out.
69741         * modules/fprintf-posix-tests: Update.
69742         * modules/printf-posix-tests: Update.
69743         * modules/vfprintf-posix-tests: Update.
69744         * modules/vprintf-posix-tests: Update.
69745         * tests/test-fprintf-posix.sh: Update.
69746         * tests/test-printf-posix.sh: Update.
69747         * tests/test-vfprintf-posix.sh: Update.
69748         * tests/test-vprintf-posix.sh: Update.
69749         Reported by Ralf Wildenhues.
69750
69751 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69752
69753         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
69754         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69755         GCC 4.2, which otherwise issues a lot of warnings.
69756         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
69757         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
69758         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
69759         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
69760         it should no longer be needed.
69761         * lib/string_.h: Likewise.
69762         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
69763         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
69764         * modules/inttypes (inttypes.h): Likewise.
69765         * modules/math (math.h): Likewise.
69766         * modules/search (search.h): Likewise.
69767         * modules/signal (signal.h): Likewise.
69768         * modules/stdint (stdint.h): Likewise.
69769         * modules/stdio (stdio.h): Likewise.
69770         * modules/stdlib (stdlib.h): Likewise.
69771         * modules/string (string.h): Likewise.
69772         * modules/sys_time (sys/time.h): Likewise.
69773         * modules/time (time.h): Likewise.
69774         * modules/wchar (wchar.h): Likewise.
69775         * modules/wctype (wtype.h): Likewise.
69776
69777 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
69778
69779         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
69780
69781 2007-05-13  Bruno Haible  <bruno@clisp.org>
69782
69783         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
69784         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69785         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
69786         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69787         (gl_PREREQ_STRTOK_R): Don't require it here.
69788
69789 2007-05-13  Bruno Haible  <bruno@clisp.org>
69790
69791         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
69792         when used in C++ mode.
69793
69794 2007-05-12  Bruno Haible  <bruno@clisp.org>
69795
69796         * lib/linebuffer.h: Tweak doc.
69797         * lib/linebuffer.c: Likewise.
69798
69799 2007-05-12  James Youngman  <jay@gnu.org>
69800
69801         * lib/linebuffer.c (readlinebuffer_delim): New function,
69802         like readlinebuffer, but use a caller-specified delimiter.
69803         (readlinebuffer): Just call readlinebuffer_delim with '\n'
69804         as the delimiter.
69805         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
69806
69807 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
69808
69809         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
69810         * modules/openat (Files): Remove openat-die.c.
69811         (Depends-on): Add openat-die.
69812         * modules/openat-die: New module.
69813
69814 2007-05-06  Bruno Haible  <bruno@clisp.org>
69815
69816         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
69817         Update with info about Cygwin.
69818         * doc/functions/fprintf.texi: Update.
69819         * doc/functions/printf.texi: Update.
69820         * doc/functions/snprintf.texi: Update.
69821         * doc/functions/sprintf.texi: Update.
69822         * doc/functions/vfprintf.texi: Update.
69823         * doc/functions/vprintf.texi: Update.
69824         * doc/functions/vsnprintf.texi: Update.
69825         * doc/functions/vsprintf.texi: Update.
69826         Reported by Eric Blake.
69827
69828 2007-05-06  Bruno Haible  <bruno@clisp.org>
69829
69830         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
69831         padding ourselves for the floating-point directives.
69832         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
69833         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
69834         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69835         gl_PRINTF_FLAG_ZERO and test its result. Invoke
69836         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
69837         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69838         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69839         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69840         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69841         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69842         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69843         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69844         * tests/test-snprintf-posix.h (test_function): Also check the width
69845         and some flags in the %f directive.
69846         * tests/test-sprintf-posix.h (test_function): Likewise.
69847         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69848         * tests/test-vasprintf-posix.c (test_function): Likewise.
69849         * doc/functions/fprintf.texi: Update.
69850         * doc/functions/printf.texi: Update.
69851         * doc/functions/snprintf.texi: Update.
69852         * doc/functions/sprintf.texi: Update.
69853         * doc/functions/vfprintf.texi: Update.
69854         * doc/functions/vprintf.texi: Update.
69855         * doc/functions/vsnprintf.texi: Update.
69856         * doc/functions/vsprintf.texi: Update.
69857
69858 2007-05-06  Bruno Haible  <bruno@clisp.org>
69859
69860         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
69861         pass the ' flag character to sprintf or snprintf.
69862         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
69863         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
69864         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69865         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
69866         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
69867         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69868         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69869         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69870         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69871         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69872         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69873         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69874         * tests/test-snprintf-posix.h (test_function): Also check the grouping
69875         flag.
69876         * tests/test-sprintf-posix.h (test_function): Likewise.
69877         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69878         * tests/test-vasprintf-posix.c (test_function): Likewise.
69879         * doc/functions/fprintf.texi: Update.
69880         * doc/functions/printf.texi: Update.
69881         * doc/functions/snprintf.texi: Update.
69882         * doc/functions/sprintf.texi: Update.
69883         * doc/functions/vfprintf.texi: Update.
69884         * doc/functions/vprintf.texi: Update.
69885         * doc/functions/vsnprintf.texi: Update.
69886         * doc/functions/vsprintf.texi: Update.
69887
69888 2007-05-01  Bruno Haible  <bruno@clisp.org>
69889
69890         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
69891
69892 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
69893
69894         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
69895         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
69896
69897 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69898
69899         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
69900         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
69901         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
69902
69903 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
69904
69905         * lib/argp-help.c (struct hol_entry): New member `ord'.
69906         (HOL_ENTRY_PTRCMP): Use ord for comparison
69907         (hol_sort): Initialize ord.
69908
69909 2007-05-01  Bruno Haible  <bruno@clisp.org>
69910
69911         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
69912         Reported by Eric Blake.
69913         * doc/gnulib.texi (Function Substitutes): Update.
69914
69915 2007-05-01  Bruno Haible  <bruno@clisp.org>
69916
69917         * doc/functions.texi: Remove file, now redundant through
69918         doc/functions/*.texi.
69919
69920 2007-05-01  Bruno Haible  <bruno@clisp.org>
69921
69922         * modules/argp (Depends-on): Add sleep.
69923
69924 2007-05-01  Bruno Haible  <bruno@clisp.org>
69925
69926         * modules/sleep-tests: New file.
69927         * tests/test-sleep.c: New file.
69928
69929         * modules/sleep: New file.
69930         * lib/sleep.c: New file.
69931         * m4/sleep.m4: New file.
69932         * lib/unistd_.h (sleep): New declaration.
69933         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
69934         HAVE_SLEEP.
69935         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
69936         * doc/functions/sleep.texi: Document the sleep module.
69937
69938 2007-05-01  Bruno Haible  <bruno@clisp.org>
69939
69940         * lib/sigprocmask.h: Remove file.
69941         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
69942         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
69943         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
69944         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
69945         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
69946         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
69947         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
69948         HAVE_SIGSET_T as a shell variable.
69949         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
69950         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
69951         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
69952         (Depends-on): Add signal. Remove verify.
69953         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
69954         (Include): Mention <signal.h> instead of sigprocmask.h.
69955         * NEWS: Mention the change.
69956         * lib/fatal-signal.c: Don't include sigprocmask.h.
69957
69958 2007-05-01  Bruno Haible  <bruno@clisp.org>
69959
69960         * modules/signal: New file.
69961         * lib/signal_.h: New file.
69962         * m4/signal_h.m4: New file.
69963
69964 2007-05-01  Bruno Haible  <bruno@clisp.org>
69965
69966         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
69967         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
69968         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
69969         HAVE_WCTYPE_CTMP_BUG into wctype.h.
69970
69971 2007-05-01  Bruno Haible  <bruno@clisp.org>
69972
69973         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
69974         configure time.
69975         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
69976         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
69977         * modules/sys_stat (Makefile.am): Substitute their values into
69978         sys/stat.h.
69979
69980 2007-05-01  Bruno Haible  <bruno@clisp.org>
69981
69982         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
69983         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
69984         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
69985
69986 2007-05-01  Bruno Haible  <bruno@clisp.org>
69987
69988         * doc/header/assert.texi: Undo last change: don't mention the gnulib
69989         'assert' module here.
69990
69991 2007-05-01  Bruno Haible  <bruno@clisp.org>
69992
69993         * doc/functions/*.texi: New files.
69994         * doc/functions/google-ranking.txt: New file.
69995         * doc/gnulib.texi (Function Substitutes): New chapter.
69996         (ctime, inet_ntoa): Remove sections.
69997         * doc/ctime.texi: Remove file.
69998         * doc/inet_ntoa.texi: Remove file.
69999         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
70000         dependencies.
70001         (%.info): New rule, specifying a --reference-limit.
70002
70003 2007-05-01  Bruno Haible  <bruno@clisp.org>
70004
70005         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
70006
70007 2007-05-01  Bruno Haible  <bruno@clisp.org>
70008
70009         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
70010         the portability of 'mkdir' to mingw systems.
70011
70012 2007-05-01  Bruno Haible  <bruno@clisp.org>
70013
70014         * doc/headers/google-ranking.txt: New file.
70015
70016 2007-04-30  Eric Blake  <ebb9@byu.net>
70017
70018         Prefer fseeko to fseek.
70019         * modules/getpass (Depends-on): Add fseeko.
70020         * lib/getpass.c (getpass): Use fseeko, not fseek.
70021
70022 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
70023
70024         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
70025         assumes the sorting is stable, while most qsort implementations
70026         are not.  Use argument addresses to ensure they never compare as
70027         equal.
70028
70029         * tests/test-argp-2.sh (usage-indent test): Fix output
70030         (func_compare): Restore diff options
70031         * tests/test-argp.c: Restore #include "progname.h"
70032
70033 2007-04-29  Bruno Haible  <bruno@clisp.org>
70034
70035         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
70036         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70037         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
70038         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
70039         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
70040         (configure.ac): Define CHECK_SNPRINTF_POSIX.
70041         (TESTS, check_PROGRAMS): Add test-snprintf.
70042         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
70043         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
70044         (TESTS, check_PROGRAMS): Add test-vsnprintf.
70045         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
70046         assertions that fail on HP-UX, OSF/1, or IRIX.
70047         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
70048
70049 2007-04-29  Bruno Haible  <bruno@clisp.org>
70050
70051         * MODULES.html.sh (posix_functions): Remove 'contents'.
70052
70053 2007-04-29  Karl Berry  <karl@gnu.org>
70054
70055         * config/srclist.txt (gendocs_template_min): new entry.
70056
70057 2007-04-29  Bruno Haible  <bruno@clisp.org>
70058
70059         Work around fpurge bug on BSD systems.
70060         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
70061         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
70062         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
70063         fpurge to rpl_fpurge if the system already has this function.
70064         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
70065         the case where the system already has this function. Correct invariants
70066         on BSD systems.
70067         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
70068         BSD systems.
70069
70070 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
70071
70072         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
70073         proposed by Sven Verdoolaege.
70074
70075         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
70076         options.
70077         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
70078         (usage and help tests): Update
70079
70080 2007-04-29  Bruno Haible  <bruno@clisp.org>
70081
70082         * tests/test-fflush.c (main): Use a file of size 17, not 10.
70083         Print more information in case of failure. Disable a test on BeOS.
70084
70085 2007-04-29  Bruno Haible  <bruno@clisp.org>
70086
70087         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
70088         This helps debugging on systems on which no gdb is available.
70089
70090 2007-04-29  Bruno Haible  <bruno@clisp.org>
70091
70092         * lib/freading.h: Improve comments.
70093         * lib/fwriting.h: Likewise.
70094         * tests/test-freading.c (main): Don't check freading immediately after
70095         repositioning. Needed for glibc.
70096
70097 2007-04-29  Bruno Haible  <bruno@clisp.org>
70098
70099         * lib/freading.c (freading): Trivial simplification.
70100
70101 2007-04-28  Bruno Haible  <bruno@clisp.org>
70102
70103         * tests/test-fwriting.c (main): Also test the interaction between
70104         fflush and fwriting.
70105         * modules/fwriting-tests (Depends-on): Add fflush.
70106
70107         * tests/test-freading.c (main): Also test the interaction between
70108         fflush and freading.
70109         * modules/freading-tests (Depends-on): Add fflush.
70110
70111 2007-04-28  Bruno Haible  <bruno@clisp.org>
70112
70113         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
70114         fseeko and ftello.
70115         Suggested by Eric Blake.
70116
70117 2007-04-28  Jim Meyering  <jim@meyering.net>
70118
70119         Avoid false-negative in gl_STDINT_H's C99 conformance test.
70120         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
70121         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
70122
70123 2007-04-27  Eric Blake  <ebb9@byu.net>
70124
70125         * doc/headers/assert.texi (assert.h): Document assert module use.
70126
70127 2007-04-27  Bruno Haible  <bruno@clisp.org>
70128
70129         * doc/headers/*.texi: New files.
70130         * doc/gnulib.texi (Header File Substitutes): New chapter.
70131         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
70132         dependencies.
70133         (standards.info ,standards.html, standards.dvi): Update dependencies.
70134         (mostlyclean, clean): New targets.
70135
70136 2007-04-27  Bruno Haible  <bruno@clisp.org>
70137
70138         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
70139         * modules/sysexits (Files, Makefile.am): Update.
70140
70141         * lib/sys_socket_.h: Renamed from lib/socket_.h.
70142         * modules/sys_socket (Files, Makefile.am): Update.
70143
70144         * lib/sys_stat_.h: Renamed from lib/stat_.h.
70145         * modules/sys_stat (Files, Makefile.am): Update.
70146
70147 2007-04-27  Eric Blake  <ebb9@byu.net>
70148
70149         * lib/freading.h: Improve comments.
70150         * lib/fwriting.h: Likewise.
70151         * lib/fflush.c: Likewise.
70152
70153         Fix closein for mingw.
70154         * modules/closein-tests: Add tests for closein.
70155         * tests/test-closein.c: New file.
70156         * tests/test-closein.sh: Likewise.
70157         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
70158         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
70159
70160 2007-04-27  Bruno Haible  <bruno@clisp.org>
70161
70162         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
70163         version is < 6.
70164         * lib/math_.h [__DECC]: Likewise.
70165         * lib/stdio_.h [__DECC]: Likewise.
70166         * lib/stdlib_.h [__DECC]: Likewise.
70167         * lib/string_.h [__DECC]: Likewise.
70168         * lib/time_.h [__DECC]: Likewise.
70169         * lib/wchar_.h [__DECC]: Likewise.
70170         * lib/wctype_.h [__DECC]: Likewise.
70171
70172 2007-04-27  Bruno Haible  <bruno@clisp.org>
70173
70174         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
70175
70176 2007-04-27  Bruno Haible  <bruno@clisp.org>
70177
70178         * lib/fflush.c: Add comments.
70179         * modules/fpurge-tests (Depends-on): Add fflush.
70180         * modules/freadable-tests (Depends-on): Likewise.
70181         * modules/fwritable-tests (Depends-on): Likewise.
70182
70183 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
70184
70185         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
70186         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
70187         Report by Bruno Haible <bruno@clisp.org>.
70188
70189 2007-04-26  Eric Blake  <ebb9@byu.net>
70190
70191         Fix fflush on mingw.
70192         * modules/fflush (Depends-on): Add freading.
70193         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
70194         but unread data.
70195
70196 2007-04-26  Eric Blake  <ebb9@byu.net>
70197         and Bruno Haible  <bruno@clisp.org>
70198
70199         Implement freading and fwriting.
70200         * lib/freading.c: New file.
70201         * lib/freading.h: Likewise.
70202         * m4/freading.m4: Likewise.
70203         * modules/freading: Likewise.
70204         * modules/freading-tests: Likewise.
70205         * tests/test-freading.c: Likewise.
70206         * lib/fwriting.c: New file.
70207         * lib/fwriting.h: Likewise.
70208         * m4/fwriting.m4: Likewise.
70209         * modules/fwriting: Likewise.
70210         * modules/fwriting-tests: Likewise.
70211         * tests/test-fwriting.c: Likewise.
70212         * MODULES.html.sh (File stream based Input/Output): Mention them.
70213
70214 2007-04-26  Bruno Haible  <bruno@clisp.org>
70215
70216         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
70217         'long' when we assume it.
70218         Suggested by Eric Blake.
70219
70220 2007-04-26  Bruno Haible  <bruno@clisp.org>
70221
70222         Ensure fseeko, ftello are declared on glibc systems.
70223         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
70224         * modules/fseeko (configure.ac-early): Likewise.
70225         * modules/ftello (configure.ac-early): Likewise.
70226         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
70227         AC_FUNC_FSEEKO for this.
70228         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
70229         (gl_CHECK_FSEEKO): Remove macro.
70230
70231 2007-04-26  Bruno Haible  <bruno@clisp.org>
70232
70233         * tests/test-fflush.c (main): Also check the ftell result after
70234         fflush and fseek/fseeko.
70235         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
70236         file descriptor position cache in the stream.
70237         * lib/fseeko.c (rpl_fseeko): Likewise.
70238
70239 2007-04-26  Bruno Haible  <bruno@clisp.org>
70240
70241         * modules/fflush-tests (Depends-on): Add fseeko.
70242
70243 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
70244             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70245
70246         * lib/argz_.h: ensure error_t definition is obtained in same
70247         mechanism system argz.h would have.
70248         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
70249         argz facilities are known bad.  Err on the side of caution if
70250         cross-compiling.
70251
70252 2007-04-25  Eric Blake  <ebb9@byu.net>
70253
70254         * lib/fpurge.c (includes): Use stdlib.h for free.
70255         * tests/test-fflush.c (main): Also test fflush-fseeko.
70256
70257 2007-04-25  Bruno Haible  <bruno@clisp.org>
70258
70259         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
70260         * lib/fseeko.c: New file.
70261         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
70262         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
70263         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
70264         gl_FUNC_FSEEKO.
70265         (gl_FUNC_FSEEKO): Invoke it.
70266         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
70267         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
70268         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
70269
70270 2007-04-25  Bruno Haible  <bruno@clisp.org>
70271
70272         * modules/fflush (Depends-on): Add ftello.
70273
70274 2007-04-25  Bruno Haible  <bruno@clisp.org>
70275
70276         * modules/ftello-tests: New file.
70277         * tests/test-ftello.c: New file.
70278
70279         * modules/ftello: New file.
70280         * m4/ftello.m4: New file.
70281         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
70282         HAVE_FTELLO.
70283         * lib/stdio_.h (ftello): New declaration.
70284         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
70285         HAVE_FTELLO.
70286
70287 2007-04-25  Bruno Haible  <bruno@clisp.org>
70288
70289         * modules/fseeko-tests: New file.
70290         * tests/test-fseeko.c: New file.
70291
70292         * modules/fseeko: New file.
70293         * m4/fseeko.m4: New file.
70294         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
70295         HAVE_FSEEKO.
70296         * lib/stdio_.h (fseeko): New declaration.
70297         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
70298         HAVE_FSEEKO.
70299
70300 2007-04-25  Bruno Haible  <bruno@clisp.org>
70301
70302         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
70303
70304 2007-04-25  Bruno Haible  <bruno@clisp.org>
70305
70306         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
70307         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
70308         * tests/test-unistd.c: Likewise.
70309         * tests/test-fcntl.c: Likewise.
70310
70311 2007-04-23  Eric Blake  <ebb9@byu.net>
70312
70313         * lib/fflush.c: Fix missing include.
70314         Reported by Bruno Haible.
70315
70316 2007-04-23  Bruno Haible  <bruno@clisp.org>
70317
70318         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
70319         Reported by Eric Blake.
70320
70321 2007-04-23  Bruno Haible  <bruno@clisp.org>
70322
70323         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
70324
70325 2007-04-23  Bruno Haible  <bruno@clisp.org>
70326
70327         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
70328
70329 2007-04-23  Bruno Haible  <bruno@clisp.org>
70330
70331         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
70332         Needed on HP-UX 11.
70333
70334 2007-04-16  Eric Blake  <ebb9@byu.net>
70335
70336         Make fflush rely on fpurge.
70337         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
70338         open coding all variants.
70339         * modules/fflush (Depends-on): Add fpurge and unistd.
70340         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
70341         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
70342
70343         Fix --with-tests compilation on cygwin.
70344         * modules/argmatch-tests (Makefile.am): List gnulib library first
70345         in LDADD.
70346         * modules/argp-tests (Makefile.am): Likewise.
70347         * modules/array-list-tests (Makefile.am): Likewise.
70348         * modules/array-oset-tests (Makefile.am): Likewise.
70349         * modules/avltree-list-tests (Makefile.am): Likewise.
70350         * modules/avltree-oset-tests (Makefile.am): Likewise.
70351         * modules/avltreehash-list-tests (Makefile.am): Likewise.
70352         * modules/carray-list-tests (Makefile.am): Likewise.
70353         * modules/dirname-tests (Makefile.am): Likewise.
70354         * modules/frexp-tests (Makefile.am): Likewise.
70355         * modules/isnanl-tests (Makefile.am): Likewise.
70356         * modules/linked-list-tests (Makefile.am): Likewise.
70357         * modules/linkedhash-list-tests (Makefile.am): Likewise.
70358         * modules/lock-tests (Makefile.am): Likewise.
70359         * modules/rbtree-list-tests (Makefile.am): Likewise.
70360         * modules/rbtree-oset-tests (Makefile.am): Likewise.
70361         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
70362         * modules/tls-tests (Makefile.am): Likewise.
70363         * modules/tsearch-tests (Makefile.am): Likewise.
70364         * modules/xvasprintf-tests (Makefile.am): Likewise.
70365
70366         Fix fpurge for cygwin.
70367         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
70368         value.
70369         * modules/fpurge-tests (Depends-on): Clean up trash.
70370
70371 2007-04-16  Simon Josefsson  <simon@josefsson.org>
70372
70373         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
70374
70375         * m4/autobuild.m4: Re-indent.
70376
70377 2007-04-13  Bruno Haible  <bruno@clisp.org>
70378
70379         * modules/fpurge-tests: New file.
70380         * tests/test-fpurge.c: New file.
70381
70382         * modules/fpurge: New file.
70383         * lib/fpurge.h: New file.
70384         * lib/fpurge.c: New file.
70385         * m4/fpurge.m4: New file.
70386
70387 2007-04-13  Bruno Haible  <bruno@clisp.org>
70388
70389         * modules/fbufmode-tests: New file.
70390         * tests/test-fbufmode.c: New file.
70391
70392         * modules/fbufmode: New file.
70393         * lib/fbufmode.h: New file.
70394         * lib/fbufmode.c: New file.
70395         * m4/fbufmode.m4: New file.
70396
70397 2007-04-13  Bruno Haible  <bruno@clisp.org>
70398
70399         * modules/fwritable-tests: New file.
70400         * tests/test-fwritable.c: New file.
70401
70402         * modules/fwritable: New file.
70403         * lib/fwritable.h: New file.
70404         * lib/fwritable.c: New file.
70405         * m4/fwritable.m4: New file.
70406
70407 2007-04-13  Bruno Haible  <bruno@clisp.org>
70408
70409         * modules/freadable-tests: New file.
70410         * tests/test-freadable.c: New file.
70411
70412         * modules/freadable: New file.
70413         * lib/freadable.h: New file.
70414         * lib/freadable.c: New file.
70415         * m4/freadable.m4: New file.
70416
70417 2007-04-13  Bruno Haible  <bruno@clisp.org>
70418
70419         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
70420         MOSTLYCLEANFILES.
70421
70422 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
70423
70424         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
70425         gzip bootstrap.conf to avoid dragging in i18n machinery.
70426         (gnulib_tool_option): Use it.
70427
70428 2007-04-13  Bruno Haible  <bruno@clisp.org>
70429
70430         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
70431         %F directives.
70432         * tests/test-vasprintf-posix.c (test_function): Likewise.
70433         * tests/test-snprintf-posix.h (test_function): Likewise.
70434         * tests/test-sprintf-posix.h (test_function): Likewise.
70435         * tests/test-fprintf-posix.h (test_function): Likewise.
70436         * tests/test-printf-posix.h (test_function): Likewise.
70437         * tests/test-fprintf-posix.out: Likewise.
70438
70439 2007-04-13  Bruno Haible  <bruno@clisp.org>
70440
70441         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
70442         * modules/tls-tests (configure.ac): Likewise.
70443         Reported by Arto C. Nirkko <anirkko@insel.ch>.
70444
70445 2007-04-13  Bruno Haible  <bruno@clisp.org>
70446
70447         * lib/tls.c (glthread_tls_get): Fix return type.
70448         Patch by Arto C. Nirkko <anirkko@insel.ch>.
70449
70450 2007-04-12  Eric Blake  <ebb9@byu.net>
70451
70452         * modules/gettime (Depends-on): Remove gettime.
70453         Reported by Dmitry V. Levin.
70454
70455 2007-04-12  Bruno Haible  <bruno@clisp.org>
70456
70457         * modules/fflush (Include): Mention <stdio.h>.
70458         * modules/strtoimax (Include): Mention <inttypes.h>.
70459         * modules/strtoumax (Include): Likewise.
70460
70461 2007-04-12  Eric Blake  <ebb9@byu.net>
70462
70463         * .cvsignore: New file.
70464         * .gitignore: Likewise.
70465
70466 2007-04-12  Bruno Haible  <bruno@clisp.org>
70467
70468         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
70469         not before, since $(LDADD) often contains libgnu.a.
70470         * modules/striconv-tests (test_striconv_LDADD): Likewise.
70471         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
70472         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
70473         Needed on Cygwin.
70474
70475 2007-04-12  Eric Blake  <ebb9@byu.net>
70476
70477         Work around glibc's failure to flush stdin on fclose.
70478         * lib/closein.c (close_stdin): Flush stdin before closing.
70479
70480         Work around glibc's failure to reset seekable stdin on exit.
70481         * modules/closein: New module.
70482         * lib/closein.c: New file.
70483         * lib/closein.h: Likewise.
70484         * m4/closein.m4: Likewise.
70485         * MODULES.html.sh (File stream based Input/Output): Document it.
70486
70487 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70488
70489         * gnulib-tool: Rename generated 'autobuild' script to
70490         'do-autobuild' in --create-megatestdir output.
70491
70492         * doc/gnulib.texi (Build robot for gnulib): Fix.
70493
70494 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70495
70496         * modules/sysexits (Depends-on): Add absolute-header.
70497
70498 2007-04-12  Eric Blake  <ebb9@byu.net>
70499
70500         No need to preserve errno on success.
70501         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
70502         Reported by Bruno Haible.
70503
70504 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70505
70506         * MODULES.html.sh (Support for maintaining and releasing
70507         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
70508
70509 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70510
70511         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
70512
70513 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70514
70515         * modules/autobuild: New module.
70516
70517         * m4/autobuild.m4: New file.
70518
70519 2007-04-11  Bruno Haible  <bruno@clisp.org>
70520
70521         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
70522         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
70523         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
70524         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
70525         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
70526         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70527         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70528         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70529         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70530         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70531         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
70532         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70533         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70534         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
70535         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70536         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70537         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
70538         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70539         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70540         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
70541         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70542         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70543         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
70544         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70545         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70546         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
70547         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70548         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70549         Reported by Eric Blake.
70550
70551 2007-04-11  Bruno Haible  <bruno@clisp.org>
70552
70553         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
70554
70555 2007-04-10  Bruno Haible  <bruno@clisp.org>
70556
70557         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
70558         for NaN and Infinity. Needed on FreeBSD 6.1.
70559         * tests/test-vasnprintf-posix.c (test_function): Undo last change
70560         regarding results for "%010a" of Infinity and NaN.
70561         * tests/test-vasprintf-posix.c (test_function): Likewise.
70562         * tests/test-snprintf-posix.h (test_function): Likewise.
70563         * tests/test-sprintf-posix.h (test_function): Likewise.
70564         * tests/test-fprintf-posix.h (test_function): Likewise.
70565         * tests/test-printf-posix.h (test_function): Likewise.
70566         * tests/test-fprintf-posix.out: Likewise.
70567
70568 2007-04-10  Bruno Haible  <bruno@clisp.org>
70569
70570         * modules/locale-tests: New file.
70571         * tests/test-locale.c: New file.
70572
70573         * modules/locale: New file.
70574         * lib/locale_.h: New file.
70575         * m4/locale_h.m4: New file.
70576
70577 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
70578             Bruno Haible  <bruno@clisp.org>
70579
70580         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
70581         be determined, test for availability of the copysignf, copysign,
70582         copysignl functions.
70583         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
70584         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
70585         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
70586
70587 2007-04-09  Eric Blake  <ebb9@byu.net>
70588
70589         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
70590         * modules/stdio (Makefile.am): Support fflush.
70591         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
70592         * modules/fflush: New file.
70593         * lib/fflush.c: Likewise.
70594         * m4/fflush.m4: Likewise.
70595         * modules/fflush-tests: New test.
70596         * tests/test-fflush.c: Likewise.
70597         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
70598
70599 2007-04-06  Bruno Haible  <bruno@clisp.org>
70600
70601         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
70602         (VASNPRINTF): Use signbit for faster determination whether to print a
70603         minus sign.
70604         * modules/vasnprintf (Files): Remove lib/float+.h.
70605         * modules/fprintf-posix (Depends-on): Add signbit.
70606         * modules/snprintf-posix (Depends-on): Likewise.
70607         * modules/sprintf-posix (Depends-on): Likewise.
70608         * modules/vasnprintf-posix (Depends-on): Likewise.
70609         * modules/vasprintf-posix (Depends-on): Likewise.
70610         * modules/vfprintf-posix (Depends-on): Likewise.
70611         * modules/vsnprintf-posix (Depends-on): Likewise.
70612         * modules/vsprintf-posix (Depends-on): Likewise.
70613
70614 2007-04-06  Bruno Haible  <bruno@clisp.org>
70615
70616         * tests/test-frexp.c (main): Test also the sign bit of zero results.
70617         * tests/test-frexpl.c (main): Likewise.
70618         * tests/test-ldexpl.c (main): Likewise.
70619         * modules/frexp-tests (Depends-on): Add signbit.
70620         * modules/frexpl-tests (Depdends-on): Likewise.
70621         * modules/ldexpl-tests (Depdends-on): Likewise.
70622
70623 2007-04-06  Bruno Haible  <bruno@clisp.org>
70624
70625         * modules/signbit-tests: New file.
70626         * tests/test-signbit.c: New file.
70627
70628         * modules/signbit: New file.
70629         * lib/signbitf.c: New file.
70630         * lib/signbitd.c: New file.
70631         * lib/signbitl.c: New file.
70632         * m4/signbit.m4: New file.
70633         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
70634         (signbit): New macro.
70635         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
70636         REPLACE_SIGNBIT.
70637         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
70638         REPLACE_FREXPL into math.h.
70639
70640 2007-04-06  Bruno Haible  <bruno@clisp.org>
70641
70642         * modules/isnanf-nolibm-tests: New file.
70643         * tests/test-isnanf.c: New file.
70644
70645         * modules/isnanf-nolibm: New file.
70646         * lib/isnanf.h: New file.
70647         * lib/isnanf.c: New file.
70648         * lib/isnan.c: Consider the USE_FLOAT macro.
70649         * m4/isnanf.m4: New file.
70650
70651 2007-04-06  Bruno Haible  <bruno@clisp.org>
70652
70653         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
70654         (Link): New section.
70655
70656         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
70657
70658 2007-04-06  Bruno Haible  <bruno@clisp.org>
70659
70660         Assume the 'long double' type.
70661         * m4/longdouble.m4: Remove file.
70662         * config/srclist.txt: Don't mention longdouble.m4.
70663         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
70664         * lib/float+.h: Likewise.
70665         * lib/frexp.c: Likewise.
70666         * lib/printf-args.h: Likewise.
70667         * lib/printf-args.c: Likewise.
70668         * lib/printf-frexp.c: Likewise.
70669         * lib/printf-parse.c: Likewise.
70670         * lib/vasnprintf.c: Likewise.
70671         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
70672         * m4/intl.m4: Likewise.
70673         * m4/isnanl.m4: Likewise.
70674         * m4/printf.m4: Likewise.
70675         * m4/printf-frexpl.m4: Likewise.
70676         * m4/vasnprintf.m4: Likewise.
70677         * modules/allocsa (Files): Remove m4/longdouble.m4.
70678         * modules/gettext (Files): Likewise.
70679         * modules/relocatable-prog-wrapper (Files): Likewise.
70680         * modules/vasnprintf (Files): Likewise.
70681         * modules/isnanl (Files): Likewise.
70682         (Include): Simplify.
70683         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
70684         (Include): Simplify.
70685         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
70686         (Include): Simplify.
70687         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
70688         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70689         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
70690         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70691         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70692         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70693         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
70694         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70695         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70696         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70697         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
70698         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70699         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
70700         * tests/test-isnanl.c: Likewise.
70701         * tests/test-snprintf-posix.h: Likewise.
70702         * tests/test-sprintf-posix.h: Likewise.
70703         * tests/test-vasnprintf-posix.c: Likewise.
70704         * tests/test-vasnprintf-posix2.c: Likewise.
70705         * tests/test-vasprintf-posix.c: Likewise.
70706
70707 2007-04-06  Bruno Haible  <bruno@clisp.org>
70708
70709         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
70710         * lib/math_.h [__DECC]: Include the overridden include file through
70711         #include_next, outside the double-inclusion guard.
70712         * lib/stdio_.h [__DECC]: Likewise.
70713         * lib/stdlib_.h [__DECC]: Likewise.
70714         * lib/string_.h [__DECC]: Likewise.
70715         * lib/time_.h [__DECC]: Likewise.
70716         * lib/wchar_.h [__DECC]: Likewise.
70717         * lib/wctype_.h [__DECC]: Likewise.
70718         * lib/inttypes_.h [__DECC]: Likewise.
70719         Reported by Albert Chin <china@thewrittenword.com> in
70720         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
70721
70722 2007-04-04  Eric Blake  <ebb9@byu.net>
70723
70724         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
70725         1.5.x.
70726
70727 2007-04-04  Bruno Haible  <bruno@clisp.org>
70728
70729         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
70730         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
70731
70732 2007-04-04  Bruno Haible  <bruno@clisp.org>
70733
70734         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
70735         results for "%010a" of Infinity and NaN.
70736         * tests/test-vasprintf-posix.c (test_function): Likewise.
70737         * tests/test-snprintf-posix.h (test_function): Likewise.
70738         * tests/test-sprintf-posix.h (test_function): Likewise.
70739         * tests/test-fprintf-posix.h (test_function): Remove these tests.
70740         * tests/test-printf-posix.h (test_function): Likewise.
70741         * tests/test-fprintf-posix.out: Update.
70742         Needed for FreeBSD 6.1.
70743
70744 2007-04-04  Bruno Haible  <bruno@clisp.org>
70745
70746         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
70747         directly used by the gnulib modules nor by gnulib-tool.
70748
70749 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
70750
70751         * DEPENDENCIES: Give overall description of version dependency
70752         desirability.  Use more-typical names for apps.
70753         Add shell, coreutils, diffutils, grep, tar, gzip.
70754
70755 2007-04-04  Simon Josefsson  <simon@josefsson.org>
70756
70757         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
70758
70759 2007-04-04  Karl Berry  <karl@gnu.org>
70760
70761         * MODULES.html.sh (func_module): missing '.
70762
70763 2007-04-03  Bruno Haible  <bruno@clisp.org>
70764
70765         * modules/argmatch-tests (Makefile.am): New variable
70766         test_argmatch_LDADD.
70767         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
70768         * modules/array-list-tests (Makefile.am): New variable
70769         test_array_list_LDADD.
70770         * modules/array-oset-tests (Makefile.am): New variable
70771         test_array_oset_LDADD.
70772         * modules/avltree-list-tests (Makefile.am): New variable
70773         test_avltree_list_LDADD.
70774         * modules/avltree-oset-tests (Makefile.am): New variable
70775         test_avltree_oset_LDADD.
70776         * modules/avltreehash-list-tests (Makefile.am): New variable
70777         test_avltreehash_list_LDADD.
70778         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
70779         test_canonicalize_lgpl_LDADD.
70780         * modules/carray-list-tests (Makefile.am): New variable
70781         test_carray_list_LDADD.
70782         * modules/dirname-tests (Makefile.am): New variable
70783         test_dirname_LDADD.
70784         * modules/linked-list-tests (Makefile.am): New variable
70785         test_linked_list_LDADD.
70786         * modules/linkedhash-list-tests (Makefile.am): New variable
70787         test_linkedhash_list_LDADD.
70788         * modules/rbtree-list-tests (Makefile.am): New variable
70789         test_rbtree_list_LDADD.
70790         * modules/rbtree-oset-tests (Makefile.am): New variable
70791         test_rbtree_oset_LDADD.
70792         * modules/rbtreehash-list-tests (Makefile.am): New variable
70793         test_rbtreehash_list_LDADD.
70794         * modules/xvasprintf-tests (Makefile.am): New variable
70795         test_xvasprintf_LDADD.
70796         Reported by Eric Blake.
70797
70798 2007-04-03  Eric Blake  <ebb9@byu.net>
70799
70800         * DEPENDENCIES: Weaken m4 requirements.
70801
70802 2007-04-03  Bruno Haible  <bruno@clisp.org>
70803
70804         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
70805         * modules/isnanl-tests (configure.ac): Likewise.
70806
70807 2007-04-03  Ben Pfaff  <blp@gnu.org>
70808
70809         * modules/iconv_open: Add $(srcdir)/ to source directory
70810         references in Makefile fragments that call gperf, to fix VPATH
70811         builds.
70812
70813 2007-04-03  Bruno Haible  <bruno@clisp.org>
70814
70815         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
70816         * lib/ldexpl.c: Undo last change.
70817
70818 2007-04-03  Bruno Haible  <bruno@clisp.org>
70819
70820         * modules/printf-frexpl (Depends-on): Undo last change.
70821         (Files): Add m4/ldexpl.m4.
70822
70823 2007-04-03  Bruno Haible  <bruno@clisp.org>
70824
70825         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
70826         * modules/isnanl (Link): New section.
70827
70828         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
70829         * modules/frexp (Link): New section.
70830
70831         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
70832         * modules/frexpl (Link): New section.
70833
70834         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
70835         * modules/ldexpl (Link): New section.
70836
70837 2007-04-03  Bruno Haible  <bruno@clisp.org>
70838
70839         * modules/TEMPLATE-EXTENDED: New file.
70840         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
70841
70842 2007-04-03  Bruno Haible  <bruno@clisp.org>
70843
70844         * DEPENDENCIES: New file.
70845         Suggested by Simon Josefsson.
70846
70847 2007-04-03  Bruno Haible  <bruno@clisp.org>
70848
70849         * doc/gnulib.texi: Escape @.
70850
70851 2007-04-03  James Youngman  <jay@gnu.org>
70852         and Paul Eggert  <eggert@cs.ucla.edu>
70853
70854         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
70855         birthtime on all systems that have birthtime, not just those which
70856         use st_birthtimensec rather than st_birthtim.  Putting zero in
70857         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
70858         that the birth time is not available for files on an NFS mount.
70859
70860 2007-04-03  Simon Josefsson  <simon@josefsson.org>
70861
70862         * modules/memxor: Move back from crypto/, suggested by Bruno.
70863         * modules/crypto/hmac-sha1: Fix memxor dependency.
70864
70865         * modules/crypto/gc: Moved from ../.
70866
70867 2007-04-02  Eric Blake  <ebb9@byu.net>
70868
70869         * lib/ldexpl.c (includes): Avoid libm.
70870
70871         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
70872
70873 2007-04-02  Bruno Haible  <bruno@clisp.org>
70874
70875         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
70876         on IRIX.
70877
70878 2007-04-02  Bruno Haible  <bruno@clisp.org>
70879
70880         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
70881         x86 or x86_64 platforms running MacOS X.
70882         Reported by Ryan Schmidt <@ryandesign.com>.
70883
70884 2007-04-02  Bruno Haible  <bruno@clisp.org>
70885
70886         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
70887         i386.
70888
70889 2007-04-01  Simon Josefsson  <simon@josefsson.org>
70890
70891         * modules/crypto/arcfour: Moved from ../.
70892         * modules/crypto/arcfour-tests: Moved from ../.
70893         * modules/crypto/arctwo: Moved from ../.
70894         * modules/crypto/arctwo-tests: Moved from ../.
70895         * modules/crypto/des: Moved from ../.
70896         * modules/crypto/des-tests: Moved from ../.
70897         * modules/crypto/gc-arcfour: Moved from ../.
70898         * modules/crypto/gc-arcfour-tests: Moved from ../.
70899         * modules/crypto/gc-arctwo: Moved from ../.
70900         * modules/crypto/gc-arctwo-tests: Moved from ../.
70901         * modules/crypto/gc-des: Moved from ../.
70902         * modules/crypto/gc-des-tests: Moved from ../.
70903         * modules/crypto/gc-hmac-md5: Moved from ../.
70904         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
70905         * modules/crypto/gc-hmac-sha1: Moved from ../.
70906         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
70907         * modules/crypto/gc-md2: Moved from ../.
70908         * modules/crypto/gc-md2-tests: Moved from ../.
70909         * modules/crypto/gc-md4: Moved from ../.
70910         * modules/crypto/gc-md4-tests: Moved from ../.
70911         * modules/crypto/gc-md5: Moved from ../.
70912         * modules/crypto/gc-md5-tests: Moved from ../.
70913         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
70914         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
70915         * modules/crypto/gc-random: Moved from ../.
70916         * modules/crypto/gc-rijndael: Moved from ../.
70917         * modules/crypto/gc-rijndael-tests: Moved from ../.
70918         * modules/crypto/gc-sha1: Moved from ../.
70919         * modules/crypto/gc-sha1-tests: Moved from ../.
70920         * modules/crypto/gc-tests: Moved from ../.
70921         * modules/crypto/hmac-md5: Moved from ../.
70922         * modules/crypto/hmac-md5-tests: Moved from ../.
70923         * modules/crypto/hmac-sha1: Moved from ../.
70924         * modules/crypto/hmac-sha1-tests: Moved from ../.
70925         * modules/crypto/md2: Moved from ../.
70926         * modules/crypto/md2-tests: Moved from ../.
70927         * modules/crypto/md4: Moved from ../.
70928         * modules/crypto/md4-tests: Moved from ../.
70929         * modules/crypto/md5: Moved from ../.
70930         * modules/crypto/md5-tests: Moved from ../.
70931         * modules/crypto/memxor: Moved from ../.
70932         * modules/crypto/rijndael: Moved from ../.
70933         * modules/crypto/rijndael-tests: Moved from ../.
70934         * modules/crypto/sha1: Moved from ../.
70935
70936 2007-03-30  James Youngman  <jay@gnu.org>
70937
70938         * tests/test-stat-time.c (prepare_test): use chmod() rather than
70939         rename() to change the ctime of a file (because ctime is unaffected
70940         by rename on jfs2 on AIX 5.1).
70941         (main): Start by doing cleanup, in case a previous run failed leaving
70942         test files behind.
70943
70944 2007-03-31  Bruno Haible  <bruno@clisp.org>
70945
70946         Support old proprietary implementations of iconv.
70947         * modules/iconv_open: New file.
70948         * lib/iconv_.h: New file.
70949         * m4/iconv_h.m4: New file.
70950         * lib/iconv_open.c: New file.
70951         * lib/iconv_open-aix.gperf: New file.
70952         * lib/iconv_open-hpux.gperf: New file.
70953         * lib/iconv_open-irix.gperf: New file.
70954         * lib/iconv_open-osf.gperf: New file.
70955         * m4/iconv_open.m4: New file.
70956         * modules/linebreak (Depends-on): Add iconv_open.
70957         * modules/striconv (Depends-on): Likewise.
70958         * modules/striconveh (Depends-on): Likewise.
70959         * modules/unicodeio (Depends-on): Likewise.
70960         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
70961         (iconv_t)(-1).
70962         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
70963         conversion if cd is (iconv_t)(-1).
70964         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
70965         is not possible.
70966
70967 2007-03-31  Bruno Haible  <bruno@clisp.org>
70968
70969         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70970         work on Solaris either. Protect also second use of "autodetect_jp".
70971
70972 2007-03-31  Bruno Haible  <bruno@clisp.org>
70973
70974         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
70975         the function is not present.
70976
70977 2007-03-31  Bruno Haible  <bruno@clisp.org>
70978
70979         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
70980         the function is not present.
70981
70982 2007-03-31  Bruno Haible  <bruno@clisp.org>
70983
70984         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
70985         a bug in HP-UX iconv_open().
70986
70987 2007-03-31  Bruno Haible  <bruno@clisp.org>
70988
70989         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
70990         (Mathematics <math.h>): New section, add fpieee.
70991         (Input/output <stdio.h>): Add fseterr.
70992         (Mathematics <math.h>): New section, add printf-frexp.
70993         (Container data structures): Add sublist.
70994         (Core language properties): Add fpucw, inline.
70995         (Functions for greatest-width integer types <inttypes.h>): Add
70996         imaxabs, imaxdiv, inttypes.
70997         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
70998         isnanl-nolibm, ldexp.
70999         (Mathematics <math.h>): New section, add printf-frexpl.
71000         (Support for systems lacking POSIX:2001): Add fprintf-posix,
71001         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
71002         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
71003         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
71004         (Unicode string functions): Add unistr/u*-mbtoucr.
71005         (Java): Add javacomp-script, javaexec-script.
71006         (C#): Add csharpcomp-script, csharpexec-script.
71007         (Support for building libraries and executables): Add havelib,
71008         relocatable-*.
71009         (Support for maintaining and releasing projects): Renamed from
71010         'Support for maintaining and release projects'. Add announce-gen.
71011
71012 2007-03-31  Bruno Haible  <bruno@clisp.org>
71013
71014         * README: Talk primarily about git.
71015         (git and CVS): Renamed from CVS.
71016         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
71017         gnulib is available through git.
71018         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
71019
71020 2007-03-30  Bruno Haible  <bruno@clisp.org>
71021
71022         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
71023         * lib/poll_.h: Likewise.
71024         * lib/stat_.h: Likewise.
71025         * lib/sys_time_.h: Likewise.
71026         * lib/sysexit_.h: Likewise.
71027         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
71028         * lib/stdbool_.h: Likewise.
71029         * lib/byteswap_.h: Add double-inclusion guard.
71030
71031 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
71032
71033         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
71034
71035 2007-03-30  Karl Berry  <karl@gnu.org>
71036
71037         * config/srclist-update: double space after USA in the license
71038         substitution, since that's how it's usually (?) written.
71039
71040 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
71041
71042         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
71043         reported by Bruno Haible.
71044
71045 2007-03-29  Bruno Haible  <bruno@clisp.org>
71046
71047         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
71048         a bug in AIX iconv().
71049
71050 2007-03-29  Bruno Haible  <bruno@clisp.org>
71051
71052         * modules/ldexpl-tests: New file.
71053         * tests/test-ldexpl.c: New file.
71054
71055 2007-03-29  Bruno Haible  <bruno@clisp.org>
71056
71057         * lib/ldexpl.c: Include fpucw.h.
71058         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
71059         multiplication.
71060         * modules/ldexpl (Depends-on): Add fpucw.
71061
71062 2007-03-29  Bruno Haible  <bruno@clisp.org>
71063
71064         * modules/ldexpl: New file.
71065         * m4/ldexpl.m4: New file.
71066         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
71067         set.
71068         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
71069         REPLACE_LDEXPL.
71070         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
71071         REPLACE_LDEXPL.
71072         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
71073         gl_FUNC_LDEXPL_WORKS.
71074         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
71075         * modules/mathl (Files): Remove lib/ldexpl.c.
71076         (Depends-on): Add ldexpl.
71077
71078 2007-03-29  Bruno Haible  <bruno@clisp.org>
71079
71080         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
71081
71082 2007-03-29  Bruno Haible  <bruno@clisp.org>
71083
71084         * tests/test-striconveh.c (main): Don't assume that a direct conversion
71085         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
71086         and possibly also HP-UX.
71087         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
71088         work on AIX, IRIX, HP-UX, OSF/1.
71089         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
71090         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
71091         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
71092         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
71093         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
71094         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
71095
71096 2007-03-29  Bruno Haible  <bruno@clisp.org>
71097
71098         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
71099
71100 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
71101
71102         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
71103         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
71104
71105 2007-03-29  Eric Blake  <ebb9@byu.net>
71106
71107         * lib/acl-internal.h: Remove redundant include.
71108         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
71109         Cygwin when a file is locked.
71110
71111 2007-03-29  Bruno Haible  <bruno@clisp.org>
71112
71113         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
71114         file.
71115         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
71116
71117 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
71118
71119         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
71120         try to remove a parent directory if the child couldn't be removed
71121         (except for the first rmdir, which could fail because the child
71122         doesn't exist).  Problem reported by Jeff Blaine in
71123         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
71124
71125 2007-03-28  Bruno Haible  <bruno@clisp.org>
71126
71127         * lib/striconveh.c (utf8conv_carefully): New function.
71128         (mem_cd_iconveh_internal): Invoke it.
71129
71130 2007-03-28  Bruno Haible  <bruno@clisp.org>
71131
71132         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
71133         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
71134         input.
71135         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
71136         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
71137         unistr/u8-uctomb.
71138
71139 2007-03-28  Bruno Haible  <bruno@clisp.org>
71140
71141         * modules/unistr/u8-mbtoucr: New file.
71142         * lib/unistr/u8-mbtoucr.c: New file.
71143         * modules/unistr/u16-mbtoucr: New file.
71144         * lib/unistr/u16-mbtoucr.c: New file.
71145         * modules/unistr/u16-mbtoucr: New file.
71146         * lib/unistr/u16-mbtoucr.c: New file.
71147         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
71148
71149 2007-03-27  Simon Josefsson  <simon@josefsson.org>
71150             Bruno Haible  <bruno@clisp.org>
71151
71152         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
71153         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
71154         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
71155
71156         * m4/stdio_h.m4: Add stubs for vasprintf too.
71157
71158         * modules/stdio: Support vasprintf in sed command.
71159
71160         * modules/vasprintf: Depend on stdio for prototypes.  Remove
71161         vasprintf.h.  Add stdio module indicator.
71162
71163         * lib/stdio_.h: Declare asprintf and vasprintf, based on
71164         vasprintf.h.
71165
71166         * lib/vasprintf.h: File removed.
71167
71168         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
71169         * lib/vasprintf.c: Ditto.
71170         * lib/xvasprintf.c: Ditto.
71171         * tests/test-vasprintf-posix.c: Ditto.
71172         * tests/test-vasprintf.c: Ditto.
71173
71174 2007-03-27  Bruno Haible  <bruno@clisp.org>
71175
71176         Make vasnprintf multithread-safe.
71177         * lib/vasnprintf.c (decimal_point_char): New function.
71178         (VASNPRINTF): Use it.
71179         Suggested by Simon Josefsson.
71180
71181 2007-03-27  Eric Blake  <ebb9@byu.net>
71182
71183         Support sub-second birthtime on cygwin.
71184         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
71185         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
71186         (get_stat_birthtime): Also work with st_birthtim.
71187
71188 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
71189
71190         * lib/stat-time.h (USE_BIRTHTIME): Remove.
71191         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
71192         (get_stat_birthtime_ns): Do not try to use "spare" fields.
71193         (get_stat_birthtime_ns): Simplify compile-time tests.
71194         (get_stat_birthtime): Change the API to look like
71195         get_stat_mtime etc., except return a negative tv_nsec on error.
71196         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
71197         Don't check for "spare" fields.
71198         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
71199         or for struct stat.st_birthtime, as these tests aren't used.
71200         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
71201
71202 2007-03-27  Bruno Haible  <bruno@clisp.org>
71203
71204         * lib/stat-time.h: Include <sys/stat.h>.
71205
71206 2007-03-27  James Youngman  <jay@gnu.org>
71207
71208         * lib/stat-time.h (get_stat_birthtime): New function for
71209           retrieving st_birthtime as provided by UFS2 (hence *BSD).
71210         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
71211           and its variants.
71212         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
71213         * modules/stat-time-test: New file.
71214         * tests/test-stat-time.c: New test, devised by Bruno Haible.
71215
71216 2007-03-26  Bruno Haible  <bruno@clisp.org>
71217
71218         Better support of signalling NaNs.
71219         * lib/atanl.c: Include isnanl.h.
71220         (atanl): Perform test for NaN at the beginning of the function and
71221         through a call to isnanl.
71222         * lib/cosl.c: Include isnanl.h.
71223         (cosl): Perform test for NaN at the beginning of the function and
71224         through a call to isnanl.
71225         * lib/ldexpl.c: Include isnanl.h.
71226         (ldexpl): Perform test for NaN through a call to isnanl.
71227         * lib/logl.c: Include isnanl.h.
71228         (logl): Perform test for NaN at the beginning of the function and
71229         through a call to isnanl.
71230         * lib/sinl.c: Include isnanl.h.
71231         (sinl): Perform test for NaN at the beginning of the function and
71232         through a call to isnanl.
71233         * lib/sqrtl.c: Include isnanl.h.
71234         (sqrtl): Perform test for NaN at the beginning of the function and
71235         through a call to isnanl.
71236         * lib/tanl.c: Include isnanl.h.
71237         (tanl): Perform test for NaN at the beginning of the function and
71238         through a call to isnanl.
71239         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
71240         * modules/mathl (Depends-on): Add isnanl.
71241
71242 2007-03-26  Eric Blake  <ebb9@byu.net>
71243
71244         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
71245         regression in logic sense of previous patch.
71246
71247 2007-03-26  Bruno Haible  <bruno@clisp.org>
71248
71249         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
71250         unportable shell command "if ! ...".
71251         Reported by Ralf Wildenhues.
71252
71253 2007-03-25  Bruno Haible  <bruno@clisp.org>
71254
71255         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
71256         <sysexits.h> file, and only add EX_CONFIG.
71257         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
71258         absolute file name and whether it is sufficient. Substitute also
71259         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
71260         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
71261         ABSOLUTE_SYSEXITS_H into sysexits.h.
71262
71263 2007-03-25  Bruno Haible  <bruno@clisp.org>
71264
71265         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
71266         hints is NULL.
71267
71268 2007-03-25  Bruno Haible  <bruno@clisp.org>
71269
71270         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
71271         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
71272
71273 2007-03-25  Bruno Haible  <bruno@clisp.org>
71274
71275         * lib/vasnprintf.c: Include langinfo.h.
71276         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
71277         multithread-safe.
71278         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
71279         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
71280         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
71281         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71282         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71283         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71284         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
71285         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
71286         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71287         Reported by Simon Josefsson.
71288
71289 2007-03-25  Bruno Haible  <bruno@clisp.org>
71290
71291         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
71292         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
71293         * modules/vasnprintf (Depends-on): Add stdint.
71294
71295 2007-03-25  Bruno Haible  <bruno@clisp.org>
71296
71297         * modules/fpieee: New file.
71298         * m4/fpieee.m4: New file.
71299         * modules/isnan-nolibm (Depends-on): Add fpieee.
71300         * modules/isnanl-nolibm (Depends-on): Add fpieee.
71301         * modules/isnanl (Depends-on): Add fpieee.
71302
71303 2007-03-25  Bruno Haible  <bruno@clisp.org>
71304
71305         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
71306
71307 2007-03-25  Bruno Haible  <bruno@clisp.org>
71308
71309         Avoid test failures on IRIX 6.5.
71310         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
71311         (main): Use it.
71312         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
71313         macros.
71314         (main): Use them.
71315
71316 2007-03-25  Bruno Haible  <bruno@clisp.org>
71317
71318         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
71319         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
71320         exists but doesn't work.
71321         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
71322         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
71323         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
71324         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
71325         math.h.
71326
71327 2007-03-25  Bruno Haible  <bruno@clisp.org>
71328
71329         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
71330         returns inf. Needed on IRIX 6.5.
71331
71332 2007-03-25  Bruno Haible  <bruno@clisp.org>
71333
71334         * tests/test-frexpl.c: Include isnanl-nolibm.h.
71335         (main): Use isnanl instead of x != x idiom.
71336         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
71337
71338         * tests/test-frexp.c: Include isnan.h.
71339         (main): Use isnan instead of x != x idiom.
71340         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
71341
71342 2007-03-25  Bruno Haible  <bruno@clisp.org>
71343
71344         * tests/test-frexp.c (NaN): New function/macro.
71345         (main): Use it instead of 0.0 / 0.0.
71346         * tests/test-isnan.c (NaN): New function/macro.
71347         (main): Use it instead of 0.0 / 0.0.
71348         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
71349         (test_function): Use it instead of 0.0 / 0.0.
71350         * tests/test-vasprintf-posix.c (NaN): New function/macro.
71351         (test_function): Use it instead of 0.0 / 0.0.
71352         * tests/test-snprintf-posix.h (NaN): New function/macro.
71353         (test_function): Use it instead of 0.0 / 0.0.
71354         * tests/test-sprintf-posix.h (NaN): New function/macro.
71355         (test_function): Use it instead of 0.0 / 0.0.
71356         * tests/test-fprintf-posix.h (NaN): New function/macro.
71357         (test_function): Use it instead of 0.0 / 0.0.
71358         * tests/test-printf-posix.h (NaN): New function/macro.
71359         (test_function): Use it instead of 0.0 / 0.0.
71360
71361         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
71362
71363 2007-03-25  Bruno Haible  <bruno@clisp.org>
71364
71365         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
71366
71367 2007-03-25  Bruno Haible  <bruno@clisp.org>
71368
71369         * lib/regexec.c (merge_state_with_log): Make static.
71370
71371 2007-03-25  Bruno Haible  <bruno@clisp.org>
71372
71373         * lib/trigl.c (kernel_rem_pio2): Make static.
71374
71375 2007-03-25  Bruno Haible  <bruno@clisp.org>
71376
71377         * lib/sincosl.c (sincosl_table): Make static.
71378
71379 2007-03-25  Bruno Haible  <bruno@clisp.org>
71380
71381         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
71382         if the compiler does not support C99.
71383
71384 2007-03-25  Bruno Haible  <bruno@clisp.org>
71385
71386         * modules/time (Makefile.am): Ensure all rule action lines start with a
71387         tab.
71388
71389 2007-03-24  Bruno Haible  <bruno@clisp.org>
71390
71391         * modules/tsearch-tests: New file.
71392         * tests/test-tsearch.sh: New file.
71393         * tests/test-tsearch.c: New file, mostly copied from glibc.
71394
71395         * modules/search-tests: New file.
71396         * tests/test-search.c: New file.
71397
71398         * modules/search: New file.
71399         * lib/search_.h: New file, incorporating lib/tsearch.h.
71400         * m4/search_h.m4: New file.
71401         * lib/tsearch.h: Remove file.
71402         * lib/tsearch.c: Include search.h instead of tsearch.h.
71403         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
71404         HAVE_TSEARCH.
71405         * modules/tsearch (Files): Remove lib/tsearch.h.
71406         (Depends-on): Add search.
71407         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
71408         (Include): Change tsearch.h into search.h.
71409
71410 2007-03-24  Bruno Haible  <bruno@clisp.org>
71411
71412         * modules/fpucw: New file.
71413         * lib/fpucw.h: New file.
71414         * lib/frexp.c: Include fpucw.h.
71415         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71416         (FUNC): Use them.
71417         * lib/printf-frexp.c: Include fpucw.h.
71418         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71419         (FUNC): Use them.
71420         * lib/vasnprintf.c: Include fpucw.h.
71421         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
71422         'long double' calculations.
71423         * tests/test-frexpl.c: Include fpucw.h.
71424         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71425         * tests/test-printf-frexpl.c: Include fpucw.h.
71426         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71427         * modules/frexpl (Depends-on): Add fpucw.
71428         * modules/printf-frexpl (Depends-on): Likewise.
71429         * modules/fprintf-posix (Depends-on): Likewise.
71430         * modules/snprintf-posix (Depends-on): Likewise.
71431         * modules/sprintf-posix (Depends-on): Likewise.
71432         * modules/vasnprintf-posix (Depends-on): Likewise.
71433         * modules/vasprintf-posix (Depends-on): Likewise.
71434         * modules/vfprintf-posix (Depends-on): Likewise.
71435         * modules/vsnprintf-posix (Depends-on): Likewise.
71436         * modules/vsprintf-posix (Depends-on): Likewise.
71437         * modules/frexpl-tests (Depends-on): Likewise.
71438         * modules/printf-frexpl-tests (Depends-on): Likewise.
71439
71440 2007-03-24  Bruno Haible  <bruno@clisp.org>
71441
71442         * lib/float+.h: New file.
71443         * lib/isnan.c: Include float+.h.
71444         (SIZE): New macro.
71445         (FUNC): Compare only SIZE bytes of the value.
71446         * lib/vasnprintf.c: Include float+.h.
71447         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
71448         SIZEOF_LDBL or SIZEOF_DBL bytes.
71449         * modules/isnan-nolibm (Files): Add lib/float+.h.
71450         * modules/isnanl-nolibm (Files): Add lib/float+.h.
71451         * modules/isnanl (Files): Add lib/float+.h.
71452         * modules/vasnprintf (Files): Add lib/float+.h.
71453
71454 2007-03-24  Bruno Haible  <bruno@clisp.org>
71455
71456         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
71457         include isnanl-nolibm.h.
71458
71459 2007-03-24  Bruno Haible  <bruno@clisp.org>
71460
71461         * tests/test-read-file.c (main): Don't produce spurious output for
71462         expected situations. Make the test fail if it encountered unexpected
71463         results.
71464
71465 2007-03-24  Bruno Haible  <bruno@clisp.org>
71466
71467         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
71468         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
71469
71470 2007-03-24  Bruno Haible  <bruno@clisp.org>
71471
71472         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
71473
71474 2007-03-24  Bruno Haible  <bruno@clisp.org>
71475
71476         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
71477         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
71478
71479         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
71480         * modules/utf8-ucs4: Turn into a symbolic link to module
71481         unistr/u8-mbtouc.
71482
71483         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
71484         utf8-ucs4-unsafe.
71485         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
71486         unistr/u8-mbtouc-unsafe.
71487
71488         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
71489         * modules/utf16-ucs4: Turn into a symbolic link to module
71490         unistr/u16-mbtouc.
71491
71492         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
71493         utf16-ucs4-unsafe.
71494         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
71495         unistr/u16-mbtouc-unsafe.
71496
71497         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
71498         * modules/ucs4-utf8: Turn into a symbolic link to module
71499         unistr/u8-ubtomb.
71500
71501         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
71502         * modules/ucs4-utf16: Turn into a symbolic link to module
71503         unistr/u16-ubtomb.
71504
71505 2007-03-24  Bruno Haible  <bruno@clisp.org>
71506
71507         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
71508         Enable the function only if HAVE_INLINE.
71509         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
71510         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71511         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
71512         Enable the function only if HAVE_INLINE.
71513         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
71514         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71515         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
71516         Enable the function only if HAVE_INLINE.
71517         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
71518         Enable the function only if HAVE_INLINE.
71519         * modules/utf8-ucs4: Update.
71520         * modules/utf8-ucs4-unsafe: Update.
71521         * modules/utf16-ucs4: Update.
71522         * modules/utf16-ucs4-unsafe: Update.
71523         * modules/ucs4-utf8: Update.
71524         * modules/ucs4-utf16: Update.
71525
71526 2007-03-24  Bruno Haible  <bruno@clisp.org>
71527
71528         * lib/utf8-ucs4.h: Remove file.
71529         * lib/utf8-ucs4-unsafe.h: Remove file.
71530         * lib/utf16-ucs4.h: Remove file.
71531         * lib/utf16-ucs4-unsafe.h: Remove file.
71532         * lib/ucs4-utf8.h: Remove file.
71533         * lib/ucs4-utf16.h: Remove file.
71534         * lib/unistr.h: Include their previous contents.
71535         * m4/utf-ucs4.m4: Remove file.
71536         * m4/ucs4-utf.m4: Remove file.
71537         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
71538         (Depends-on): Add unistr/base.
71539         (configure.ac): Remove gl_UTF_UCS4.
71540         (Makefile.am): Update.
71541         (Include): Change to unistr.h.
71542         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
71543         (Depends-on): Add unistr/base.
71544         (configure.ac): Remove gl_UTF_UCS4.
71545         (Makefile.am): Update.
71546         (Include): Change to unistr.h.
71547         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
71548         (Depends-on): Add unistr/base.
71549         (configure.ac): Remove gl_UTF_UCS4.
71550         (Makefile.am): Update.
71551         (Include): Change to unistr.h.
71552         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
71553         (Depends-on): Add unistr/base.
71554         (configure.ac): Remove gl_UTF_UCS4.
71555         (Makefile.am): Update.
71556         (Include): Change to unistr.h.
71557         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
71558         (Depends-on): Add unistr/base.
71559         (configure.ac): Remove gl_UCS4_UTF.
71560         (Makefile.am): Update.
71561         (Include): Change to unistr.h.
71562         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
71563         (Depends-on): Add unistr/base.
71564         (configure.ac): Remove gl_UCS4_UTF.
71565         (Makefile.am): Update.
71566         (Include): Change to unistr.h.
71567         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
71568         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
71569         utf8-ucs4-unsafe.h.
71570         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
71571         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
71572         utf16-ucs4-unsafe.h.
71573         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
71574         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
71575         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
71576         * lib/unistr/u8-strchr.c: Likewise.
71577         * lib/unistr/u8-strrchr.c: Likewise.
71578         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
71579         * lib/unistr/u16-strchr.c: Likewise.
71580         * lib/unistr/u16-strrchr.c: Likewise.
71581         * lib/striconveh.c: Update.
71582         * lib/linebreak.c: Update.
71583
71584 2007-03-24  Bruno Haible  <bruno@clisp.org>
71585
71586         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
71587         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
71588
71589 2007-03-22  Bruno Haible  <bruno@clisp.org>
71590
71591         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
71592
71593 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
71594
71595         * MODULES.html.sh (File system functions): New module write-any-file.
71596         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
71597         * m4/write-any-file.m4: New files.
71598
71599 2007-03-23  Eric Blake  <ebb9@byu.net>
71600
71601         * gnulib-tool: Rearrange space-tab sequences, since some editors
71602         like to eat them.
71603
71604 2007-03-23  Eric Blake  <ebb9@byu.net>
71605
71606         * lib/version-etc.c (version_etc_va): Update license wording to
71607         be more concise.  Recommended by Richard Stallman.
71608
71609 2007-03-22  Bruno Haible  <bruno@clisp.org>
71610
71611         * lib/poll.c (MSG_PEEK): New fallback definition.
71612
71613 2007-03-22  Bruno Haible  <bruno@clisp.org>
71614
71615         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
71616         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
71617         (main): Update.
71618         Fixes a compilation error on BeOS.
71619
71620 2007-03-22  Bruno Haible  <bruno@clisp.org>
71621
71622         * modules/frexpl-tests: New file.
71623         * tests/test-frexpl.c: New file.
71624
71625         * modules/frexpl: New file.
71626         * m4/frexpl.m4: New file.
71627         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
71628         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
71629         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
71630         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
71631         (Depends-on): Add frexpl. Remove isnanl-nolibm.
71632         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
71633
71634 2007-03-22  Bruno Haible  <bruno@clisp.org>
71635
71636         * lib/frexpl.c: Share code with lib/frexp.c.
71637         * modules/mathl (Files): Add lib/frexp.c.
71638         (Depends-on): Add isnanl-nolibm.
71639
71640 2007-03-22  Bruno Haible  <bruno@clisp.org>
71641
71642         * modules/printf-frexp (Files): Add m4/frexp.m4.
71643         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
71644         only if the found frexp function actually works.
71645
71646 2007-03-22  Bruno Haible  <bruno@clisp.org>
71647
71648         * lib/frexp.c: Remove older implementation that uses divisions.
71649
71650 2007-03-21  Bruno Haible  <bruno@clisp.org>
71651
71652         * modules/frexp-tests: New file.
71653         * tests/test-frexp.c: New file.
71654
71655         * modules/frexp: New file.
71656         * lib/frexp.c: New file.
71657         * m4/frexp.m4: New file.
71658         * lib/math_.h (frexp): New declaration.
71659         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
71660         REPLACE_FREXP.
71661         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
71662
71663 2007-03-21  Bruno Haible  <bruno@clisp.org>
71664
71665         * modules/isnanl-tests: New file.
71666         * tests/test-isnanl.c: New file.
71667
71668         * modules/isnanl: New file.
71669         * lib/isnanl.h: New file.
71670         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
71671         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
71672         gl_FUNC_ISNANL_WORKS.
71673         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
71674         New macros.
71675
71676 2007-03-21  Bruno Haible  <bruno@clisp.org>
71677
71678         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
71679         lib/isnanl.h.
71680         (Include): Update.
71681         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
71682         * lib/vasnprintf.c: Update.
71683         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
71684         tests/test-isnanl.h, remove tests/test-isnanl.c.
71685         (Makefile.am): Update.
71686         * tests/test-isnanl-nolibm.c: New file.
71687         * tests/test-isnanl.h: New file.
71688         * tests/test-isnanl.c: Remove file.
71689
71690 2007-03-21  Jim Meyering  <jim@meyering.net>
71691
71692         When trying to open ".", treat ESTALE like EACCES.
71693         * lib/savewd.c (savewd_save): Resort to forking not just upon
71694         failure with EACCES, but also when errno is ESTALE.
71695
71696 2007-03-20  Bruno Haible  <bruno@clisp.org>
71697
71698         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
71699         Needed on AIX 5.1. Reported by Matthew Woehlke.
71700
71701 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71702
71703         Suggestions by Bruno Haible:
71704         * lib/acl-internal.h: Include "gettext.h" rather than rolling
71705         our own.
71706         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
71707         * modules/acl (Depends-on): Add gettext.
71708
71709 2007-03-19  Bruno Haible  <bruno@clisp.org>
71710
71711         * modules/iconvme: Remove file.
71712         * lib/iconvme.h: Remove file.
71713         * lib/iconvme.c: Remove file.
71714         * m4/iconvme.m4: Remove file.
71715
71716 2007-03-19  Bruno Haible  <bruno@clisp.org>
71717
71718         * doc/relocatable-maint.texi: Break long shell script line.
71719         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71720
71721 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71722
71723         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
71724         handle file_has_acl.
71725         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
71726         * lib/acl.c: Move header inclusions and related macro defns into
71727         lib/acl-internal.h.
71728         (S_ISLNK): Remove defn, since that's now done for us.
71729         (file_has_acl): Move to lib/file-has-acl.c.
71730         Call acl_trivial if available.  This is the crucial part of the fix.
71731         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
71732         shared within the library.  Rewrite a bit, partly to make it compatible
71733         with the GNU coding style.
71734         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
71735         Remove unnecessary double-quotes.
71736         Don't test for acl_to_text; the build will catch that.
71737         Replace acl_entries if it doesn't exist and it is needed.
71738         Check for -lsec and acl_trivial (as used on Solaris 10).
71739         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
71740         lib/file-has-acl.c.
71741         (Depends-on): Add sys_stat, for S_ISLNK.
71742
71743 2007-03-19  Ben Pfaff  <blp@gnu.org>
71744
71745         * doc/gnulib.texi: Fix typos.
71746         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71747
71748 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71749
71750         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
71751         If size is zero here, buf must be zero.
71752
71753 2007-03-19  Simon Josefsson  <simon@josefsson.org>
71754
71755         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
71756         <bruno@clisp.org>.
71757
71758 2007-03-18  Bruno Haible  <bruno@clisp.org>
71759
71760         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
71761         Suggested by Eric Blake.
71762
71763 2007-03-18  Ben Pfaff  <blp@gnu.org>
71764
71765         * doc/relocatable.texi: Recommend using as prefix a directory
71766         that does not exist and will never be created.  Based on
71767         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
71768         and others.
71769
71770 2007-03-17  Bruno Haible  <bruno@clisp.org>
71771
71772         * lib/fchownat.c: Include lchown.h.
71773
71774 2007-03-17  Bruno Haible  <bruno@clisp.org>
71775
71776         Fix endless loop when the given allocated size was > INT_MAX.
71777         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
71778         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
71779         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
71780         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
71781         * lib/sprintf.c (sprintf): Likewise.
71782
71783 2007-03-17  Bruno Haible  <bruno@clisp.org>
71784
71785         * tests/test-argp-2.sh (func_compare): Output a context diff.
71786
71787 2007-03-17  Bruno Haible  <bruno@clisp.org>
71788
71789         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
71790         locale's decimal-point character.
71791
71792 2007-03-17  Bruno Haible  <bruno@clisp.org>
71793
71794         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
71795         before comparing it. Needed because on some platforms (e.g. x86) a
71796         'long double' occupies less bytes than sizeof (long double).
71797
71798 2007-03-17  Bruno Haible  <bruno@clisp.org>
71799
71800         * tests/test-crc.c (main): Make printf statements 64-bit clean.
71801         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
71802         * tests/test-getaddrinfo.c (simple): Likewise.
71803         * tests/test-read-file.c (main): Likewise.
71804
71805 2007-03-17  Bruno Haible  <bruno@clisp.org>
71806
71807         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
71808
71809 2007-03-17  Bruno Haible  <bruno@clisp.org>
71810
71811         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
71812         unused variable.
71813
71814 2007-03-17  Bruno Haible  <bruno@clisp.org>
71815
71816         * tests/test-c-strcasecmp.c: Include c-strcase.h.
71817         * tests/test-c-strncasecmp.c: Likewise.
71818
71819 2007-03-17  Bruno Haible  <bruno@clisp.org>
71820
71821         * modules/stdlib (Depends-on): Add unistd.
71822         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
71823         Needed for MacOS X 10.3.
71824
71825 2007-03-17  Bruno Haible  <bruno@clisp.org>
71826
71827         * lib/unistr/u-strdup.h: Include <stdlib.h>.
71828
71829 2007-03-17  Bruno Haible  <bruno@clisp.org>
71830
71831         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
71832
71833 2007-03-17  Bruno Haible  <bruno@clisp.org>
71834
71835         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
71836         to reflect files copied from gnulib (with or without modifications).
71837         Suggested by Jim Meyering.
71838
71839 2007-03-17  Eric Blake  <ebb9@byu.net>
71840
71841         * NEWS: Document stdlib change from 2007-02-18.
71842
71843 2007-03-17  Jim Meyering  <jim@meyering.net>
71844
71845         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
71846         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
71847         someone uses a name containing shell meta-characters.
71848         Reported by Alfred M. Szmidt.
71849
71850         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
71851
71852 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71853
71854         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
71855         and copy gettext configuration files only if configure.ac contains
71856         a use of AM_GNU_GETTEXT_VERSION.
71857
71858 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71859
71860         * build-aux/bootstrap (gnulib_name): New variable.
71861         (gnulib_tool_options): Use it.
71862
71863 2007-03-13  Simon Josefsson  <simon@josefsson.org>
71864
71865         * tests/test-des.c: Use new namespace.
71866
71867 2007-03-15  Bruno Haible  <bruno@clisp.org>
71868
71869         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
71870         Reported by James Youngman <jay@gnu.org>.
71871
71872 2007-03-15  Bruno Haible  <bruno@clisp.org>
71873
71874         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
71875         declared prototype. Needed with cc on OSF/1 5.1.
71876
71877 2007-03-15  Bruno Haible  <bruno@clisp.org>
71878
71879         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
71880         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
71881         (struct gl_list_implementation): Add dispose_fn argument to the
71882         'create_empty', 'create' methods.
71883         (struct gl_list_impl_base): Add field 'dispose_fn'.
71884         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
71885         argument.
71886         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
71887         dispose_fn argument.
71888         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
71889         dispose_fn on the dropped values.
71890         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
71891         dispose_fn argument.
71892         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
71893         dropped values.
71894         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
71895         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71896         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
71897         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71898         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
71899         argument.
71900         (gl_tree_list_free): Call dispose_fn on the dropped values.
71901         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
71902         the dropped values.
71903         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
71904         Add dispose_fn argument.
71905         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
71906         Call dispose_fn on the dropped values.
71907         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
71908         Add dispose_fn argument.
71909         (gl_sublist_create): Initialize the 'dispose_fn' field.
71910         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
71911         * tests/test-array_list.c (main): Update.
71912         * tests/test-carray_list.c (main): Update.
71913         * tests/test-avltree_list.c (main): Update.
71914         * tests/test-rbtree_list.c (main): Update.
71915         * tests/test-avltreehash_list.c (main): Update.
71916         * tests/test-rbtreehash_list.c (main): Update.
71917         * tests/test-linked_list.c (main): Update.
71918         * tests/test-linkedhash_list.c (main): Update.
71919         * tests/test-array_oset.c (main): Update.
71920
71921 2007-03-15  Bruno Haible  <bruno@clisp.org>
71922
71923         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
71924         (gl_oset_create_empty): Add dispose_fn argument.
71925         (struct gl_oset_implementation): Add dispose_fn argument to
71926         'create_empty' method.
71927         (struct gl_oset_impl_base): Add dispose_fn field.
71928         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
71929         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
71930         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
71931         values.
71932         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
71933         (gl_tree_oset_free): Call dispose_fn on the dropped values.
71934         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71935         dropped value.
71936         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71937         dropped value.
71938         * tests/test-array_oset.c (main): Update.
71939         * tests/test-avltree_oset.c (main): Update.
71940         * tests/test-rbtree_oset.c (main): Update.
71941         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
71942
71943 2007-03-13  Bruno Haible  <bruno@clisp.org>
71944
71945         * tests/test-stdbool.c (i): Update after last patch.
71946
71947 2007-03-12  Bruno Haible  <bruno@clisp.org>
71948
71949         * lib/quotearg.c: Include <wctype.h> early, before the definition of
71950         the iswprint macro. Needed on Solaris 2.5.1.
71951
71952 2007-03-12  Bruno Haible  <bruno@clisp.org>
71953
71954         * tests/test-printf-frexp.c (main): Declare x as volatile.
71955
71956 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71957
71958         * doc/gnulib.texi (Build robot for gnulib): New section.
71959
71960 2007-03-12  Jim Meyering  <jim@meyering.net>
71961
71962         * build-aux/bootstrap: New file.
71963         * build-aux/bootstrap.conf: New file, from coreutils.
71964
71965 2007-03-11  Bruno Haible  <bruno@clisp.org>
71966
71967         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
71968
71969 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71970
71971         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
71972         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
71973         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
71974
71975 2007-03-11  Bruno Haible  <bruno@clisp.org>
71976
71977         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
71978         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
71979
71980 2007-03-11  Bruno Haible  <bruno@clisp.org>
71981
71982         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
71983         formula. Needed for SunPRO C 5.0.
71984
71985 2007-03-11  Bruno Haible  <bruno@clisp.org>
71986
71987         * modules/long-options (Depends-on): Add getopt.
71988
71989 2007-03-11  Bruno Haible  <bruno@clisp.org>
71990
71991         * modules/modechange (Depends-on): Add stdbool.
71992
71993 2007-03-11  Bruno Haible  <bruno@clisp.org>
71994
71995         * modules/i-ring (Depends-on): Add stdbool.
71996
71997 2007-03-11  Bruno Haible  <bruno@clisp.org>
71998
71999         * modules/gc-des (Depends-on): Add stdbool.
72000
72001 2007-03-11  Bruno Haible  <bruno@clisp.org>
72002
72003         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
72004
72005 2007-03-11  Bruno Haible  <bruno@clisp.org>
72006
72007         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
72008
72009 2007-03-11  Bruno Haible  <bruno@clisp.org>
72010
72011         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
72012
72013 2007-03-11  Bruno Haible  <bruno@clisp.org>
72014
72015         * lib/vasnprintf.c (sprintf): Undefine.
72016
72017 2007-03-11  Bruno Haible  <bruno@clisp.org>
72018
72019         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
72020         initializers in SunPRO C and Compaq C compilers.
72021
72022 2007-03-11  Bruno Haible  <bruno@clisp.org>
72023
72024         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
72025         decrementing code ANSI C compliant.
72026
72027 2007-03-11  Bruno Haible  <bruno@clisp.org>
72028
72029         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
72030         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
72031
72032 2007-03-11  Bruno Haible  <bruno@clisp.org>
72033
72034         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
72035         <stdbool.h> substitute doesn't pass.
72036
72037 2007-03-11  Bruno Haible  <bruno@clisp.org>
72038
72039         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
72040
72041 2007-03-11  Bruno Haible  <bruno@clisp.org>
72042
72043         * gnulib-tool (func_create_megatestdir): Create also an autobuild
72044         script, for submission to autobuild.josefsson.org.
72045
72046 2007-03-10  Bruno Haible  <bruno@clisp.org>
72047
72048         * modules/canonicalize-lgpl-tests: New file.
72049         * tests/test-canonicalize-lgpl.sh: New file.
72050         * tests/test-canonicalize-lgpl.c: New file.
72051
72052         * modules/c-strcase-tests: New file.
72053         * tests/test-c-strcase.sh: New file.
72054         * tests/test-c-strcasecmp.c: New file.
72055         * tests/test-c-strncasecmp.c: New file.
72056
72057         * modules/atexit-tests: New file.
72058         * tests/test-atexit.sh: New file.
72059         * tests/test-atexit.c: New file.
72060
72061 2007-03-10  Bruno Haible  <bruno@clisp.org>
72062
72063         * tests/test-binary-io.sh: Use temporary filenames that are not so
72064         likely to clash with those of other tests (in a parallel make).
72065         * tests/test-binary-io.c: Likewise.
72066
72067 2007-03-10  Bruno Haible  <bruno@clisp.org>
72068
72069         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
72070         fallback; use #error instead.
72071         Suggested by Simon Josefsson.
72072
72073 2007-03-10  Bruno Haible  <bruno@clisp.org>
72074
72075         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
72076         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
72077         first and the last.
72078
72079 2007-03-10  Bruno Haible  <bruno@clisp.org>
72080
72081         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
72082
72083 2007-03-10  Bruno Haible  <bruno@clisp.org>
72084
72085         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
72086         "make distcheck".
72087         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
72088         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
72089         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
72090
72091 2007-03-10  Bruno Haible  <bruno@clisp.org>
72092
72093         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
72094         variable.
72095         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
72096         variable.
72097
72098 2007-03-09  Eric Blake  <ebb9@byu.net>
72099         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
72100
72101         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
72102         types are not being provided by gnulib.
72103         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
72104         types are supported.
72105
72106 2007-03-10  Bruno Haible  <bruno@clisp.org>
72107
72108         * lib/stdio_.h (__attribute__): New macro.
72109         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
72110         vsprintf): Specify __attribute__ __format__ for GCC.
72111         Suggested by Eric Blake.
72112
72113 2007-03-09  Bruno Haible  <bruno@clisp.org>
72114
72115         * modules/printf-posix-tests: New file.
72116         * tests/test-printf-posix.sh: New file.
72117         * tests/test-printf-posix.c: New file.
72118
72119         * modules/printf-posix: New file.
72120         * lib/printf.c: New file.
72121         * m4/printf-posix-rpl.m4: New file.
72122         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
72123         REPLACE_PRINTF.
72124         * lib/stdio_.h (printf): New declaration.
72125         (format, __format__, ____printf____, ____scanf____, ____strftime____,
72126         ____strfmon____): New macros.
72127         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
72128         REPLACE_PRINTF.
72129
72130 2007-03-09  Bruno Haible  <bruno@clisp.org>
72131
72132         * tests/test-vasnprintf-posix2.sh: New file.
72133         * tests/test-vasnprintf-posix2.c: New file.
72134         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
72135         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
72136         (Makefile.am): Activate test-vasnprintf-posix2.sh.
72137
72138         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
72139         a locale dependent decimal point, rather than always '.'.
72140
72141 2007-03-09  Eric Blake  <ebb9@byu.net>
72142
72143         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
72144         spite of platforms like Tandem/NSK that define it to -1.
72145
72146 2007-03-08  Bruno Haible  <bruno@clisp.org>
72147
72148         * modules/vprintf-posix-tests: New file.
72149         * tests/test-vprintf-posix.sh: New file.
72150         * tests/test-vprintf-posix.c: New file.
72151         * tests/test-printf-posix.h: New file.
72152
72153         * modules/vprintf-posix: New file.
72154         * lib/vprintf.c: New file.
72155         * m4/vprintf-posix.m4: New file.
72156         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
72157         REPLACE_VPRINTF.
72158         * lib/stdio_.h (vprintf): New declaration.
72159         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
72160         REPLACE_VPRINTF.
72161
72162 2007-03-08  Bruno Haible  <bruno@clisp.org>
72163
72164         * modules/fprintf-posix-tests: New file.
72165         * tests/test-fprintf-posix.sh: New file.
72166         * tests/test-fprintf-posix.c: New file.
72167
72168         * modules/fprintf-posix: New file.
72169         * lib/fprintf.c: New file.
72170         * m4/fprintf-posix.m4: New file.
72171         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
72172         REPLACE_FPRINTF.
72173         * lib/stdio_.h (fprintf): New declaration.
72174         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
72175         REPLACE_FPRINTF.
72176
72177 2007-03-08  Bruno Haible  <bruno@clisp.org>
72178
72179         * modules/vfprintf-posix-tests: New file.
72180         * tests/test-vfprintf-posix.sh: New file.
72181         * tests/test-vfprintf-posix.c: New file.
72182         * tests/test-fprintf-posix.h: New file.
72183         * tests/test-fprintf-posix.out: New file.
72184
72185         * modules/vfprintf-posix: New file.
72186         * lib/vfprintf.c: New file.
72187         * m4/vfprintf-posix.m4: New file.
72188         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
72189         REPLACE_VFPRINTF.
72190         * lib/stdio_.h (vfprintf): New declaration.
72191         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
72192         REPLACE_VFPRINTF.
72193
72194 2007-03-08  Bruno Haible  <bruno@clisp.org>
72195
72196         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
72197
72198 2007-03-08  Bruno Haible  <bruno@clisp.org>
72199
72200         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
72201         instead of 'expr' invocations.
72202         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
72203         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
72204         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
72205         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
72206         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
72207         Suggested by Paul Eggert.
72208
72209 2007-03-08  Bruno Haible  <bruno@clisp.org>
72210
72211         * modules/fseterr-tests: New file.
72212         * tests/test-fseterr.c: New file.
72213
72214         * modules/fseterr: New file.
72215         * lib/fseterr.h: New file.
72216         * lib/fseterr.c: New file.
72217
72218 2007-03-08  Bruno Haible  <bruno@clisp.org>
72219
72220         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
72221         * lib/getopt_.h: Likewise.
72222         * lib/mbswidth.h: Likewise.
72223         * lib/setenv.h: Likewise.
72224         * lib/vasnprintf.h: Likewise.
72225         * lib/vasprintf.h: Likewise.
72226         * lib/verror.h: Likewise.
72227         * lib/xsetenv.h: Likewise.
72228         * lib/xvasprintf.h: Likewise.
72229
72230 2007-03-08  Jim Meyering  <jim@meyering.net>
72231
72232         * users.txt: Add parted.
72233
72234         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
72235
72236 2007-03-07  Bruno Haible  <bruno@clisp.org>
72237
72238         * m4/printf.m4: Make the shell script snippets copy&pastable.
72239
72240 2007-03-02  Bruno Haible  <bruno@clisp.org>
72241
72242         * lib/netinet_in_.h: New file.
72243         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
72244         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
72245         * modules/netinet_in (Files): Add lib/netinet_in_.h.
72246         (Depends-on): Add absolute-header.
72247         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
72248         into netinet/in.h.
72249
72250 2007-03-03  Bruno Haible  <bruno@clisp.org>
72251
72252         * lib/sys_select_.h: New file.
72253         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
72254         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
72255         * modules/sys_select (Files): Add lib/sys_select_.h.
72256         (Depends-on): Add absolute-header.
72257         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
72258         into sys/select.h.
72259
72260 2007-03-02  Bruno Haible  <bruno@clisp.org>
72261
72262         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
72263         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
72264         values.
72265         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
72266         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
72267         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
72268         * modules/sys_socket (Depends-on): Add absolute-header.
72269         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
72270         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
72271         (Include): Remove requirement of inclusion of <sys/types.h>.
72272
72273 2007-03-02  Bruno Haible  <bruno@clisp.org>
72274
72275         * lib/byteswap_.h (bswap_32): Fix formula.
72276
72277 2007-03-06  Bruno Haible  <bruno@clisp.org>
72278
72279         * modules/sprintf-posix-tests: New file.
72280         * tests/test-sprintf-posix.c: New file.
72281
72282         * modules/sprintf-posix: New file.
72283         * lib/sprintf.c: New file.
72284         * m4/sprintf-posix.m4: New file.
72285         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
72286         REPLACE_SPRINTF.
72287         * lib/stdio_.h (sprintf): New declaration.
72288         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
72289         REPLACE_SPRINTF.
72290
72291 2007-03-06  Bruno Haible  <bruno@clisp.org>
72292
72293         * modules/vsprintf-posix-tests: New file.
72294         * tests/test-vsprintf-posix.c: New file.
72295         * tests/test-sprintf-posix.h: New file.
72296
72297         * modules/vsprintf-posix: New file.
72298         * lib/vsprintf.c: New file.
72299         * m4/vsprintf-posix.m4: New file.
72300         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
72301         REPLACE_VSPRINTF.
72302         * lib/stdio_.h (vsprintf): New declaration.
72303         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
72304         REPLACE_VSPRINTF.
72305
72306 2007-03-06  Bruno Haible  <bruno@clisp.org>
72307
72308         * modules/vsnprintf (Depend-on): Remove minmax.
72309
72310 2007-03-06  Bruno Haible  <bruno@clisp.org>
72311
72312         * modules/snprintf-posix-tests: New file.
72313         * tests/test-snprintf-posix.c: New file.
72314
72315         * modules/snprintf-posix: New file.
72316         * m4/snprintf-posix.m4: New file.
72317         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
72318         gl_FUNC_SNPRINTF.
72319         (gl_FUNC_SNPRINTF): Invoke it.
72320         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
72321         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
72322         is set.
72323         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
72324
72325 2007-03-06  Bruno Haible  <bruno@clisp.org>
72326
72327         * modules/vsnprintf-posix-tests: New file.
72328         * tests/test-vsnprintf-posix.c: New file.
72329         * tests/test-snprintf-posix.h: New file.
72330
72331         * modules/vsnprintf-posix: New file.
72332         * m4/vsnprintf-posix.m4: New file.
72333         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
72334         gl_FUNC_VSNPRINTF.
72335         (gl_FUNC_VSNPRINTF): Invoke it.
72336         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
72337         * lib/stdio_.h (vsnprintf): Define as a replacement if
72338         REPLACE_VSNPRINTF is set.
72339         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
72340
72341 2007-03-06  Bruno Haible  <bruno@clisp.org>
72342
72343         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
72344         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
72345
72346 2007-03-06  Bruno Haible  <bruno@clisp.org>
72347
72348         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
72349         (asinl): Declare also if HAVE_DECL_ASINL is set.
72350         (atanl): Declare also if HAVE_DECL_ATANL is set.
72351         (ceill): Declare also if HAVE_DECL_CEILL is set.
72352         (cosl): Declare also if HAVE_DECL_COSL is set.
72353         (expl): Declare also if HAVE_DECL_EXPL is set.
72354         (floorl): Declare also if HAVE_DECL_FLOORL is set.
72355         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
72356         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
72357         (logl): Declare also if HAVE_DECL_LOGL is set.
72358         (sinl): Declare also if HAVE_DECL_SINL is set.
72359         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
72360         (tanl): Declare also if HAVE_DECL_TANL is set.
72361         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
72362         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
72363         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
72364         declaration of frexpl, ldexpl.
72365         * modules/printf-frexpl (Depends-on): Add math.
72366         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
72367
72368 2007-03-05  Bruno Haible  <bruno@clisp.org>
72369
72370         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
72371         frexpl and ldexpl are declared.
72372         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
72373
72374 2007-03-05  Bruno Haible  <bruno@clisp.org>
72375
72376         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
72377         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
72378
72379 2007-03-05  Bruno Haible  <bruno@clisp.org>
72380
72381         * lib/stdio_.h: Include <stddef.h>.
72382
72383 2007-03-05  Bruno Haible  <bruno@clisp.org>
72384
72385         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
72386
72387 2007-03-05  Bruno Haible  <bruno@clisp.org>
72388
72389         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
72390         NetBSD 4, from Ralf Wildenhues.
72391
72392 2007-03-04  Bruno Haible  <bruno@clisp.org>
72393
72394         * lib/vasprintf.h: Update #if logic for the case when the functions
72395         exist but are overridden.
72396
72397 2007-03-04  Bruno Haible  <bruno@clisp.org>
72398
72399         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
72400         implementations: glibc-2.4 and MacOS X 10.3.
72401         * tests/test-vasnprintf-posix.c (test_function): Test also the case
72402         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
72403         * tests/test-vasprintf-posix.c (test_function): Likewise.
72404
72405 2007-03-04  Bruno Haible  <bruno@clisp.org>
72406
72407         * modules/vasprintf-posix-tests: New file.
72408         * tests/test-vasprintf-posix.c: New file.
72409
72410         * modules/vasprintf-posix: New file.
72411         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
72412         defined.
72413         * m4/vasprintf-posix.m4: New file.
72414         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
72415         gl_FUNC_VASPRINTF.
72416         (gl_FUNC_VASPRINTF): Invoke it.
72417         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
72418         here.
72419         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
72420
72421 2007-03-04  Bruno Haible  <bruno@clisp.org>
72422
72423         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
72424         REPLACE_GETTIMEOFDAY.
72425         * modules/sys_time (Makefile.am): Likewise.
72426         * m4/sys_time_h.m4: Likewise.
72427         * m4/gettimeofday.m4: Likewise.
72428
72429 2007-03-04  Bruno Haible  <bruno@clisp.org>
72430
72431         * modules/vasnprintf-posix-tests: New file.
72432         * tests/test-vasnprintf-posix.c: New file.
72433
72434         * modules/vasnprintf-posix: New file.
72435         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
72436         printf-frexpl.h.
72437         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
72438         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
72439         REPLACE_VASNPRINTF is defined.
72440         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
72441         gl_FUNC_VASNPRINTF.
72442         (gl_FUNC_VASNPRINTF): Invoke it.
72443         * m4/vasnprintf-posix.m4: New file.
72444         * m4/printf.m4: New file.
72445
72446 2007-03-04  Bruno Haible  <bruno@clisp.org>
72447
72448         Compile progreloc.c only if --enable-relocatable is specified.
72449         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
72450         if --enable-relocatable was specified.
72451         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
72452         lib_SOURCES.
72453
72454 2007-03-04  Jim Meyering  <jim@meyering.net>
72455
72456         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
72457         Use it consistently, rather than enumerating errno constants.
72458
72459 2007-03-04  Bruno Haible  <bruno@clisp.org>
72460
72461         * modules/xvasprintf-tests: New file.
72462         * tests/test-xvasprintf.c: New file.
72463
72464         * modules/vasprintf-tests: New file.
72465         * tests/test-vasprintf.c: New file.
72466
72467         * modules/vasnprintf-tests: New file.
72468         * tests/test-vasnprintf.c: New file.
72469
72470         * modules/vsnprintf-tests: New file.
72471         * tests/test-vsnprintf.c: New file.
72472
72473         * modules/snprintf-tests: New file.
72474         * tests/test-snprintf.c: New file.
72475
72476 2007-03-04  Bruno Haible  <bruno@clisp.org>
72477
72478         Compile relocatable.c only if --enable-relocatable is specified.
72479         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
72480         gl_RELOCATABLE_LIBRARY.
72481         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
72482         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
72483         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
72484         gl_RELOCATABLE_LIBRARY.
72485         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
72486         (Makefile.am): Remove lib_SOURCES.
72487         * modules/relocatable-lib-lgpl (configure.ac): Invoke
72488         gl_RELOCATABLE_LIBRARY.
72489         (Makefile.am): Remove lib_SOURCES.
72490         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
72491         always.
72492         * modules/relocatable-prog-wrapper (configure.ac): Invoke
72493         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
72494
72495 2007-03-04  Bruno Haible  <bruno@clisp.org>
72496
72497         * modules/argmatch-tests: New file.
72498         * tests/test-argmatch.c: New file.
72499
72500         * tests/test-allocsa.c (main): Halve the number of loop runs.
72501
72502         * modules/alloca-opt-tests: New file.
72503         * tests/test-alloca-opt.c: New file.
72504
72505 2007-03-04  Jim Meyering  <jim@meyering.net>
72506
72507         Work around difference between Linux ACLs and Solaris 10 ZFS.
72508         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
72509         for EINVAL.
72510
72511 2007-03-03  Bruno Haible  <bruno@clisp.org>
72512
72513         * modules/relocatable-prog (Depends-on): Add back progreloc's
72514         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
72515
72516 2007-03-03  Bruno Haible  <bruno@clisp.org>
72517
72518         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
72519         * modules/relocatable-lib: New file.
72520
72521 2007-03-03  Bruno Haible  <bruno@clisp.org>
72522
72523         * modules/relocatable-prog: Renamed from modules/relocatable.
72524         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
72525
72526 2007-03-03  Bruno Haible  <bruno@clisp.org>
72527
72528         * modules/relocatable-script (Files): Add doc/relocatable.texi,
72529         m4/relocatable-lib.m4.
72530         (Depends-on): Remove 'relocatable'.
72531         (configure.ac): Add gl_RELOCATABLE_NOP.
72532
72533 2007-03-03  Bruno Haible  <bruno@clisp.org>
72534
72535         * modules/relocatable-prog-wrapper: New file.
72536         * modules/relocatable (Depends-on): Add it. Remove all other
72537         dependencies except progname.
72538         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
72539
72540         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
72541         (gl_FUNC_STRERROR): Nop.
72542         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
72543
72544         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
72545         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
72546
72547         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
72548         (gl_FUNC_READLINK): Update.
72549
72550         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
72551
72552 2007-03-03  Bruno Haible  <bruno@clisp.org>
72553
72554         * lib/xreadlink.c: Include <unistd.h> unconditionally.
72555         * modules/xreadlink (Depends-on): Add unistd.
72556         * modules/xreadlink-with-size (Depends-on): Likewise.
72557
72558 2007-03-03  Bruno Haible  <bruno@clisp.org>
72559
72560         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
72561         extracted from gt_FUNC_SETENV.
72562         (gt_FUNC_SETENV): Remove macro.
72563         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
72564         remove gt_FUNC_SETENV.
72565
72566 2007-03-03  Bruno Haible  <bruno@clisp.org>
72567
72568         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
72569         ENABLE_RELOCATABLE here.
72570         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
72571
72572 2007-03-03  Bruno Haible  <bruno@clisp.org>
72573
72574         * modules/rbtreehash-list-tests (Depends-on): Add progname.
72575         * tests/test-rbtreehash_list.c: Include progname.h.
72576         (main): Call set_program_name.
72577
72578         * modules/rbtree-oset-tests (Depends-on): Add progname.
72579         * tests/test-rbtree_oset.c: Include progname.h.
72580         (main): Call set_program_name.
72581
72582         * modules/rbtree-list-tests (Depends-on): Add progname.
72583         * tests/test-rbtree_list.c: Include progname.h.
72584         (main): Call set_program_name.
72585
72586         * modules/linked-list-tests (Depends-on): Add progname.
72587         * tests/test-linked_list.c: Include progname.h.
72588         (main): Call set_program_name.
72589
72590 2007-03-03  Bruno Haible  <bruno@clisp.org>
72591
72592         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
72593         All uses of __restrict changed to _Restrict_.
72594         * lib/glob_.h (__restrict): Remove macro.
72595
72596 2007-03-02  Bruno Haible  <bruno@clisp.org>
72597
72598         * modules/gettext (configure.ac): Require gettext infrastructure
72599         from version 0.16.1.
72600
72601 2007-03-02  Bruno Haible  <bruno@clisp.org>
72602
72603         * modules/linkedhash-list-tests (Depends-on): Add progname.
72604         * tests/test-linkedhash_list.c: Include progname.h.
72605         (main): Call set_program_name.
72606
72607         * modules/carray-list-tests (Depends-on): Add progname.
72608         * tests/test-carray_list.c: Include progname.h.
72609         (main): Call set_program_name.
72610
72611         * modules/avltreehash-list-tests (Depends-on): Add progname.
72612         * tests/test-avltreehash_list.c: Include progname.h.
72613         (main): Call set_program_name.
72614
72615         * modules/avltree-oset-tests (Depends-on): Add progname.
72616         * tests/test-avltree_oset.c: Include progname.h.
72617         (main): Call set_program_name.
72618
72619         * modules/avltree-list-tests (Depends-on): Add progname.
72620         * tests/test-avltree_list.c: Include progname.h.
72621         (main): Call set_program_name.
72622
72623         * modules/array-oset-tests (Depends-on): Add progname.
72624         * tests/test-array_oset.c: Include progname.h.
72625         (main): Call set_program_name.
72626
72627         * modules/array-list-tests (Depends-on): Add progname.
72628         * tests/test-array_list.c: Include progname.h.
72629         (main): Call set_program_name.
72630
72631         * modules/argp-tests (Depends-on): Add progname.
72632         * tests/test-argp.c: Include argp.h first. Include progname.h.
72633         (main): Call set_program_name.
72634
72635 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
72636
72637         * doc/gnulib-tool.texi (Initial import): Reword description of
72638         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
72639         limited effect even if defined after the first system include.
72640
72641 2007-03-01  Bruno Haible  <bruno@clisp.org>
72642
72643         * build-aux/config.libpath: Update to libtool-1.5.22.
72644         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72645
72646 2007-03-01  Bruno Haible  <bruno@clisp.org>
72647
72648         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
72649         foo_CFLAGS.
72650         Reported by Ralf Wildenhues.
72651
72652 2007-03-01  Bruno Haible  <bruno@clisp.org>
72653
72654         * build-aux/install-reloc: Remove object files left over by some
72655         compilers.
72656         Reported by Ralf Wildenhues.
72657
72658 2007-03-01  Bruno Haible  <bruno@clisp.org>
72659
72660         * build-aux/install-reloc: Break long lines.
72661
72662 2007-03-01  Bruno Haible  <bruno@clisp.org>
72663
72664         * doc/relocatable.texi: Document that it may not work on OpenBSD.
72665         Reported by Ralf Wildenhues.
72666
72667 2007-03-01  Bruno Haible  <bruno@clisp.org>
72668
72669         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
72670         include ordering constraints.
72671
72672 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72673
72674         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
72675         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
72676         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
72677         as another example.
72678         * lib/time_.h: Fix misspelling.
72679         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72680         Require gl_HEADER_TIME_H_DEFAULTS.
72681         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
72682         * m4/time_r.m4 (gl_TIME_R): Likewise.
72683         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
72684
72685 2007-03-01  Bruno Haible  <bruno@clisp.org>
72686
72687         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
72688         * m4/utimens.m4 (gl_UTIMENS): Likewise.
72689
72690 2007-03-01  Jim Meyering  <jim@meyering.net>
72691
72692         * modules/xreadlink (Maintainer): Add my name.
72693         * modules/xreadlink-with-size (Depends-on): Alphabetize.
72694
72695 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
72696             Bruno Haible  <bruno@clisp.org>
72697
72698         * build-aux/install-reloc: Compile also c-ctype.c.
72699         * build-aux/relocatable.sh.in: New file.
72700         * doc/relocatable.texi: New file.
72701         * doc/relocatable-maint.texi: New file.
72702         * doc/gnulib.texi: Include relocatable-maint.texi.
72703         * lib/progreloc.c: Include unistd.h unconditionally.
72704         * lib/relocwrapper.c: Include unistd.h unconditionally.
72705         Include c-ctype.h.
72706         (add_dotbin): Use c_tolower.
72707         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
72708         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
72709         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
72710         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
72711         to m4/relocatable-lib.m4.
72712         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
72713         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
72714         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
72715         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
72716         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
72717         * modules/relocatable: New file.
72718         * modules/relocatable-lib: New file.
72719         * modules/relocatable-script: New file.
72720
72721 2007-02-28  Bruno Haible  <bruno@clisp.org>
72722
72723         Import --enable-relocatable infrastructure.
72724         * build-aux/config.libpath: New file, from GNU gettext.
72725         * build-aux/install-reloc: New file, from GNU gettext.
72726         * build-aux/reloc-ldflags: New file, from GNU gettext.
72727         * lib/relocatable.h: New file, from GNU gettext.
72728         * lib/relocatable.c: New file, from GNU gettext.
72729         * lib/relocwrapper.c: New file, from GNU gettext.
72730         * m4/relocatable.m4: New file, from GNU gettext.
72731
72732 2007-02-28  Bruno Haible  <bruno@clisp.org>
72733
72734         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
72735
72736         * modules/xreadlink: New file, from GNU gettext with modifications.
72737         * lib/xreadlink.c: New file, from GNU gettext.
72738         * lib/xreadlink.h: Add comments.
72739         (xreadlink): New declaration.
72740
72741         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
72742         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
72743         lib/xreadlink-with-size.c.
72744         (configure.ac): Remove gl_XREADLINK invocation.
72745         (Makefile.am): Augment lib_SOURCES.
72746         * m4/xreadlink.m4: Remove file.
72747         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
72748         (xreadlink_with_size): Renamed from xreadink.
72749         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
72750         * modules/canonicalize (Depends-on): Replace xreadlink with
72751         xreadlink-with-size.
72752         * lib/canonicalize.c (canonicalize_filename_mode): Update.
72753
72754 2007-02-25  Jim Meyering  <jim@meyering.net>
72755
72756         * build-aux/announce-gen: When complaining about excess arguments,
72757         list them.
72758
72759 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
72760
72761         * README: Document signed integer overflow situation more
72762         accurately.
72763
72764 2007-02-25  Bruno Haible  <bruno@clisp.org>
72765
72766         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
72767         'a' or 'A' conversion.
72768
72769 2007-02-25  Bruno Haible  <bruno@clisp.org>
72770
72771         * modules/filename: Renamed from modules/pathname.
72772         (Files): Replace lib/pathname.h with lib/filename.h. Replace
72773         lib/concatpath.c with lib/concat-filename.c.
72774         (Makefile.am): Update.
72775         (Include): Replace pathname.h with filename.h.
72776         * lib/filename.h: Renamed from lib/pathname.h.
72777         (concatenated_filename): Renamed from concatenated_pathname.
72778         * lib/concat-filename.c: Renamed from lib/concatpath.c.
72779         (concatenated_filename): Renamed from concatenated_pathname.
72780         * lib/findprog.c: Include filename.h instead of pathname.h.
72781         (find_in_path): Update.
72782         * lib/javacomp.c: Include filename.h instead of pathname.h.
72783         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
72784         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
72785         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
72786         is_oldgcj_14_13_usable, is_javac_usable): Update.
72787         * lib/javaexec.c: Include filename.h instead of pathname.h.
72788         (execute_java_class): Update.
72789         * modules/findprog: Update.
72790         * modules/javacomp: Update.
72791         * modules/javaexec: Update.
72792         * MODULES.html.sh (File system functions): Add 'filename', remove
72793         'pathname'.
72794
72795 2007-02-25  Bruno Haible  <bruno@clisp.org>
72796
72797         * modules/printf-frexpl-tests: New file.
72798         * tests/test-printf-frexpl.c: New file.
72799
72800         * modules/printf-frexpl: New file.
72801         * lib/printf-frexpl.h: New file.
72802         * lib/printf-frexpl.c: New file.
72803         * m4/printf-frexpl.m4: New file.
72804
72805 2007-02-25  Bruno Haible  <bruno@clisp.org>
72806
72807         * modules/printf-frexp-tests: New file.
72808         * tests/test-printf-frexp.c: New file.
72809
72810         * modules/printf-frexp: New file.
72811         * lib/printf-frexp.h: New file.
72812         * lib/printf-frexp.c: New file.
72813         * m4/printf-frexp.m4: New file.
72814
72815 2007-02-25  Bruno Haible  <bruno@clisp.org>
72816
72817         Assume automake >= 1.10 for the tests.
72818         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
72819         * modules/arctwo-tests: Likewise.
72820         * modules/argp-tests: Likewise.
72821         * modules/avltree-list-tests: Likewise.
72822         * modules/avltree-oset-tests: Likewise.
72823         * modules/avltreehash-list-tests: Likewise.
72824         * modules/carray-list-tests: Likewise.
72825         * modules/crc-tests: Likewise.
72826         * modules/des-tests: Likewise.
72827         * modules/gc-arcfour-tests: Likewise.
72828         * modules/gc-arctwo-tests: Likewise.
72829         * modules/gc-des-tests: Likewise.
72830         * modules/gc-hmac-md5-tests: Likewise.
72831         * modules/gc-hmac-sha1-tests: Likewise.
72832         * modules/gc-md2-tests: Likewise.
72833         * modules/gc-md4-tests: Likewise.
72834         * modules/gc-md5-tests: Likewise.
72835         * modules/gc-pbkdf2-sha1-tests: Likewise.
72836         * modules/gc-rijndael-tests: Likewise.
72837         * modules/gc-sha1-tests: Likewise.
72838         * modules/gc-tests: Likewise.
72839         * modules/getaddrinfo-tests: Likewise.
72840         * modules/hmac-md5-tests: Likewise.
72841         * modules/hmac-sha1-tests: Likewise.
72842         * modules/linked-list-tests: Likewise.
72843         * modules/linkedhash-list-tests: Likewise.
72844         * modules/lock-tests: Likewise.
72845         * modules/md2-tests: Likewise.
72846         * modules/md4-tests: Likewise.
72847         * modules/md5-tests: Likewise.
72848         * modules/rbtree-list-tests: Likewise.
72849         * modules/rbtree-oset-tests: Likewise.
72850         * modules/rbtreehash-list-tests: Likewise.
72851         * modules/read-file-tests: Likewise.
72852         * modules/rijndael-tests: Likewise.
72853         * modules/stdint-tests: Likewise.
72854         * modules/tls-tests: Likewise.
72855
72856 2007-02-24  Bruno Haible  <bruno@clisp.org>
72857
72858         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
72859         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
72860         function; instead check whether isnan with a double argument links.
72861         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
72862         function; instead check whether isnan with a 'long double' argument
72863         links.
72864         Reported by Eric Blake <ebb9@byu.net>.
72865
72866 2007-02-24  Bruno Haible  <bruno@clisp.org>
72867
72868         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
72869         defined.
72870         * lib/isnanl.c: Remove all code. Just include isnan.c.
72871         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
72872
72873 2007-02-25  Jim Meyering  <jim@meyering.net>
72874
72875         Avoid conflicting types for 'unsetenv' on FreeBSD.
72876         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
72877         conflicting with FreeBSD's (5.0 and 6.1) function declaration
72878         in stdlib.h.
72879
72880 2007-02-24  Bruno Haible  <bruno@clisp.org>
72881
72882         * modules/isnanl-nolibm-tests: New file.
72883         * tests/test-isnanl.c: New file.
72884
72885         * modules/isnanl-nolibm: New file.
72886         * lib/isnanl.h: New file.
72887         * lib/isnanl.c: New file.
72888         * m4/isnanl.m4: New file.
72889
72890 2007-02-24  Bruno Haible  <bruno@clisp.org>
72891
72892         * modules/isnan-nolibm-tests: New file.
72893         * tests/test-isnan.c: New file.
72894
72895         * modules/isnan-nolibm: New file.
72896         * lib/isnan.h: New file.
72897         * lib/isnan.c: New file.
72898         * m4/isnan.m4: New file.
72899
72900 2007-02-24  Bruno Haible  <bruno@clisp.org>
72901
72902         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
72903         assume that an exponent fits in 20 bits.
72904
72905 2007-02-24  Jim Meyering  <jim@meyering.net>
72906
72907         * m4/regex.m4: Update the description of the configure-time option,
72908         --without-included-regex, to state accurately what the defaults are,
72909         and perhaps to give people an idea why using this option is risky.
72910
72911 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72912
72913         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
72914         loops on small arguments.  This attempts to avoid the problem
72915         Bruno Haible reported for AIX 4.3.2 in
72916         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
72917
72918 2007-02-23  Bruno Haible  <bruno@clisp.org>
72919
72920         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
72921         Needed for help2man.
72922
72923 2007-02-23  Karl Berry  <karl@gnu.org>
72924
72925         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
72926         exists, foo.h should be cvs-ignored, not committed.
72927
72928 2007-02-23  Eric Blake  <ebb9@byu.net>
72929
72930         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
72931         * lib/stat-time.h (includes): Likewise.
72932         * lib/utimecmp.c (includes): Likewise.
72933         * lib/utimens.h (includes): Likewise.
72934         * lib/getdate.y (includes): Also include "timespec.h" for use
72935         internal to the module.
72936         * modules/utimens (Depends-on): Revert yesterday's patch.
72937         * modules/nanosleep (Depends-on): Add missing dependency.
72938
72939 2007-02-22  Bruno Haible  <bruno@clisp.org>
72940
72941         * lib/glob.c: Don't include getlogin_r.h.
72942
72943 2007-02-22  Jim Meyering  <jim@meyering.net>
72944
72945         * modules/utimens (Depends-on): Add timespec, required for
72946         utimens.h's inclusion of timespec.h.
72947
72948 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
72949
72950         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
72951         long unreadable paths in GNU/Linux.  Problem reported by Andreas
72952         Schwab in
72953         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
72954         I'll try to think of a better way to fix the Solaris problem.
72955
72956         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
72957         like glibc; on Solaris 10, it fails with errno == EINVAL.
72958         POSIX says the behavior is unspecified if the first argument is NULL,
72959         so play it safe and never pass NULL to the system getcwd.
72960
72961 2007-02-21  Jim Meyering  <jim@meyering.net>
72962
72963         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
72964         of gettimeofday.  It would conflict with the one now always
72965         provided via sys_time_.h.  Reported by Matthew Woehlke, as
72966         an IRIX 6.5 build failure.
72967
72968 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72969
72970         Minor fixups to port to Solaris 10 with Sun C 5.8.
72971         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
72972         * modules/getcwd (Depends-on): Add dirfd.
72973         * lib/putenv.c (putenv): #undef it.
72974         (rpl_putenv): New decl.
72975         (malloc, free): Include <stdlib.h> rather than prototyping separately.
72976
72977 2007-02-20  Bruno Haible  <bruno@clisp.org>
72978
72979         * modules/stdio-tests: New file.
72980         * tests/test-stdio.c: New file.
72981
72982         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
72983         (Depends-on): Add stdio.
72984         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72985         (Include): Use <stdio.h> instead of vsnprintf.h.
72986         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72987         HAVE_DECL_VSNPRINTF.
72988         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
72989
72990         * modules/snprintf (Files): Remove lib/snprintf.h.
72991         (Depends-on): Add stdio.
72992         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72993         (Include): Use <stdio.h> instead of snprintf.h.
72994         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72995         HAVE_DECL_SNPRINTF.
72996         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
72997         * lib/getaddrinfo.c: Likewise.
72998
72999         * modules/stdio: New file.
73000         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
73001         * lib/snprintf.h: Remove file.
73002         * lib/vsnprintf.h: Remove file.
73003         * lib/.cppi-disable: Remove snprintf.h.
73004         * m4/stdio_h.m4: New file.
73005         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
73006
73007 2007-02-20  Jim Meyering  <jim@meyering.net>
73008
73009         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
73010         used by e.g., mingw.  From Bruno Haible.
73011
73012 2007-02-19  Bruno Haible  <bruno@clisp.org>
73013
73014         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
73015         warnings.
73016         Reported by Ben Pfaff <blp@cs.stanford.edu>.
73017
73018 2007-02-19  Bruno Haible  <bruno@clisp.org>
73019
73020         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
73021         from mingw users.
73022
73023 2007-02-19  Bruno Haible  <bruno@clisp.org>
73024
73025         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
73026         warnings.
73027         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
73028
73029 2007-02-19  Jim Meyering  <jim@meyering.net>
73030
73031         Don't use FD after a successful "fdopendir (fd)".
73032         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
73033         Reset it by calling dirfd on the just-obtained DIR*.
73034
73035         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
73036         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
73037
73038 2007-02-18  Bruno Haible  <bruno@clisp.org>
73039
73040         * lib/readlink.c: Include <unistd.h>.
73041         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
73042         HAVE_READLINK.
73043         * modules/readlink (Depends-on): Add unistd.
73044         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73045         (Include): Add <unistd.h>.
73046
73047         * lib/getlogin_r.h: Remove file.
73048         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
73049         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
73050         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
73051         HAVE_DECL_GETLOGIN_R.
73052         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
73053         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73054         (Include): Use <unistd.h> instead of getlogin_r.h.
73055
73056         * lib/getcwd.h: Remove file.
73057         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
73058         * lib/xgetcwd.c: Likewise.
73059         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
73060         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
73061         * modules/getcwd (Files): Remove lib/getcwd.h.
73062         (Depends-on): Add unistd.
73063         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73064         (Include): Use <unistd.h> instad of getcwd.h.
73065
73066         * lib/ftruncate.c: Include <unistd.h> first.
73067         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
73068         Set HAVE_FTRUNCATE.
73069         * modules/ftruncate (Depends-on): Add unistd.
73070         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73071
73072         * lib/fchdir.c: Include <unistd.h> first.
73073         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
73074         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
73075         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
73076         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73077         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
73078
73079         * lib/dup2.c: Include <unistd.h> first.
73080         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
73081         HAVE_DUP2.
73082         * modules/dup2 (Depends-on): Add unistd.
73083         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73084
73085         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
73086         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
73087         REPLACE_CHOWN. Don't define chown as a macro here.
73088         * modules/chown (Depends-on): Add unistd.
73089         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73090
73091         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
73092         Add definition for GL_LINK_WARNING.
73093         (chown, dup2): New declarations.
73094         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
73095         link warning.
73096         (ftruncate): New declaration.
73097         (getcwd): New declaration, taken from old getcwd.h.
73098         (getlogin_r): New declaration, taken from old getlogin_r.h.
73099         (readlink): New declaration.
73100         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
73101         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
73102         (gl_PREREQ_UNISTD): Remove macro.
73103         (gl_UNISTD_MODULE_INDICATOR): New macro.
73104         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
73105         many new variables. Don't set UNISTD_H.
73106         * modules/unistd (Description): Change.
73107         (Depends-on): Add link-warning.
73108         (configure.ac): Update.
73109         (Makefile.am): Create unistd.h always. Substitute many new variables
73110         into it.
73111
73112 2007-02-18  Bruno Haible  <bruno@clisp.org>
73113
73114         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
73115         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
73116         HAVE_GETSUBOPT.
73117         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
73118         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
73119         * lib/getsubopt.h: Remove file.
73120         * modules/getsubopt (Files): Remove lib/getsubopt.h.
73121         (Depends-on): Add stdlib.
73122         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73123         (Includes): Use <stdlib.h> instead of getsubopt.h.
73124         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
73125         Set HAVE_GETSUBOPT.
73126         * lib/getsubopt.c: Don't include getsubopt.h.
73127
73128 2007-02-18  Bruno Haible  <bruno@clisp.org>
73129
73130         * modules/fchdir (Depends-on): Add dup2.
73131
73132 2007-02-18  Bruno Haible  <bruno@clisp.org>
73133
73134         * lib/stdlib_.h: Handle glibc's special invocation convention
73135         specially.
73136
73137 2007-02-18  Bruno Haible  <bruno@clisp.org>
73138
73139         * modules/stdlib-tests: New file.
73140         * tests/test-stdlib.c: New file.
73141
73142         * modules/mkstemp (Files): Remove lib/mkstemp.h.
73143         (Depends-on): Add stdlib.
73144         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73145         (Includes): Use <stdlib.h> instead of mkstemp.h.
73146         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
73147         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
73148         * lib/mkstemp.c: Don't include mkstemp.h.
73149         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
73150         * lib/stdlib--.h: Don't include mkstemp.h.
73151
73152         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
73153         (Depends-on): Add stdlib.
73154         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73155         (Includes): Use <stdlib.h> instead of mkdtemp.h.
73156         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
73157         HAVE_MKDTEMP.
73158         * lib/mkdtemp.c: Don't include mkdtemp.h.
73159         * lib/clean-temp.c: Don't include mkdtemp.h.
73160
73161         * modules/exit (Files): Remove lib/exit.h.
73162         (Depends-on): Add stdlib.
73163         (Makefile.am): Remove lib_SOURCES.
73164         (Include): Use <stdlib.h> instead of exit.h.
73165         * lib/argmatch.c: Don't include exit.h.
73166         * lib/execute.c: Likewise.
73167         * lib/pagealign_alloc.c: Likewise.
73168         * lib/pipe.c: Likewise.
73169         * lib/wait-process.c: Likewise.
73170         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
73171         * lib/exitfail.c: Likewise.
73172         * lib/savewd.c: Likewise.
73173         * lib/xsetenv.c: Likewise.
73174
73175         * modules/stdlib: New file.
73176         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
73177         and extra comments about mkstemp().
73178         * lib/exit.h: Remove file.
73179         * lib/mkdtemp.h: Remove file.
73180         * lib/mkstemp.h: Remove file.
73181         * m4/stdlib_h.m4: New file.
73182         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
73183
73184 2007-02-18  Bruno Haible  <bruno@clisp.org>
73185
73186         * modules/math-tests: New file.
73187         * tests/test-math.c: New file.
73188
73189         * modules/math: New file.
73190         * modules/mathl (Files): Remove lib/mathl.h.
73191         (Depends-on): Add math.
73192         (Makefile.am): Don't mention mathl.h.
73193         (Include): Use <math.h> instead of mathl.h.
73194         * lib/math_.h: New file.
73195         * lib/mathl.h: Remove file.
73196         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
73197         mathl.h.
73198         * lib/asinl.c: Likewise.
73199         * lib/atanl.c: Likewise.
73200         * lib/ceill.c: Likewise.
73201         * lib/cosl.c: Likewise.
73202         * lib/expl.c: Likewise.
73203         * lib/floorl.c: Likewise.
73204         * lib/frexpl.c: Likewise.
73205         * lib/ldexpl.c: Likewise.
73206         * lib/logl.c: Likewise.
73207         * lib/sincosl.c: Likewise.
73208         * lib/sinl.c: Likewise.
73209         * lib/sqrtl.c: Likewise.
73210         * lib/tanl.c: Likewise.
73211         * lib/trigl.c: Likewise.
73212         * m4/math_h.m4: New file.
73213         * MODULES.html.sh (Mathematics): Add math.
73214
73215 2007-02-17  Bruno Haible  <bruno@clisp.org>
73216
73217         * modules/wctype-tests: New file.
73218         * tests/test-wctype.c: New file.
73219
73220         * modules/wchar-tests: New file.
73221         * tests/test-wchar.c: New file.
73222
73223         * modules/unistd-tests: New file.
73224         * tests/test-unistd.c: New file.
73225
73226         * modules/time-tests: New file.
73227         * tests/test-time.c: New file.
73228
73229         * modules/sysexits-tests: New file.
73230         * tests/test-sysexits.c: New file.
73231
73232         * modules/sys_time-tests: New file.
73233         * tests/test-sys_time.c: New file.
73234
73235         * modules/sys_stat-tests: New file.
73236         * tests/test-sys_stat.c: New file.
73237
73238         * modules/sys_socket-tests: New file.
73239         * tests/test-sys_socket.c: New file.
73240
73241         * modules/sys_select-tests: New file.
73242         * tests/test-sys_select.c: New file.
73243
73244         * modules/string-tests: New file.
73245         * tests/test-string.c: New file.
73246
73247         * modules/stdbool-tests: New file.
73248         * tests/test-stdbool.c: New file.
73249
73250         * modules/netinet_in-tests: New file.
73251         * tests/test-netinet_in.c: New file.
73252
73253         * modules/inttypes-tests: New file.
73254         * tests/test-inttypes.c: New file.
73255
73256         * modules/fcntl-tests: New file.
73257         * tests/test-fcntl.c: New file.
73258
73259         * modules/byteswap-tests: New file.
73260         * tests/test-byteswap.c: New file.
73261
73262         * modules/arpa_inet-tests: New file.
73263         * tests/test-arpa_inet.c: New file.
73264
73265 2007-02-17  Bruno Haible  <bruno@clisp.org>
73266
73267         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
73268         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
73269         if the corresponding module is not enabled. Emit link warnings if
73270         the function is used nevertheless.
73271         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
73272         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
73273         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
73274         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
73275         * modules/inttypes (Depends-on): Add link-warning.
73276         (Makefile.am): Copy the contents of build-aux/link-warning.h into
73277         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
73278         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
73279         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
73280         * modules/imaxdiv (configure.ac): Likewise.
73281         * modules/strtoimax (configure.ac): Likewise.
73282         * modules/strtoumax (configure.ac): Likewise.
73283
73284 2007-02-17  Bruno Haible  <bruno@clisp.org>
73285
73286         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
73287         gl_STRING_MODULE_INDICATOR_DEFAULTS.
73288         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
73289         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
73290
73291 2007-02-17  Bruno Haible  <bruno@clisp.org>
73292
73293         * modules/link-warning: New file.
73294         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
73295         * lib/string_.h (GL_LINK_WARNING): Remove definition.
73296         * modules/string (Depends-on): Add link-warning.
73297         (Makefile.am): Copy the contents of build-aux/link-warning.h into
73298         string.h.
73299         * MODULES.html.sh (Support for building libraries and executables): Add
73300         link-warning.
73301
73302 2007-02-17  Bruno Haible  <bruno@clisp.org>
73303
73304         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
73305         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
73306         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
73307         long lines.
73308
73309 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
73310             Bruno Haible  <bruno@clisp.org>
73311
73312         * modules/tmpfile: New file.
73313         * lib/tmpfile.c: New file.
73314         * m4/tmpfile.m4: New file.
73315         * MODULES.html.sh (func_all_modules): New section "Input/output".
73316
73317 2007-02-15  Bruno Haible  <bruno@clisp.org>
73318
73319         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
73320         (supports_delete_on_close): New function.
73321         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
73322
73323 2007-02-14  Bruno Haible  <bruno@clisp.org>
73324
73325         * modules/mbspcasecmp-tests: New file.
73326         * tests/test-mbspcasecmp.sh: New file.
73327         * tests/test-mbspcasecmp.c: New file.
73328
73329         New module mbspcasecmp.
73330         * modules/mbspcasecmp: New file.
73331         * lib/mbspcasecmp.c: New file.
73332         * lib/string_.h (strncasecmp): Change warning message.
73333         (mbspcasecmp): New declaration.
73334         * m4/mbspcasecmp.m4: New file.
73335         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73336         GNULIB_MBSPCASECMP.
73337         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
73338         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
73339
73340 2007-02-14  Bruno Haible  <bruno@clisp.org>
73341
73342         * modules/mbsncasecmp-tests: New file.
73343         * tests/test-mbsncasecmp.sh: New file.
73344         * tests/test-mbsncasecmp.c: New file.
73345
73346         New module mbsncasecmp.
73347         * modules/mbsncasecmp: New file.
73348         * lib/mbsncasecmp.c: New file.
73349         * lib/string_.h (mbsncasecmp): New declaration.
73350         * m4/mbsncasecmp.m4: New file.
73351         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73352         GNULIB_MBSNCASECMP.
73353         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
73354         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
73355
73356 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
73357
73358         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
73359         Verify that it doesn't overlap with our flags.
73360         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
73361         do not have the desired effect in multibyte locales; instead, use
73362         mbscasecmp.
73363         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
73364         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
73365         we don't require GNU fnmatch ourselves (if our users require it, they
73366         should do so explicitly).
73367
73368         Fix regex code so it doesn't rely on strcasecmp.
73369         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
73370         Otherwise, include gnulib's langinfo.h.
73371         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
73372         undesirable behavior in non-C locales.  Instead, rely on localecharset.
73373         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
73374         * modules/regex (FILES): Remove m4/codeset.m4.
73375         (Depends-on): Add localcharset.  Remove strcase.
73376
73377 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73378
73379         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
73380         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
73381
73382 2007-02-13  Bruno Haible  <bruno@clisp.org>
73383
73384         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
73385         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73386
73387 2007-02-12  Bruno Haible  <bruno@clisp.org>
73388
73389         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73390         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
73391         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
73392         time warning rather than a link error.
73393
73394 2007-02-12  Bruno Haible  <bruno@clisp.org>
73395
73396         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
73397         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
73398         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73399
73400 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73401
73402         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
73403         args, not 2.
73404
73405 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73406
73407         New module 'time', so that apps can include <time.h> as per
73408         POSIX and GNU instead of separate include files like time_r.h
73409         and timegm.h.  This implementation tries out a simpler approach
73410         for replacing decls in standard include files (as compared to
73411         the string module), somewhat as an experiment.
73412
73413         * config/srclist.txt: Comment out mktime.c for now.
73414         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
73415         since it doesn't apply any more.  Use generic wording instead.
73416         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
73417         'time'.
73418         * lib/time_.h, m4/time_h.m4, modules/time: New files.
73419         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
73420         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
73421         Don't include <sys/types.h>; no longer needed since we assume C89.
73422         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
73423         * lib/strftime.c: Likewise.
73424         * lib/time_r.c: Likewise.
73425         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
73426         * lib/nanosleep.c: Include <time.h> first, to check interface.
73427         * lib/strptime.c: Likewise.
73428         * lib/time_r.c: Likewise.
73429         * lib/timegm.c: Likewise.
73430         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
73431         needed.
73432         * lib/timegm.c: Don't include timegm.h; no longer needed.
73433         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
73434         time.h now handles any problems in that area.
73435         (struct timespec, nanosleep): Remove; time.h now arranges for these.
73436         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
73437         that time.h defines struct timespec.
73438         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
73439         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
73440         handles that.
73441         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
73442         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
73443         needed.  Set REPLACE_LOCALTIME.
73444         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
73445         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
73446         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
73447         nanosleep; time_h.m4 now does that.  Don't require
73448         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
73449         module handles this now.
73450         * modules/getdate (Depends-on): Remove timespec.  Add time.
73451         * modules/nanosleep (Depends-on): Likewise.
73452         * modules/stat-time (Depends-on): Likewise.
73453         * modules/nanosleep (Include): Include time.h, not timespec.h.
73454         * modules/strptime (Files): Remove lib/strptime.h.
73455         (Depends-on): Add extensions, time.
73456         (Include): Include time.h, not strptime.h.
73457         * modules/time_r (Files): Remove lib/time_r.h.
73458         (Depends-on): Add time.
73459         (Include): Include time.h, not time_r.h.
73460         * modules/timegm: Likewise.
73461         * modules/timespec (Description): Now does timespec-related decls
73462         of our own, instead of struct timespec itself.
73463         (Depends-on): Add time; remove extensions.
73464         (Maintainer): Add self.
73465         * modules/utimecmp (Depends-on): Add time; remove timespec.
73466         * modules/utimens (Depends-on): Likewise.
73467         * modules/xnanosleep (Depends-on): Likewise.
73468
73469 2007-02-11  Bruno Haible  <bruno@clisp.org>
73470
73471         * lib/c-strstr.c: Include allocsa.h.
73472         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73473         * lib/c-strcasestr.c: Include allocsa.h.
73474         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73475         * lib/strcasestr.c: Include allocsa.h.
73476         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73477         * lib/mbsstr.c: Include allocsa.h.
73478         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73479         allocsa/freesa instead of malloc/free.
73480         * lib/mbscasestr.c: Include allocsa.h.
73481         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73482         allocsa/freesa instead of malloc/free.
73483         * modules/c-strstr (Depends-on): Add allocsa.
73484         * modules/c-strcasestr (Depends-on): Likewise.
73485         * modules/strcasestr (Depends-on): Likewise.
73486         * modules/mbsstr (Depends-on): Likewise.
73487         * modules/mbscasestr (Depends-on): Likewise.
73488
73489 2007-02-11  Bruno Haible  <bruno@clisp.org>
73490
73491         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
73492
73493         * modules/mbsspn-tests: New file.
73494         * tests/test-mbsspn.sh: New file.
73495         * tests/test-mbsspn.c: New file.
73496
73497 2007-02-11  Bruno Haible  <bruno@clisp.org>
73498
73499         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
73500
73501         * modules/mbspbrk-tests: New file.
73502         * tests/test-mbspbrk.sh: New file.
73503         * tests/test-mbspbrk.c: New file.
73504
73505 2007-02-11  Bruno Haible  <bruno@clisp.org>
73506
73507         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
73508         unneeded cast.
73509
73510         * modules/mbscspn-tests: New file.
73511         * tests/test-mbscspn.sh: New file.
73512         * tests/test-mbscspn.c: New file.
73513
73514 2007-02-11  Bruno Haible  <bruno@clisp.org>
73515
73516         * modules/mbscasecmp-tests: New file.
73517         * tests/test-mbscasecmp.sh: New file.
73518         * tests/test-mbscasecmp.c: New file.
73519
73520 2007-02-11  Bruno Haible  <bruno@clisp.org>
73521
73522         Ensure O(n) worst-case complexity of mbscasestr.
73523         * lib/mbscasestr.c: Include stdbool.h.
73524         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73525         functions.
73526         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
73527         the bookkeeping indicates that it's worth it.
73528         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
73529
73530         * modules/mbscasestr-tests: New file.
73531         * tests/test-mbscasestr1.c: New file.
73532         * tests/test-mbscasestr2.sh: New file.
73533         * tests/test-mbscasestr2.c: New file.
73534         * tests/test-mbscasestr3.sh: New file.
73535         * tests/test-mbscasestr3.c: New file.
73536         * tests/test-mbscasestr4.sh: New file.
73537         * tests/test-mbscasestr4.c: New file.
73538         * m4/locale-tr.m4: New file.
73539
73540 2007-02-11  Bruno Haible  <bruno@clisp.org>
73541
73542         Ensure O(n) worst-case complexity of mbsstr.
73543         * lib/mbsstr.c: Include stdbool.h.
73544         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73545         functions.
73546         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
73547         bookkeeping indicates that it's worth it.
73548         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
73549
73550         * modules/mbsstr-tests: New file.
73551         * tests/test-mbsstr1.c: New file.
73552         * tests/test-mbsstr2.sh: New file.
73553         * tests/test-mbsstr2.c: New file.
73554         * tests/test-mbsstr3.sh: New file.
73555         * tests/test-mbsstr3.c: New file.
73556         * m4/locale-fr.m4: New file.
73557
73558 2007-02-11  Bruno Haible  <bruno@clisp.org>
73559
73560         * lib/mbsrchr.c (mbsrchr): Fix bug.
73561
73562         * modules/mbsrchr-tests: New file.
73563         * tests/test-mbsrchr.sh: New file.
73564         * tests/test-mbsrchr.c: New file.
73565
73566 2007-02-11  Bruno Haible  <bruno@clisp.org>
73567
73568         * lib/mbschr.c (mbschr): Fix bug.
73569
73570         * modules/mbschr-tests: New file.
73571         * tests/test-mbschr.sh: New file.
73572         * tests/test-mbschr.c: New file.
73573         * m4/locale-zh.m4: New file.
73574
73575 2007-02-11  Bruno Haible  <bruno@clisp.org>
73576
73577         Support for copying multibyte string iterators.
73578         * lib/mbiter.h: Include <string.h>.
73579         (mbiter_multi_copy): New function.
73580         (mbi_copy): New macro.
73581         * lib/mbuiter.h: Include <string.h>.
73582         (mbuiter_multi_copy): New function.
73583         (mbui_copy): New macro.
73584
73585 2007-02-11  Bruno Haible  <bruno@clisp.org>
73586
73587         New module mbslen.
73588         * modules/mbslen: New file.
73589         * lib/mbslen.c: New file.
73590         * lib/string_.h (mbslen): New declaration.
73591         * m4/mbslen.m4: New file.
73592         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73593         GNULIB_MBSLEN.
73594         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
73595         * MODULES.html.sh (Internationalization functions): Add mbslen.
73596
73597 2007-02-11  Bruno Haible  <bruno@clisp.org>
73598
73599         Ensure O(n) worst-case complexity of strcasestr substitute.
73600         * lib/strcasestr.c: Include stdbool.h.
73601         (knuth_morris_pratt): New function.
73602         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73603         bookkeeping indicates that it's worth it.
73604         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
73605
73606         * modules/strcasestr-tests: New file.
73607         * tests/test-strcasestr.c: New file.
73608
73609 2007-02-11  Bruno Haible  <bruno@clisp.org>
73610
73611         Ensure O(n) worst-case complexity of c_strcasestr.
73612         * lib/c-strcasestr.c: Include stdbool.h, string.h.
73613         (knuth_morris_pratt): New function.
73614         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
73615         the bookkeeping indicates that it's worth it.
73616         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
73617
73618         * modules/c-strcasestr-tests: New file.
73619         * tests/test-c-strcasestr.c: New file.
73620
73621 2007-02-11  Bruno Haible  <bruno@clisp.org>
73622
73623         Ensure O(n) worst-case complexity of c_strstr.
73624         * lib/c-strstr.c: Include stdbool.h, string.h.
73625         (knuth_morris_pratt): New function.
73626         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73627         bookkeeping indicates that it's worth it.
73628         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
73629
73630         * lib/c-strstr.c: Complete rewrite for maintainability.
73631
73632         * modules/c-strstr-tests: New file.
73633         * tests/test-c-strstr.c: New file.
73634
73635 2007-02-11  Bruno Haible  <bruno@clisp.org>
73636
73637         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
73638         5.2.1 and earlier, whereby \055 was treated just like the range
73639         delimiter '-'.
73640         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
73641
73642 2007-02-08  Bruno Haible  <bruno@clisp.org>
73643
73644         * modules/regex (Depends-on): Add stdbool.
73645         Reported by Dalibor Topic <robilad@kaffe.org>.
73646
73647 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
73648
73649         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
73650         Prefer returning from main to exiting from it.
73651         Remove unnecessary parens after sizeof.
73652
73653 2007-02-05  Bruno Haible  <bruno@clisp.org>
73654
73655         New module mbssep.
73656         * modules/mbssep: New file.
73657         * lib/mbssep.c: New file.
73658         * lib/string_.h (strsep): Add a conditional link warning.
73659         (mbssep): New declaration.
73660         * m4/mbssep.m4: New file.
73661         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73662         GNULIB_MBSSEP.
73663         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
73664         * MODULES.html.sh (Internationalization functions): Add mbssep.
73665
73666 2007-02-05  Bruno Haible  <bruno@clisp.org>
73667
73668         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
73669         Optimize search in case of 1 delimiter.
73670
73671 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73672
73673         * lib/acl.h: Include sys/types.h before sys/acl.h.
73674
73675 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73676
73677         Merge upstream fix for glibc bugzilla #3957:
73678
73679         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
73680
73681         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
73682         bit for RE_HAT_LISTS_NOT_NEWLINE.
73683         (build_charclass_op): Remove bogus comment.
73684
73685 2007-02-05  Simon Josefsson  <simon@josefsson.org>
73686
73687         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
73688
73689 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73690
73691         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
73692         * lib/memmem.c [!defined _LIBC]: Include config.h.
73693
73694 2007-02-04  Bruno Haible  <bruno@clisp.org>
73695
73696         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
73697         warning message.
73698
73699 2007-02-04  Bruno Haible  <bruno@clisp.org>
73700
73701         New module mbstok_r.
73702         * modules/mbstok_r: New file.
73703         * lib/mbstok_r.c: New file.
73704         * lib/string_.h (strtok_r): Change argument names to match the
73705         comments. Add a conditional link warning.
73706         (mbstok_r): New declaration.
73707         * m4/mbstok_r.m4: New file.
73708         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73709         GNULIB_MBSTOK_R.
73710         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
73711         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
73712
73713 2007-02-04  Bruno Haible  <bruno@clisp.org>
73714
73715         New module mbsspn.
73716         * modules/mbsspn: New file.
73717         * lib/mbsspn.c: New file.
73718         * lib/string_.h (strspn): Add a conditional link warning.
73719         (mbsspn): New declaration.
73720         * m4/mbsspn.m4: New file.
73721         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73722         GNULIB_MBSSPN.
73723         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
73724         * MODULES.html.sh (Internationalization functions): Add mbsspn.
73725
73726 2007-02-04  Bruno Haible  <bruno@clisp.org>
73727
73728         New module mbspbrk.
73729         * modules/mbspbrk: New file.
73730         * lib/mbspbrk.c: New file.
73731         * lib/string_.h (strpbrk): Add a conditional link warning.
73732         (mbspbrk): New declaration.
73733         * m4/mbspbrk.m4: New file.
73734         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73735         GNULIB_MBSPBRK.
73736         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
73737         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
73738
73739 2007-02-04  Bruno Haible  <bruno@clisp.org>
73740
73741         New module mbscspn.
73742         * modules/mbscspn: New file.
73743         * lib/mbscspn.c: New file.
73744         * lib/string_.h (strcspn): Add a conditional link warning.
73745         (mbscspn): New declaration.
73746         * m4/mbscspn.m4: New file.
73747         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73748         GNULIB_MBSCSPN.
73749         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
73750         * MODULES.html.sh (Internationalization functions): Add mbscspn.
73751
73752 2007-02-04  Bruno Haible  <bruno@clisp.org>
73753
73754         New module mbscasestr, reduced goal of strcasestr.
73755         * modules/mbscasestr: New file.
73756         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
73757         (mbscasestr): Renamed from strcasestr.
73758         * lib/strcasestr.c: Don't include mbuiter.h.
73759         (strcasestr): Remove support for multibyte locales.
73760         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
73761         Change the conditional link warning.
73762         (mbscasestr): New declaration.
73763         * m4/mbscasestr.m4: New file.
73764         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
73765         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
73766         REPLACE_STRCASESTR.
73767         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
73768         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73769         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73770         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
73771         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
73772         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73773         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
73774         (Depends-on): Remove mbuiter.
73775         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
73776
73777 2007-02-04  Bruno Haible  <bruno@clisp.org>
73778
73779         Simplify handling of strncasecmp.
73780         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
73781         the conditional link warning.
73782         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73783         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
73784         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
73785         * modules/strcase (configure.ac): Don't invoke
73786         gl_STRING_MODULE_INDICATOR.
73787         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
73788
73789 2007-02-04  Bruno Haible  <bruno@clisp.org>
73790
73791         New module mbscasecmp, reduced goal of strcasecmp.
73792         * modules/mbscasecmp: New file.
73793         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
73794         (mbscasecmp): Renamed from strcasecmp.
73795         * lib/strcasecmp.c: Don't include mbuiter.h.
73796         (strcasecmp): Remove support for multibyte locales.
73797         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
73798         Change the conditional link warning.
73799         (mbscasecmp): New declaration.
73800         * m4/mbscasecmp.m4: New file.
73801         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
73802         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
73803         REPLACE_STRCASECMP.
73804         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
73805         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73806         GNULIB_MBSCASECMP.
73807         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
73808         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
73809         * modules/strcase (Files): Remove m4/mbrtowc.m4.
73810         (Depends-on): Remove mbuiter.
73811         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
73812
73813 2007-02-04  Bruno Haible  <bruno@clisp.org>
73814
73815         New module mbsstr. Remove module strstr.
73816         * modules/mbsstr: New file.
73817         * modules/strstr: Remove file.
73818         * lib/mbsstr.c: Renamed from lib/strstr.c.
73819         (mbsstr): Renamed from strstr.
73820         * lib/string_.h (strstr): Remove declaration. Change the conditional
73821         link warning.
73822         (mbsstr): New declaration.
73823         * m4/mbsstr.m4: New file.
73824         * m4/strstr.m4: Remove file.
73825         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
73826         REPLACE_STRSTR.
73827         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
73828         Don't initialize GNULIB_STRSTR.
73829         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
73830         substitute GNULIB_STRSTR and REPLACE_STRSTR.
73831         * MODULES.html.sh (Internationalization functions): Add mbsstr.
73832         (Support for systems lacking ANSI C 89): Remove strstr.
73833
73834 2007-02-04  Bruno Haible  <bruno@clisp.org>
73835
73836         New module mbsrchr.
73837         * modules/mbsrchr: New file.
73838         * lib/mbsrchr.c: New file.
73839         * lib/string_.h (strrchr): Add a conditional link warning.
73840         (mbsrchr): New declaration.
73841         * m4/mbsrchr.m4: New file.
73842         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73843         GNULIB_MBSRCHR.
73844         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
73845         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
73846
73847 2007-02-04  Bruno Haible  <bruno@clisp.org>
73848
73849         New module mbschr.
73850         * modules/mbschr: New file.
73851         * lib/mbschr.c: New file.
73852         * lib/string_.h (strchr): Add a conditional link warning.
73853         (mbschr): New declaration.
73854         * m4/mbschr.m4: New file.
73855         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73856         GNULIB_MBSCHR.
73857         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
73858         * MODULES.html.sh (Internationalization functions): Add mbschr.
73859
73860 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73861
73862         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
73863
73864         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
73865
73866 2007-02-04  Bruno Haible  <bruno@clisp.org>
73867
73868         New module description section 'configure.ac-early'.
73869         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
73870         (func_get_autoconf_early_snippet): New function.
73871         (func_import, func_create_testdir): Use it. Remove special cases for
73872         modules 'extensions' and 'lock'.
73873         * modules/extensions (configure.ac-early): Require
73874         gl_USE_SYSTEM_EXTENSIONS.
73875         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
73876
73877 2007-02-04  Bruno Haible  <bruno@clisp.org>
73878
73879         Make use of gcj-4.3's -fsource and -ftarget option.
73880         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
73881         and if so try the options -fsource and -ftarget.
73882         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
73883         source_version, ftarget_option, target_version arguments.
73884         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
73885         (is_envjavac_oldgcj_14_14_usable): Renamed from
73886         is_envjavac_gcj_14_14_usable.
73887         (is_envjavac_oldgcj_14_13_usable): Renamed from
73888         is_envjavac_gcj_14_13_usable.
73889         (is_gcj_present): Update.
73890         (is_gcj_43, is_gcj43_usable): New functions.
73891         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
73892         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
73893         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
73894         try the options -fsource and -ftarget.
73895
73896 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73897
73898         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
73899         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
73900         larger value.
73901
73902 2007-02-03  Jim Meyering  <jim@meyering.net>
73903
73904         Give tools a better chance to allocate space for very large buffers.
73905         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
73906
73907         Make pwd and readlink work also when run with an unreadable parent dir
73908         on systems with openat support.
73909         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
73910         provided getcwd function, even when we have openat support.
73911         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
73912
73913 2007-02-02  Bruno Haible  <bruno@clisp.org>
73914
73915         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73916         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
73917         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
73918         portability problems if one of these functions is only used on specific
73919         platforms.
73920         Reported by Paul Eggert.
73921
73922 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
73923
73924         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
73925         is causing more trouble than it's curing.
73926         * lib/regex_internal.h (__mempcpy): Remove.
73927         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
73928         (and make the code a tad smaller to boot).
73929         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
73930
73931 2007-02-02  Jim Meyering  <jim@meyering.net>
73932
73933         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
73934         section, not in the Makefile.am: one.
73935
73936 2007-02-02  Eric Blake  <ebb9@byu.net>
73937
73938         * lib/strchrnul.c: Always include config.h first.
73939
73940         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
73941         gnulib strstr is not necessary here.
73942
73943 2007-02-02  Simon Josefsson  <simon@josefsson.org>
73944
73945         * m4/socklen.m4: Fix typo.
73946
73947 2007-02-02  Eric Blake  <ebb9@byu.net>
73948
73949         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
73950         * modules/netinet_in (Makefile.am): Likewise.
73951
73952 2007-02-01  Bruno Haible  <bruno@clisp.org>
73953
73954         * lib/string_.h (GL_LINK_WARNING): New macro.
73955         (strcasecmp, strstr, strcasestr): If provided by the system,
73956         conditionally define as a macro that leads to a warning instead of to
73957         an error.
73958         (strncasecmp): Conditionally define as a macro that leads to a warning.
73959
73960 2007-02-01  Karl Berry  <karl@gnu.org>
73961
73962         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
73963
73964 2007-02-01  Bruno Haible  <bruno@clisp.org>
73965
73966         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
73967         renamings.
73968
73969 2007-02-01  Eric Blake  <ebb9@byu.net>
73970
73971         * modules/regex (Depends-on): Revert dependence on mempcpy.
73972         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
73973         module's definition of mempcpy.
73974         Reported by Paul Eggert.
73975
73976 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
73977
73978         * lib/string_.h: If the gnulib module XYZ is not present, undefine
73979         the symbol XYZ before redefining it.  This fixes a problem with
73980         programs that don't use XYZ, when compiled on systems that define
73981         XYZ to something else.
73982
73983 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
73984
73985         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
73986         occurs when "mkdir -m foo" creates a setgid directory that is (1)
73987         writeable to group or other and (2) is intended to have a special
73988         mode bit that is set or cleared.  In such a case, the directory
73989         should be neither group- nor other-writeable until the special
73990         mode bits are right.
73991
73992 2007-01-31  Eric Blake  <ebb9@byu.net>
73993
73994         * modules/mountlist (Depends-on): Add strstr.
73995
73996         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
73997         bug.
73998         * modules/string (Makefile.am): Remove redundant replacement.
73999         * modules/regex (Depends-on): Add mempcpy.
74000
74001 2007-01-31  Bruno Haible  <bruno@clisp.org>
74002
74003         New module description field 'Link'.
74004         * gnulib-tool (func_usage): Document --extract-link-directive.
74005         (sed_extract_prog): Recognize 'Link' directive.
74006         (func_get_link_directive): New function.
74007         (func_import): Show summary of link directives.
74008         Handle --extract-link-directive option.
74009         * modules/acl (Link): New section.
74010         * modules/clock-time (Link): New section.
74011         * modules/euidaccess (Link): New section.
74012         * modules/gettext (Link): New section.
74013         * modules/iconv (Link): New section.
74014         * modules/lock (Link): New section.
74015         * modules/nanosleep (Link): New section.
74016         * modules/readline (Link): New section.
74017
74018 2007-01-27  Bruno Haible  <bruno@clisp.org>
74019
74020         Enforce the use of gnulib modules for unportable <string.h> functions.
74021         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
74022         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
74023         (gl_HEADER_STRING_H_BODY): Require it.
74024         * lib/string_.h: If the gnulib module XYZ is not present, redefine
74025         the symbol XYZ to one that gives a link error.
74026         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
74027         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
74028         * modules/mempcpy (configure.ac): Likewise.
74029         * modules/memrchr (configure.ac): Likewise.
74030         * modules/stpcpy (configure.ac): Likewise.
74031         * modules/stpncpy (configure.ac): Likewise.
74032         * modules/strcase (configure.ac): Likewise.
74033         * modules/strcasestr (configure.ac): Likewise.
74034         * modules/strchrnul (configure.ac): Likewise.
74035         * modules/strdup (configure.ac): Likewise.
74036         * modules/strndup (configure.ac): Likewise.
74037         * modules/strnlen (configure.ac): Likewise.
74038         * modules/strpbrk (configure.ac): Likewise.
74039         * modules/strsep (configure.ac): Likewise.
74040         * modules/strstr (configure.ac): Likewise.
74041         * modules/strtok_r (configure.ac): Likewise.
74042
74043 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
74044
74045         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
74046
74047 2007-01-30  Jim Meyering  <jim@meyering.net>
74048
74049         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
74050
74051 2007-01-29  Bruno Haible  <bruno@clisp.org>
74052
74053         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
74054         * lib/execute.c: Likewise.
74055         * lib/pipe.c: Likewise.
74056         * lib/printf-args.h: Likewise.
74057         * lib/printf-args.c: Likewise.
74058         * lib/printf-parse.c: Likewise.
74059         * lib/vasnprintf.c: Likewise.
74060
74061 2007-01-29  Eric Blake  <ebb9@byu.net>
74062
74063         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
74064         declaration.
74065
74066 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
74067
74068         * lib/strptime.h (strptime): Use 'restrict' for args where
74069         POSIX requires this.
74070         * lib/strptime.c (strptime): Likewise.
74071         Change license notice from LGPL to GPL, since gnulib-tool will
74072         change this as needed.
74073         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
74074         defined.
74075         Include "strptime.h" first, to check interface.
74076         Do not #undef _LIBC and _NL_CURRENT.
74077         Do not include <stdlib.h>; no longer needed.
74078         Include "time_r.h" and declare ptime_locale_status
74079         only if _LIBC is not defined.
74080         (__P): Remove unused macro.
74081         (match_string): Bring back glibc version, but use it only if _LIBC
74082         is defined.
74083         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
74084         Remove unnecessary assertion and abort() call.
74085         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
74086         * m4/strptime.m4: Fix serial number comment.
74087         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
74088         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
74089         (Depends-on): Add time_r.
74090
74091 2007-01-29  Bruno Haible  <bruno@clisp.org>
74092
74093         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74094         strptime.
74095         * modules/strptime (Depends-on): Add stdbool.
74096         * lib/strptime.h: Include <time.h> always. Add comments.
74097
74098 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74099
74100         * modules/strptime: New file.
74101         * lib/strptime.h: New file.
74102         * lib/strptime.c: New file.
74103         * m4/strptime.m4: New file.
74104
74105 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
74106
74107         * MODULES.html.sh: New module mpsort.
74108         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
74109
74110         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
74111         a circularity problem with HP-UX ia64 reported by Bob Proulx in
74112         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
74113         All uses changed.
74114         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
74115         All uses changed.
74116         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
74117         to _Restrict_.
74118         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
74119         the parameter matches the prototype.
74120
74121 2007-01-28  Jim Meyering  <jim@meyering.net>
74122
74123         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
74124         sys/time.h here, reverting that part of the previous patch:
74125         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
74126
74127 2007-01-28  Bruno Haible  <bruno@clisp.org>
74128
74129         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
74130         value of $(SYS_TIME_H).
74131         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
74132         remove it conditionally, too. [added by Jim Meyering]
74133         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
74134         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74135         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
74136         GETTIMEOFDAY_REPLACEMENT to 1.
74137
74138 2007-01-28  Bruno Haible  <bruno@clisp.org>
74139
74140         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
74141         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
74142         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
74143         Set UNISTD_H instead of UNISTD_H2.
74144         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
74145
74146 2007-01-28  Bruno Haible  <bruno@clisp.org>
74147
74148         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
74149         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
74150
74151 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74152
74153         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
74154         (func_create_testdir): Ensure C locale for `grep' and `tr'
74155         character ranges.
74156         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
74157         ACLOCAL_AMFLAGS parsing state machine.
74158
74159 2007-01-27  Bruno Haible  <bruno@clisp.org>
74160
74161         * modules/unistr/base: Update.
74162
74163 2007-01-27  Bruno Haible  <bruno@clisp.org>
74164
74165         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
74166         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
74167         * modules/unistr/u32-mbtouc-unsafe: Renamed from
74168         modules/unistr/u32-mbtouc.
74169         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
74170         * lib/unistr.h: Update.
74171         * lib/linebreak.c: Update.
74172         * modules/unistr/u32-mbtouc: Renamed from
74173         modules/unistr/u32-mbtouc-safe.
74174         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
74175         * lib/unistr.h: Update.
74176         * lib/unistr/u32-to-u8.c: Update.
74177         * lib/unistr/u32-to-u16.c: Update.
74178
74179 2007-01-27  Bruno Haible  <bruno@clisp.org>
74180
74181         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
74182         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
74183         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
74184         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
74185         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
74186         * modules/unistr/u16-mbtouc-unsafe: Renamed from
74187         modules/unistr/u16-mbtouc.
74188         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
74189         * lib/unistr.h: Update.
74190         * lib/linebreak.c: Update.
74191         * modules/linebreak: Update.
74192         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
74193         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
74194         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
74195         * modules/unistr/u16-mbtouc: Renamed from
74196         modules/unistr/u16-mbtouc-safe.
74197         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
74198         * lib/unistr.h: Update.
74199         * lib/unistr/u16-to-u8.c: Update.
74200         * modules/unistr/u16-to-u8: Update.
74201         * lib/unistr/u16-to-u32.c: Update.
74202         * modules/unistr/u16-to-u32: Update.
74203
74204 2007-01-27  Bruno Haible  <bruno@clisp.org>
74205
74206         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
74207         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
74208         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
74209         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
74210         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
74211         * modules/unistr/u8-mbtouc-unsafe: Renamed from
74212         modules/unistr/u8-mbtouc.
74213         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
74214         * lib/unistr.h: Update.
74215         * lib/striconveh.c: Update.
74216         * modules/striconveh: Update.
74217         * lib/linebreak.c: Update.
74218         * modules/linebreak: Update.
74219         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
74220         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
74221         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
74222         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
74223         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
74224         * lib/unistr.h: Update.
74225         * lib/striconveh.c: Update.
74226         * modules/striconveh: Update.
74227         * lib/unistr/u8-to-u16.c: Update.
74228         * modules/unistr/u8-to-u16: Update.
74229         * lib/unistr/u8-to-u32.c: Update.
74230         * modules/unistr/u8-to-u32: Update.
74231
74232 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74233
74234         Sync from Libtool.
74235         * lib/argz.c: Do not include strings.h nor memory.h, include
74236         string.h unconditionally.  Patch by Simon Josefsson.
74237
74238 2007-01-27  Bruno Haible  <bruno@clisp.org>
74239
74240         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
74241         from gl_HEADER_STRING_H_BODY.
74242         (gl_HEADER_STRING_H_BODY): Require it.
74243         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
74244         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
74245         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
74246         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
74247         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
74248         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
74249         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
74250         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
74251         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
74252         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
74253         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
74254         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
74255         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
74256         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
74257         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
74258
74259 2007-01-27  Bruno Haible  <bruno@clisp.org>
74260
74261         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
74262         check_PROGRAMS into noinst_PROGRAMS.
74263         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
74264         check_PROGRAMS in this case.
74265         (func_import): Set for_test to false.
74266         (func_create_testdir): Set for_test to true.
74267
74268 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
74269             Bruno Haible  <bruno@clisp.org>
74270
74271         * modules/strcasestr (Files): Remove lib/strcasestr.h.
74272         (Depends-on): Add string.
74273         (Includes): Use <string.h> instead of strcasestr.h.
74274         * modules/string (Makefile.am): Also substitute the value of
74275         REPLACE_STRCASESTR.
74276         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
74277         assume strcasestr is declared in <string.h> not <strings.h>. Also
74278         set REPLACE_STRCASESTR.
74279         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
74280         REPLACE_STRCASESTR.
74281         * lib/strcasestr.h: Remove file.
74282         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
74283         * lib/string_.h (strcasestr): New declaration.
74284
74285 2007-01-27  Bruno Haible  <bruno@clisp.org>
74286
74287         * lib/string_.h: Use 'extern'.
74288
74289 2007-01-27  Jim Meyering  <jim@meyering.net>
74290
74291         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
74292         of set-but-not-used local, "q".
74293
74294         * lib/mempcpy.c: Include <config.h> before <string.h>.
74295         This fixes a compilation error on HP-UX, due to the system's
74296         "restrict"-using mempcpy prototype.
74297
74298 2007-01-26  Bruno Haible  <bruno@clisp.org>
74299
74300         Small optimization.
74301         * lib/javacomp.c: Include c-strstr.h.
74302          (is_envjavac_gcj): Use c_strstr instead of strstr.
74303         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
74304
74305 2007-01-26  Bruno Haible  <bruno@clisp.org>
74306
74307         * MODULES.html.sh (Unicode string functions): Add the new modules.
74308
74309         * modules/uniconv/u32-strconv-to-locale: New file.
74310         * lib/uniconv/u32-strconv-to-locale.c: New file.
74311
74312         * modules/uniconv/u16-strconv-to-locale: New file.
74313         * lib/uniconv/u16-strconv-to-locale.c: New file.
74314
74315         * modules/uniconv/u8-strconv-to-locale: New file.
74316         * lib/uniconv/u8-strconv-to-locale.c: New file.
74317
74318         * modules/uniconv/u32-strconv-from-locale: New file.
74319         * lib/uniconv/u32-strconv-from-locale.c: New file.
74320
74321         * modules/uniconv/u16-strconv-from-locale: New file.
74322         * lib/uniconv/u16-strconv-from-locale.c: New file.
74323
74324         * modules/uniconv/u8-strconv-from-locale: New file.
74325         * lib/uniconv/u8-strconv-from-locale.c: New file.
74326
74327         * modules/uniconv/u32-strconv-to-enc: New file.
74328         * lib/uniconv/u32-strconv-to-enc.c: New file.
74329         * modules/uniconv/u32-strconv-to-enc-tests: New file.
74330         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
74331
74332         * modules/uniconv/u16-strconv-to-enc: New file.
74333         * lib/uniconv/u16-strconv-to-enc.c: New file.
74334         * lib/uniconv/u-strconv-to-enc.h: New file.
74335         * modules/uniconv/u16-strconv-to-enc-tests: New file.
74336         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
74337
74338         * modules/uniconv/u8-strconv-to-enc: New file.
74339         * lib/uniconv/u8-strconv-to-enc.c: New file.
74340         * modules/uniconv/u8-strconv-to-enc-tests: New file.
74341         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
74342
74343         * modules/uniconv/u32-strconv-from-enc: New file.
74344         * lib/uniconv/u32-strconv-from-enc.c: New file.
74345         * modules/uniconv/u32-strconv-from-enc-tests: New file.
74346         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
74347
74348         * modules/uniconv/u16-strconv-from-enc: New file.
74349         * lib/uniconv/u16-strconv-from-enc.c: New file.
74350         * modules/uniconv/u16-strconv-from-enc-tests: New file.
74351         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
74352
74353         * modules/uniconv/u8-strconv-from-enc: New file.
74354         * lib/uniconv/u8-strconv-from-enc.c: New file.
74355         * lib/uniconv/u-strconv-from-enc.h: New file.
74356         * modules/uniconv/u8-strconv-from-enc-tests: New file.
74357         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
74358
74359         * modules/uniconv/u32-conv-from-enc: New file.
74360         * lib/uniconv/u32-conv-from-enc.c: New file.
74361         * modules/uniconv/u32-conv-from-enc-tests: New file.
74362         * tests/uniconv/test-u32-conv-from-enc.c: New file.
74363
74364         * modules/uniconv/u16-conv-from-enc: New file.
74365         * lib/uniconv/u16-conv-from-enc.c: New file.
74366         * lib/uniconv/u-conv-from-enc.h: New file.
74367         * modules/uniconv/u16-conv-from-enc-tests: New file.
74368         * tests/uniconv/test-u16-conv-from-enc.c: New file.
74369
74370         * modules/uniconv/u8-conv-from-enc: New file.
74371         * lib/uniconv/u8-conv-from-enc.c: New file.
74372         * modules/uniconv/u8-conv-from-enc-tests: New file.
74373         * tests/uniconv/test-u8-conv-from-enc.c: New file.
74374
74375         * modules/uniconv/base: New file.
74376         * lib/uniconv.h: New file.
74377
74378 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
74379
74380         * doc/gnulib-tool.texi (Initial import): Update to match current
74381         behavior with strdup module.
74382         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
74383         * lib/memmem.h: Remove; all uses removed.  This is now done
74384         by <string.h>.
74385         * lib/mempcpy.h: Likewise.
74386         * lib/memrchr.h: Likewise.
74387         * lib/stpcpy.h: Likewise.
74388         * lib/stpncpy.h: Likewise.
74389         * lib/strcase.h: Likewise.
74390         * lib/strchrnul.h: Likewise.
74391         * lib/strdup.h: Likewise.
74392         * lib/strndup.h: Likewise.
74393         * lib/strnlen.h: Likewise.
74394         * lib/strpbrk.h: Likewise.
74395         * lib/strsep.h: Likewise.
74396         * lib/strstr.h: Likewise.
74397         * lib/strtok_r.h: Likewise.
74398         * lib/string_.h: New file.
74399         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
74400         Rely on <string.h> instead.
74401         * lib/canon-host.c: Likewise.
74402         * lib/chdir-long.c: Likewise.
74403         * lib/concatpath.c: Likewise.
74404         * lib/exclude.c: Likewise.
74405         * lib/fchdir.c: Likewise.
74406         * lib/getaddrinfo.c: Likewise.
74407         * lib/getcwd.c: Likewise.
74408         * lib/getsubopt.c: Likewise.
74409         * lib/glob.c: Likewise.
74410         * lib/hard-locale.c: Likewise.
74411         * lib/iconvme.c: Likewise.
74412         * lib/javacomp.c: Likewise.
74413         * lib/mempcpy.c: Likewise.
74414         * lib/memrchr.c: Likewise.
74415         * lib/regex_internal.h: Likewise.
74416         * lib/stpncpy.c: Likewise.
74417         * lib/strcasecmp.c: Likewise.
74418         * lib/strchrnul.c: Likewise.
74419         * lib/strdup.c: Likewise.
74420         * lib/striconv.c: Likewise.
74421         * lib/striconveh.c: Likewise.
74422         * lib/striconveha.c: Likewise.
74423         * lib/strncasecmp.c: Likewise.
74424         * lib/strndup.c: Likewise.
74425         * lib/strnlen.c: Likewise.
74426         * lib/strsep.c: Likewise.
74427         * lib/strstr.c: Likewise.
74428         * lib/strtok_r.c: Likewise.
74429         * lib/userspec.c: Likewise.
74430         * lib/w32spawn.h: Likewise.
74431         * lib/xstrndup.c: Likewise.
74432         * lib/mountlist.c (strstr): Remove decl.
74433         * m4/string_h.m4: New file.
74434         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
74435         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
74436         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
74437         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
74438         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
74439         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
74440         Set REPLACE_STRCASECMP if necessary.
74441         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
74442         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
74443         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
74444         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
74445         HAVE_DECL_STRDUP if necessary.
74446         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
74447         since gl_FUNC_STRNDUP does that now.
74448         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
74449         Check for decl here...
74450         (gl_PREREQ_STRNLEN): ... not here.
74451         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
74452         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
74453         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
74454         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
74455         necessary.
74456         * modules/string: New file.
74457         * modules/memmem (Files): Remove special-purpose include file.
74458         (Depends-on): Add string.
74459         (Include): Include <string.h>, not the removed file.
74460         * modules/mempcpy: Likewise.
74461         * modules/memrchr: Likewise.
74462         * modules/stpcpy: Likewise.
74463         * modules/stpncpy: Likewise.
74464         * modules/strcase: Likewise.
74465         * modules/strchrnul: Likewise.
74466         * modules/strdup: Likewise.
74467         * modules/strndup: Likewise.
74468         * modules/strnlen: Likewise.
74469         * modules/strpbrk: Likewise.
74470         * modules/strsep: Likewise.
74471         * modules/strstr: Likewise.
74472         * modules/strtok_r: Likewise.
74473         * tests/test-dirname.c: Don't include "strdup.h", since
74474         <string.h> now suffices.
74475         * tests/test-memmem.c: Don't include "memmem.h", since
74476         <string.h> now suffices.
74477
74478 2007-01-25  Bruno Haible  <bruno@clisp.org>
74479
74480         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
74481         *resultp is 0.
74482
74483         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
74484         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
74485         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
74486         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
74487
74488         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
74489         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
74490         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
74491         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
74492         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
74493         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
74494
74495 2007-01-24  Bruno Haible  <bruno@clisp.org>
74496
74497         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
74498         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
74499         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
74500         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
74501         gl_FUNC_FTS_CORE.
74502         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
74503         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
74504         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74505         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
74506         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
74507         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
74508         gl_FUNC_FCHOWNAT.
74509         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
74510         gl_FUNC_STRFTIME.
74511         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
74512         Reported by Ralf Wildenhues.
74513
74514 2007-01-24  Bruno Haible  <bruno@clisp.org>
74515
74516         Drop AC_REQUIRE calls that are redundant with the module dependencies.
74517         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
74518         gl_GETADDRINFO.
74519         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
74520         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
74521         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
74522
74523 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
74524
74525         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
74526         Don't use 'exit'; just return from 'main'.
74527         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
74528
74529         * lib/fnmatch_.h: Readjust white space and comments to match
74530         glibc, to avoid spurious diffs.
74531
74532 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74533
74534         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
74535         2004-12-01 change by Jakub Jelinek, since this code won't compile
74536         if !LIBC.  Problem reported by Bob Proulx.
74537
74538 2007-01-23  Bruno Haible  <bruno@clisp.org>
74539
74540         * lib/striconveh.c: Include c-strcaseeq.h.
74541         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
74542         * modules/striconveh (Depends-on): Add c-strcaseeq.
74543
74544 2007-01-23  Bruno Haible  <bruno@clisp.org>
74545
74546         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
74547
74548         * modules/c-strcaseeq: New file.
74549         * lib/c-strcaseeq.h: New file.
74550
74551         * modules/streq: New file.
74552         * lib/streq.h: New file.
74553
74554 2007-01-23  Bruno Haible  <bruno@clisp.org>
74555
74556         * modules/striconveha-tests: New file.
74557         * tests/test-striconveha.c: New file.
74558
74559         * lib/striconveha.h: Include <stdbool.h>.
74560         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
74561         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
74562         (mem_iconveha_notranslit): Renamed from mem_iconveha.
74563         (mem_iconveha): New function.
74564         (str_iconveha_notranslit): Renamed from str_iconveha.
74565         (str_iconveha): New function.
74566         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
74567         c-strcase.
74568
74569 2007-01-23  Bruno Haible  <bruno@clisp.org>
74570
74571         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
74572         encodings without forgiving before trying any encoding with handler.
74573         (str_iconveha): Try all encodings without forgiving before trying any
74574         encoding with handler.
74575
74576 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74577
74578         Import the following changes from libc.
74579
74580         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74581
74582         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
74583
74584         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
74585
74586         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
74587         normal_bracket label.
74588
74589         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
74590
74591         [BZ #361]
74592         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
74593         to normal_bracket after fetching the next character.
74594
74595 2007-01-22  Bruno Haible  <bruno@clisp.org>
74596
74597         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
74598         argument.
74599         * lib/striconveh.c (iconv_carefully_1): New function.
74600         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
74601         argument.
74602         (str_cd_iconveh): Update.
74603         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
74604         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
74605         * tests/test-striconveh.c (MAGIC): New macro.
74606         (new_offsets): New function.
74607         (main): Test call with and without offsets.
74608
74609 2007-01-22  Bruno Haible  <bruno@clisp.org>
74610
74611         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
74612         * modules/sys_select (Makefile.am): Likewise.
74613         * modules/sys_socket (Makefile.am): Likewise.
74614         * modules/sys_time (Makefile.am): Likewise.
74615
74616 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
74617
74618         * modules/gettimeofday (License): Change from GPL to LGPL, since
74619         gettimeofday is a library function.
74620
74621 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74622
74623         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
74624
74625 2007-01-21  Bruno Haible  <bruno@clisp.org>
74626
74627         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
74628
74629 2007-01-21  Bruno Haible  <bruno@clisp.org>
74630
74631         * modules/striconveha: New file.
74632         * lib/striconveha.h: New file.
74633         * lib/striconveha.c: New file.
74634         * MODULES.html.sh (Internationalization functions): Add striconveha.
74635         * lib/striconv.c (str_iconv): Optimize the case of an empty input
74636         string.
74637         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
74638
74639 2007-01-21  Bruno Haible  <bruno@clisp.org>
74640
74641         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
74642         * lib/striconveh.c (str_iconveh): Likewise.
74643
74644 2007-01-21  Bruno Haible  <bruno@clisp.org>
74645
74646         * lib/striconveh.h (mem_iconveh): New declaration.
74647         * lib/striconveh.c (mem_iconveh): New function.
74648         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
74649
74650 2007-01-21  Bruno Haible  <bruno@clisp.org>
74651
74652         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
74653
74654         * lib/striconveh.h (mem_cd_iconveh): Change specification.
74655         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
74656         original result buffer.
74657         (str_cd_iconveh): Update.
74658         * tests/test-striconveh.c (main): Update.
74659
74660         * lib/striconv.h (mem_cd_iconv): Change specification.
74661         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
74662         result buffer.
74663         (str_cd_iconv): Update.
74664         * tests/test-striconv.c (main): Update.
74665
74666 2007-01-21  Bruno Haible  <bruno@clisp.org>
74667
74668         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
74669
74670 2007-01-20  Jim Meyering  <jim@meyering.net>
74671
74672         * lib/userspec.c (parse_with_separator): If a user or group string
74673         starts with "+", skip the corresponding name-to-ID look-up, since
74674         such a look-up must fail: user and group names may not include "+".
74675
74676 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
74677
74678         * lib/poll.c: Include sys/time.h and time.h unconditionally,
74679         since we now assume the sys_time module.
74680         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
74681         check for sys/time.h; no longer needed.
74682         * modules/poll (Depends-on): Depend on sys_time.
74683
74684 2007-01-18  Bruno Haible  <bruno@clisp.org>
74685
74686         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
74687         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74688
74689         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
74690         gettimeofday.
74691
74692         * tests/test-gettimeofday.c: Include <time.h>.
74693         (dummy): Remove variable.
74694
74695         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
74696         gl_HEADER_SYS_TIME_H.
74697         (gl_HEADER_SYS_TIME_H): New macro.
74698
74699         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
74700         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74701         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
74702         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
74703         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74704         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
74705         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
74706         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74707         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
74708         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
74709         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74710
74711         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
74712         last change; it caused a compilation error when cross-compiling to
74713         Cygwin.
74714
74715 2007-01-18  Jim Meyering  <jim@meyering.net>
74716
74717         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
74718         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
74719         than the race-prone "test -d sys || mkdir sys".
74720         (configure.ac): Use AC_PROG_MKDIR_P.
74721         * modules/sys_select: Likewise.
74722         * modules/sys_socket: Likewise.
74723         * modules/sys_time: Likewise.
74724
74725 2007-01-18  Eric Blake  <ebb9@byu.net>
74726
74727         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
74728         replace gettimeofday.
74729         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
74730         name, to avoid infinite recursion.
74731
74732 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
74733
74734         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
74735         module sys_time.
74736         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
74737         assume timespec.h defines struct timeval.
74738         * lib/settime.c: Likewise.
74739         * lib/utimens.c: Likewise.
74740         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
74741         since we now assume the gettimeofday module.
74742         * lib/tempname.c (__gen_tempname): Likewise.
74743         * lib/gettimeofday.h: Remove.
74744         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
74745         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
74746         Include <time.h>, for 'time()'.
74747         (localtime_buffer_addr): Also use this workaround if
74748         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
74749         to simplify the uses.  All uses changed.
74750         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
74751         that #undef is inside {}, and 'const' follows type name consistently.
74752         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
74753         (gettimeofday): Do not use the maximum possible value for
74754         tv->tv_usec, since that might break usages other than ls.c.
74755         Instead, we'll leave ls.c alone.  This undoes today's patch
74756         by Bruno.  Add a compile-time warning for 1s-clock resolution;
74757         we've never observed the problem but might as well keep the
74758         canary.
74759         * lib/nanosleep.c: Include timespec.h first, for interface check.
74760         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
74761         now assume the sys_time module.
74762         * lib/tempname.c: Likewise.
74763         * lib/timespec.h: Likewise.
74764         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
74765         needed.
74766         * lib/strftime.c: Likewise.
74767         * lib/timespec.h: Likewise.
74768         * lib/posixtm.c: Include posixtm.h first, for interface check.
74769         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
74770         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
74771         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
74772         * lib/sys_time_.h: New file.
74773         * lib/timespec.h (struct timespec): Use long int, not long.
74774         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74775         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
74776         Remove obsolescent call to AC_HEADER_TIME.
74777         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
74778         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74779         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74780         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
74781         Likewise.
74782         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
74783         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
74784         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
74785         into the sys_time module.  Check for gettimeofday just once.
74786         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
74787         for gettimeofday signature to just check the signature.  Merely
74788         compile it, since linking doesn't test signature.  Improve test for
74789         whether gettimeofday.o is actually needed.
74790         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
74791         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
74792         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
74793         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74794         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
74795         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
74796         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
74797         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
74798         than worrying about sys/time.h.
74799         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
74800         Don't bother worrying about TIME_WITH_SYS_TIME.
74801         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
74802         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
74803         * m4/sys_time_h.m4: New file.
74804         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
74805         Don't include sys/time.h.  Return from main rather than exiting.
74806         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
74807         all uses changed.
74808         * modules/gethrxtime (Depends-on): Add sys_time.
74809         * modules/gettime (Depends-on): Likewise.
74810         * modules/gettimeofday (Depends-on): Likewise.
74811         * modules/nanosleep (Depends-on): Likewise.
74812         * modules/settime (Depends-on): Likewise.
74813         * modules/tempname (Depends-on): Likewise.
74814         * modules/utimens (Depends-on): Likewise.
74815         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
74816         (Include): Change back to <sys/time.h>.
74817         (Maintainer): Add self.
74818         * modules/sys_time: New file.
74819         * modules/tempname (Depends-on): Add gettimeofday.
74820         * tests/test-gettimeofday.c: Include <sys/time.h>
74821         rather than gettimeofday.h.
74822
74823 2007-01-17  Bruno Haible  <bruno@clisp.org>
74824
74825         * gnulib-tool (func_get_license): Revert last patch. Instead, let
74826         the license default to GPL.
74827         (func_create_testdir): Don't complain if a module is LGPL and its
74828         tests module depends on GPLed modules.
74829
74830 2007-01-17  Bruno Haible  <bruno@clisp.org>
74831
74832         * lib/gettimeofday.c (gettimeofday): Add code for the case
74833         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
74834         maximum possible value for tv->tv_usec, rather than the minimum one.
74835
74836 2005-10-08  Martin Lambers  <marlam@marlam.de>
74837 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74838 2007-01-16  Bruno Haible  <bruno@clisp.org>
74839
74840         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
74841         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
74842         gl_FUNC_GETTIMEOFDAY.
74843         (Include): Add gettimeofday.h.
74844         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
74845         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
74846         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
74847         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
74848         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
74849         * lib/gettimeofday.h: New file.
74850         * lib/gettimeofday.c: Include <sys/timeb.h>.
74851         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
74852         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74853         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
74854         fall back on time().
74855
74856         * tests/test-gettimeofday.c: New file.
74857         * modules/gettimeofday-tests: New file.
74858
74859 2007-01-16  Eric Blake  <ebb9@byu.net>
74860
74861         * modules/fnmatch (Depends-on): Depend on wchar.
74862         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
74863         * m4/fnmatch.m4: Likewise.
74864         * modules/mbchar (Makefile.am): Assume <wchar.h>.
74865         * m4/mbchar.m4: Likewise.
74866         * modules/mbswidth (Depends-on): Depend on wchar.
74867         * lib/mbswidth.c: Assume <wchar.h>.
74868         * m4/mbswidth.m4: Likewise.
74869         * modules/quotearg (Depends-on): Depend on wchar.
74870         * lib/quotearg.c: Assume <wchar.h>.
74871         * m4/quotearg.m4: Likewise.
74872         * modules/regex (Depends-on): Depend on wchar.
74873         * lib/regex_internal.h: Assume <wchar.h>.
74874         * m4/regex.m4: Likewise.
74875         * modules/stdint (Depends-on): Depend on wchar.
74876         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
74877         * m4/stdint.m4: Likewise.
74878         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
74879         * modules/strftime (Depends-on): Depend on wchar.
74880         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
74881         * modules/strtol (Depends-on): Depend on wchar.
74882         * lib/strtol.c: Assume <wchar.h>.
74883         * modules/wcwidth (Depends-on): Depend on wchar.
74884         * lib/wcwidth.h: Assume <wchar.h>.
74885         * m4/wcwidth.m4: Likewise.
74886
74887 2007-01-16  Bruno Haible  <bruno@clisp.org>
74888
74889         * modules/csharpexec-script: New, created from...
74890         * modules/csharpexec: ... this.
74891
74892 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
74893
74894         * modules/javaexec-script: New, created from...
74895         * modules/javaexec: ... this.
74896
74897 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74898
74899         * modules/poll (Dependencies): Add sys_select.
74900
74901 2007-01-15  Jim Meyering  <jim@meyering.net>
74902
74903         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
74904         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
74905         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
74906         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
74907
74908 2007-01-15  Bruno Haible  <bruno@clisp.org>
74909
74910         * modules/striconveh: New file.
74911         * lib/striconveh.h: New file.
74912         * lib/striconveh.c: New file.
74913         * MODULES.html.sh (Internationalization functions): Add striconveh.
74914
74915         * modules/striconveh-tests: New file.
74916         * tests/test-striconveh.c: New file.
74917
74918 2007-01-15  Bruno Haible  <bruno@clisp.org>
74919
74920         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
74921         not from GNU libiconv or GNU libc.
74922
74923 2007-01-15  Bruno Haible  <bruno@clisp.org>
74924
74925         * doc/gnulib-intro.texi (Copyright): Explain the different license
74926         terms for module descriptions, autoconf macros, tests, documentation.
74927
74928 2007-01-14  Bruno Haible  <bruno@clisp.org>
74929
74930         * modules/striconv-tests: New file.
74931         * tests/test-striconv.c: New file.
74932
74933 2007-01-14  Bruno Haible  <bruno@clisp.org>
74934
74935         * modules/iconv-tests: New file.
74936         * tests/test-iconv.c: New file.
74937
74938 2007-01-14  Bruno Haible  <bruno@clisp.org>
74939
74940         * gnulib-tool (func_get_license): For test modules, use the license of
74941         the main module.
74942
74943 2007-01-14  Bruno Haible  <bruno@clisp.org>
74944
74945         * modules/iconv (Include): Clarify that <iconv.h> can only be included
74946         if iconv is found to exist.
74947
74948 2007-01-14  Bruno Haible  <bruno@clisp.org>
74949
74950         * modules/c-ctype-tests: New file.
74951         * tests/test-c-ctype.c: New file.
74952
74953 2007-01-14  Bruno Haible  <bruno@clisp.org>
74954
74955         * modules/binary-io-tests: New file.
74956         * tests/test-binary-io.sh: New file.
74957         * tests/test-binary-io.c: New file.
74958
74959 2007-01-14  Bruno Haible  <bruno@clisp.org>
74960
74961         * modules/array-oset-tests: New file.
74962         * tests/test-array_oset.c: New file.
74963
74964 2007-01-14  Bruno Haible  <bruno@clisp.org>
74965
74966         * modules/array-list-tests: New file.
74967         * tests/test-array_list.c: New file.
74968
74969 2007-01-14  Bruno Haible  <bruno@clisp.org>
74970
74971         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
74972         and make.
74973         Reported by Simon Josefsson in
74974         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
74975
74976 2007-01-14  Bruno Haible  <bruno@clisp.org>
74977
74978         * modules/allocsa-tests: New file.
74979         * tests/test-allocsa.c: New file.
74980
74981 2007-01-14  Bruno Haible  <bruno@clisp.org>
74982
74983         * modules/fchdir (Depends-on): Add absolute-header.
74984         * modules/unistd (Depends-on): Likewise.
74985
74986 2006-12-30  Bruno Haible  <bruno@clisp.org>
74987
74988         * modules/fchdir: New file.
74989         * modules/unistd (Files): Add lib/unistd_.h.
74990         (Makefile.am): Generate unistd.h from unistd_.h.
74991         * lib/fchdir.c: New file.
74992         * lib/dirent_.h: New file.
74993         * lib/unistd_.h: New file.
74994         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
74995         * m4/fchdir.m4: New file.
74996         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
74997         (gl_HEADER_UNISTD): Invoke it.
74998         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
74999         function.
75000         * lib/backupfile.c (opendir, closedir): Undefine.
75001         * lib/chown.c (open, close): Undefine.
75002         * lib/clean-temp.c (open, close): Undefine.
75003         * lib/copy-file.c (open, close): Undefine.
75004         * lib/execute.c (open, close): Undefine.
75005         * lib/fsusage.c (open, close): Undefine.
75006         * lib/gc-gnulib.c (open, close): Undefine.
75007         * lib/getcwd.c (opendir, closedir): Undefine.
75008         * lib/glob.c (opendir, closedir): Undefine.
75009         * lib/javacomp.c (open, close): Undefine.
75010         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
75011         * lib/openat-proc.c (open, close): Undefine.
75012         * lib/pagealign_alloc.c (open, close): Undefine.
75013         * lib/pipe.c (open, close): Undefine.
75014         * lib/progreloc.c (open, close): Undefine.
75015         * lib/savedir.c (opendir, closedir): Undefine.
75016         * lib/utime.c (open, close): Undefine.
75017         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
75018
75019 2007-01-10  Bruno Haible  <bruno@clisp.org>
75020
75021         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
75022
75023 2007-01-12  Eric Blake  <ebb9@byu.net>
75024
75025         Provide a robust <wchar.h>.  Further simplifications are now
75026         possible in other modules, but not included here.
75027         * modules/wchar: New module.
75028         * m4/wchar.m4: New file.
75029         * lib/wchar_.h: Likewise.
75030         * modules/mbchar (Depends-on): Depend on wchar, as the first use
75031         of the new module.
75032         * MODULES.html.sh (Extended multibyte and wide character utilities):
75033         New section.
75034
75035 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
75036
75037         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
75038         to a reasonable default for memory allocation.
75039         (xreadlink): Don't allocate a huge buffer, to work around a buggy
75040         file system that reports garbage st_size values for symlinks.
75041         Problem reported by Liyang Hu.
75042
75043 2007-01-11  Simon Josefsson  <simon@josefsson.org>
75044
75045         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
75046         Emacs .#* auto-save files).
75047
75048 2007-01-11  Bruno Haible  <bruno@clisp.org>
75049
75050         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
75051         directory.
75052
75053 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75054
75055         Use @...@ consistently in lib/wctype_.h.
75056         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
75057         on it being set to 1 or 0.
75058         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
75059         go back to AC_SUBSTing it.
75060         * modules/wctype (Makefile.am): Undo previous change.
75061
75062 2007-01-10  Eric Blake  <ebb9@byu.net>
75063
75064         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
75065         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
75066         * modules/wctype (Makefile.am): Likewise.
75067         Reported by Chris McGuire.
75068
75069 2007-01-10  Jim Meyering  <jim@meyering.net>
75070
75071         fts.c: a small readability/maintainability improvement
75072         * lib/fts.c (fts_read): Make this code slightly more readable and
75073         maintainable by hoisting the "sp->fts_cur = p" assignments to
75074         immediately follow the statements that set P.  Derived from
75075         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
75076
75077 2007-01-10  Eric Blake  <ebb9@byu.net>
75078
75079         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
75080         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
75081         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75082         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
75083         Reported by Chris McGuire.
75084
75085 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75086
75087         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
75088         in sed script.
75089
75090 2007-01-09  Bruno Haible  <bruno@clisp.org>
75091
75092         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
75093         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
75094         variables.
75095         (func_module): Use them.
75096
75097 2007-01-09  Bruno Haible  <bruno@clisp.org>
75098
75099         * modules/unistr/base: New file.
75100         * lib/unistr.h: New file.
75101
75102         * modules/unistr/u8-to-u16: New file.
75103         * lib/unistr/u8-to-u16.c: New file.
75104
75105         * modules/unistr/u8-to-u32: New file.
75106         * lib/unistr/u8-to-u32.c: New file.
75107
75108         * modules/unistr/u16-to-u8: New file.
75109         * lib/unistr/u16-to-u8.c: New file.
75110
75111         * modules/unistr/u16-to-u32: New file.
75112         * lib/unistr/u16-to-u32.c: New file.
75113
75114         * modules/unistr/u32-to-u8: New file.
75115         * lib/unistr/u32-to-u8.c: New file.
75116
75117         * modules/unistr/u32-to-u16: New file.
75118         * lib/unistr/u32-to-u16.c: New file.
75119
75120         * modules/unistr/u8-check: New file.
75121         * modules/unistr/u16-check: New file.
75122         * modules/unistr/u32-check: New file.
75123         * lib/unistr/u8-check.c: New file.
75124         * lib/unistr/u16-check.c: New file.
75125         * lib/unistr/u32-check.c: New file.
75126
75127         * modules/unistr/u8-chr: New file.
75128         * modules/unistr/u16-chr: New file.
75129         * modules/unistr/u32-chr: New file.
75130         * lib/unistr/u8-chr.c: New file.
75131         * lib/unistr/u16-chr.c: New file.
75132         * lib/unistr/u32-chr.c: New file.
75133
75134         * modules/unistr/u8-cmp: New file.
75135         * modules/unistr/u16-cmp: New file.
75136         * modules/unistr/u32-cmp: New file.
75137         * lib/unistr/u8-cmp.c: New file.
75138         * lib/unistr/u16-cmp.c: New file.
75139         * lib/unistr/u32-cmp.c: New file.
75140
75141         * modules/unistr/u8-cpy: New file.
75142         * modules/unistr/u16-cpy: New file.
75143         * modules/unistr/u32-cpy: New file.
75144         * lib/unistr/u8-cpy.c: New file.
75145         * lib/unistr/u16-cpy.c: New file.
75146         * lib/unistr/u32-cpy.c: New file.
75147         * lib/unistr/u-cpy.h: New file.
75148
75149         * modules/unistr/u8-cpy-alloc: New file.
75150         * modules/unistr/u16-cpy-alloc: New file.
75151         * modules/unistr/u32-cpy-alloc: New file.
75152         * lib/unistr/u8-cpy-alloc.c: New file.
75153         * lib/unistr/u16-cpy-alloc.c: New file.
75154         * lib/unistr/u32-cpy-alloc.c: New file.
75155         * lib/unistr/u-cpy-alloc.h: New file.
75156
75157         * modules/unistr/u8-endswith: New file.
75158         * modules/unistr/u16-endswith: New file.
75159         * modules/unistr/u32-endswith: New file.
75160         * lib/unistr/u8-endswith.c: New file.
75161         * lib/unistr/u16-endswith.c: New file.
75162         * lib/unistr/u32-endswith.c: New file.
75163         * lib/unistr/u-endswith.h: New file.
75164
75165         * modules/unistr/u8-mblen: New file.
75166         * modules/unistr/u16-mblen: New file.
75167         * modules/unistr/u32-mblen: New file.
75168         * lib/unistr/u8-mblen.c: New file.
75169         * lib/unistr/u16-mblen.c: New file.
75170         * lib/unistr/u32-mblen.c: New file.
75171
75172         * modules/unistr/u8-mbtouc: New file.
75173         * modules/unistr/u16-mbtouc: New file.
75174         * modules/unistr/u32-mbtouc: New file.
75175         * lib/unistr/u8-mbtouc.c: New file.
75176         * lib/unistr/u16-mbtouc.c: New file.
75177         * lib/unistr/u32-mbtouc.c: New file.
75178
75179         * modules/unistr/u8-mbtouc-safe: New file.
75180         * modules/unistr/u16-mbtouc-safe: New file.
75181         * modules/unistr/u32-mbtouc-safe: New file.
75182         * lib/unistr/u8-mbtouc-safe.c: New file.
75183         * lib/unistr/u16-mbtouc-safe.c: New file.
75184         * lib/unistr/u32-mbtouc-safe.c: New file.
75185
75186         * modules/unistr/u8-move: New file.
75187         * modules/unistr/u16-move: New file.
75188         * modules/unistr/u32-move: New file.
75189         * lib/unistr/u8-move.c: New file.
75190         * lib/unistr/u16-move.c: New file.
75191         * lib/unistr/u32-move.c: New file.
75192         * lib/unistr/u-move.h: New file.
75193
75194         * modules/unistr/u8-next: New file.
75195         * modules/unistr/u16-next: New file.
75196         * modules/unistr/u32-next: New file.
75197         * lib/unistr/u8-next.c: New file.
75198         * lib/unistr/u16-next.c: New file.
75199         * lib/unistr/u32-next.c: New file.
75200
75201         * modules/unistr/u8-prev: New file.
75202         * modules/unistr/u16-prev: New file.
75203         * modules/unistr/u32-prev: New file.
75204         * lib/unistr/u8-prev.c: New file.
75205         * lib/unistr/u16-prev.c: New file.
75206         * lib/unistr/u32-prev.c: New file.
75207
75208         * modules/unistr/u8-set: New file.
75209         * modules/unistr/u16-set: New file.
75210         * modules/unistr/u32-set: New file.
75211         * lib/unistr/u8-set.c: New file.
75212         * lib/unistr/u16-set.c: New file.
75213         * lib/unistr/u32-set.c: New file.
75214         * lib/unistr/u-set.h: New file.
75215
75216         * modules/unistr/u8-startswith: New file.
75217         * modules/unistr/u16-startswith: New file.
75218         * modules/unistr/u32-startswith: New file.
75219         * lib/unistr/u8-startswith.c: New file.
75220         * lib/unistr/u16-startswith.c: New file.
75221         * lib/unistr/u32-startswith.c: New file.
75222         * lib/unistr/u-startswith.h: New file.
75223
75224         * modules/unistr/u8-stpcpy: New file.
75225         * modules/unistr/u16-stpcpy: New file.
75226         * modules/unistr/u32-stpcpy: New file.
75227         * lib/unistr/u8-stpcpy.c: New file.
75228         * lib/unistr/u16-stpcpy.c: New file.
75229         * lib/unistr/u32-stpcpy.c: New file.
75230         * lib/unistr/u-stpcpy.h: New file.
75231
75232         * modules/unistr/u8-stpncpy: New file.
75233         * modules/unistr/u16-stpncpy: New file.
75234         * modules/unistr/u32-stpncpy: New file.
75235         * lib/unistr/u8-stpncpy.c: New file.
75236         * lib/unistr/u16-stpncpy.c: New file.
75237         * lib/unistr/u32-stpncpy.c: New file.
75238         * lib/unistr/u-stpncpy.h: New file.
75239
75240         * modules/unistr/u8-strcat: New file.
75241         * modules/unistr/u16-strcat: New file.
75242         * modules/unistr/u32-strcat: New file.
75243         * lib/unistr/u8-strcat.c: New file.
75244         * lib/unistr/u16-strcat.c: New file.
75245         * lib/unistr/u32-strcat.c: New file.
75246         * lib/unistr/u-strcat.h: New file.
75247
75248         * modules/unistr/u8-strchr: New file.
75249         * modules/unistr/u16-strchr: New file.
75250         * modules/unistr/u32-strchr: New file.
75251         * lib/unistr/u8-strchr.c: New file.
75252         * lib/unistr/u16-strchr.c: New file.
75253         * lib/unistr/u32-strchr.c: New file.
75254
75255         * modules/unistr/u8-strcmp: New file.
75256         * modules/unistr/u16-strcmp: New file.
75257         * modules/unistr/u32-strcmp: New file.
75258         * lib/unistr/u8-strcmp.c: New file.
75259         * lib/unistr/u16-strcmp.c: New file.
75260         * lib/unistr/u32-strcmp.c: New file.
75261
75262         * modules/unistr/u8-strcpy: New file.
75263         * modules/unistr/u16-strcpy: New file.
75264         * modules/unistr/u32-strcpy: New file.
75265         * lib/unistr/u8-strcpy.c: New file.
75266         * lib/unistr/u16-strcpy.c: New file.
75267         * lib/unistr/u32-strcpy.c: New file.
75268         * lib/unistr/u-strcpy.h: New file.
75269
75270         * modules/unistr/u8-strcspn: New file.
75271         * modules/unistr/u16-strcspn: New file.
75272         * modules/unistr/u32-strcspn: New file.
75273         * lib/unistr/u8-strcspn.c: New file.
75274         * lib/unistr/u16-strcspn.c: New file.
75275         * lib/unistr/u32-strcspn.c: New file.
75276         * lib/unistr/u-strcspn.h: New file.
75277
75278         * modules/unistr/u8-strdup: New file.
75279         * modules/unistr/u16-strdup: New file.
75280         * modules/unistr/u32-strdup: New file.
75281         * lib/unistr/u8-strdup.c: New file.
75282         * lib/unistr/u16-strdup.c: New file.
75283         * lib/unistr/u32-strdup.c: New file.
75284         * lib/unistr/u-strdup.h: New file.
75285
75286         * modules/unistr/u8-strlen: New file.
75287         * modules/unistr/u16-strlen: New file.
75288         * modules/unistr/u32-strlen: New file.
75289         * lib/unistr/u8-strlen.c: New file.
75290         * lib/unistr/u16-strlen.c: New file.
75291         * lib/unistr/u32-strlen.c: New file.
75292         * lib/unistr/u-strlen.h: New file.
75293
75294         * modules/unistr/u8-strmblen: New file.
75295         * modules/unistr/u16-strmblen: New file.
75296         * modules/unistr/u32-strmblen: New file.
75297         * lib/unistr/u8-strmblen.c: New file.
75298         * lib/unistr/u16-strmblen.c: New file.
75299         * lib/unistr/u32-strmblen.c: New file.
75300
75301         * modules/unistr/u8-strmbtouc: New file.
75302         * modules/unistr/u16-strmbtouc: New file.
75303         * modules/unistr/u32-strmbtouc: New file.
75304         * lib/unistr/u8-strmbtouc.c: New file.
75305         * lib/unistr/u16-strmbtouc.c: New file.
75306         * lib/unistr/u32-strmbtouc.c: New file.
75307
75308         * modules/unistr/u8-strncat: New file.
75309         * modules/unistr/u16-strncat: New file.
75310         * modules/unistr/u32-strncat: New file.
75311         * lib/unistr/u8-strncat.c: New file.
75312         * lib/unistr/u16-strncat.c: New file.
75313         * lib/unistr/u32-strncat.c: New file.
75314         * lib/unistr/u-strncat.h: New file.
75315
75316         * modules/unistr/u8-strncmp: New file.
75317         * modules/unistr/u16-strncmp: New file.
75318         * modules/unistr/u32-strncmp: New file.
75319         * lib/unistr/u8-strncmp.c: New file.
75320         * lib/unistr/u16-strncmp.c: New file.
75321         * lib/unistr/u32-strncmp.c: New file.
75322
75323         * modules/unistr/u8-strncpy: New file.
75324         * modules/unistr/u16-strncpy: New file.
75325         * modules/unistr/u32-strncpy: New file.
75326         * lib/unistr/u8-strncpy.c: New file.
75327         * lib/unistr/u16-strncpy.c: New file.
75328         * lib/unistr/u32-strncpy.c: New file.
75329         * lib/unistr/u-strncpy.h: New file.
75330
75331         * modules/unistr/u8-strnlen: New file.
75332         * modules/unistr/u16-strnlen: New file.
75333         * modules/unistr/u32-strnlen: New file.
75334         * lib/unistr/u8-strnlen.c: New file.
75335         * lib/unistr/u16-strnlen.c: New file.
75336         * lib/unistr/u32-strnlen.c: New file.
75337         * lib/unistr/u-strnlen.h: New file.
75338
75339         * modules/unistr/u8-strpbrk: New file.
75340         * modules/unistr/u16-strpbrk: New file.
75341         * modules/unistr/u32-strpbrk: New file.
75342         * lib/unistr/u8-strpbrk.c: New file.
75343         * lib/unistr/u16-strpbrk.c: New file.
75344         * lib/unistr/u32-strpbrk.c: New file.
75345         * lib/unistr/u-strpbrk.h: New file.
75346
75347         * modules/unistr/u8-strrchr: New file.
75348         * modules/unistr/u16-strrchr: New file.
75349         * modules/unistr/u32-strrchr: New file.
75350         * lib/unistr/u8-strrchr.c: New file.
75351         * lib/unistr/u16-strrchr.c: New file.
75352         * lib/unistr/u32-strrchr.c: New file.
75353
75354         * modules/unistr/u8-strspn: New file.
75355         * modules/unistr/u16-strspn: New file.
75356         * modules/unistr/u32-strspn: New file.
75357         * lib/unistr/u8-strspn.c: New file.
75358         * lib/unistr/u16-strspn.c: New file.
75359         * lib/unistr/u32-strspn.c: New file.
75360         * lib/unistr/u-strspn.h: New file.
75361
75362         * modules/unistr/u8-strstr: New file.
75363         * modules/unistr/u16-strstr: New file.
75364         * modules/unistr/u32-strstr: New file.
75365         * lib/unistr/u8-strstr.c: New file.
75366         * lib/unistr/u16-strstr.c: New file.
75367         * lib/unistr/u32-strstr.c: New file.
75368         * lib/unistr/u-strstr.h: New file.
75369
75370         * modules/unistr/u8-strtok: New file.
75371         * modules/unistr/u16-strtok: New file.
75372         * modules/unistr/u32-strtok: New file.
75373         * lib/unistr/u8-strtok.c: New file.
75374         * lib/unistr/u16-strtok.c: New file.
75375         * lib/unistr/u32-strtok.c: New file.
75376         * lib/unistr/u-strtok.h: New file.
75377
75378         * modules/unistr/u8-uctomb: New file.
75379         * modules/unistr/u16-uctomb: New file.
75380         * modules/unistr/u32-uctomb: New file.
75381         * lib/unistr/u8-uctomb.c: New file.
75382         * lib/unistr/u16-uctomb.c: New file.
75383         * lib/unistr/u32-uctomb.c: New file.
75384
75385         * MODULES.html.sh (Unicode string functions): Add the new modules.
75386
75387 2007-01-08  Bruno Haible  <bruno@clisp.org>
75388
75389         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
75390         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
75391         subdirectories.
75392
75393 2007-01-08  Karl Berry  <karl@gnu.org>
75394
75395         * doc/error.texi: mention that main() fns must set program_name
75396         when progname is used.
75397
75398 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
75399
75400         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
75401         WCTYPE_H is empty, for the benefit of builds from non-distclean
75402         directories.  Problem reported by Eric Blake in
75403         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
75404
75405 2007-01-08  Bruno Haible  <bruno@clisp.org>
75406
75407         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
75408         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
75409         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
75410         PROVIDE_CANONICALIZE_FILENAME_MODE.
75411         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
75412
75413 2007-01-08  Bruno Haible  <bruno@clisp.org>
75414
75415         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
75416         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
75417         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
75418         * lib/fts.c: Likewise.
75419         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
75420
75421 2006-12-25  Bruno Haible  <bruno@clisp.org>
75422
75423         * modules/utf8-ucs4-safe: New file.
75424         * lib/utf8-ucs4-safe.h: New file.
75425         * lib/unistr/utf8-ucs4-safe.c: New file.
75426
75427         * modules/utf16-ucs4-safe: New file.
75428         * lib/utf16-ucs4-safe.h: New file.
75429         * lib/unistr/utf16-ucs4-safe.c: New file.
75430
75431         * MODULES.html.sh (Unicode string functions): Add the new modules.
75432
75433 2007-01-08  Bruno Haible  <bruno@clisp.org>
75434
75435         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
75436         (Depends-on): Add unitypes.
75437         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75438         (u8_mbtouc_aux): Move out to separate file.
75439         (u8_mbtouc): Use ucs4_t, uint8_t types.
75440         * lib/unistr/utf8-ucs4.c: New file.
75441
75442         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
75443         (Depends-on): Add unitypes.
75444         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75445         (u16_mbtouc_aux): Move out to separate file.
75446         (u16_mbtouc): Use ucs4_t, uint16_t types.
75447         * lib/unistr/utf16-ucs4.c: New file.
75448
75449         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
75450         (Depends-on): Add unitypes.
75451         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
75452         (u8_uctomb_aux): Move out to separate file.
75453         (u8_uctomb): Use ucs4_t, uint8_t types.
75454         * lib/unistr/ucs4-utf8.c: New file.
75455
75456         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
75457         (Depends-on): Add unitypes.
75458         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
75459         (u16_uctomb_aux): Move out to separate file.
75460         (u16_uctomb): Use ucs4_t, uint16_t types.
75461         * lib/unistr/ucs4-utf16.c: New file.
75462
75463 2006-12-25  Bruno Haible  <bruno@clisp.org>
75464
75465         * modules/unitypes: New file.
75466         * lib/unitypes.h: New file.
75467         * MODULES.html.sh (func_all_modules): New section "Unicode string
75468         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
75469         this section. Add unitypes.
75470
75471 2007-01-08  Bruno Haible  <bruno@clisp.org>
75472
75473         Avoid variable names that conflict with those from libtool.
75474         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
75475         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
75476         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
75477         library_names_spec to acl_library_names_spec, hardcode_* to
75478         acl_hardcode_*.
75479         Reported by Ralf Wildenhues.
75480
75481 2007-01-08  Bruno Haible  <bruno@clisp.org>
75482
75483         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
75484         definition.
75485         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
75486         definition.
75487         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
75488         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
75489         definition.
75490         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
75491         definition.
75492         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
75493         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
75494         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
75495         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
75496         definition.
75497         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
75498         definition.
75499         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
75500         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
75501         GC_USE_<algorithm>.
75502         * lib/gc-libgcrypt.c: Likewise.
75503         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
75504         * modules/gc-arctwo (configure.ac): Likewise.
75505         * modules/gc-des (configure.ac): Likewise.
75506         * modules/gc-hmac-md5 (configure.ac): Likewise.
75507         * modules/gc-hmac-sha1 (configure.ac): Likewise.
75508         * modules/gc-md2 (configure.ac): Likewise.
75509         * modules/gc-md4 (configure.ac): Likewise.
75510         * modules/gc-md5 (configure.ac): Likewise.
75511         * modules/gc-random (configure.ac): Likewise.
75512         * modules/gc-rijndael (configure.ac): Likewise.
75513         * modules/gc-sha1 (configure.ac): Likewise.
75514
75515 2007-01-08  Bruno Haible  <bruno@clisp.org>
75516
75517         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
75518         macro definition.
75519         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
75520         definition.
75521         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
75522         definition.
75523         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
75524         * modules/fcntl-safer (configure.ac): Likewise.
75525         * modules/fopen-safer (configure.ac): Likewise.
75526         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
75527         GNULIB_FWRITEERROR macro definition.
75528
75529 2007-01-08  Bruno Haible  <bruno@clisp.org>
75530
75531         * m4/gnulib-common.m4: New file.
75532         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
75533         (func_get_filelist): Add m4/gnulib-common.m4.
75534
75535 2007-01-08  Bruno Haible  <bruno@clisp.org>
75536
75537         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
75538         command.
75539
75540 2007-01-08  Jim Meyering  <jim@meyering.net>
75541
75542         Use a more robust test for a "can't happen" condition.
75543         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
75544         narrowed the st_size value.  Presuming the "can't happen" condition
75545         is true, that narrowing could conceivably convert an invalid st_size
75546         value into a valid one.  Instead, use a change based on Matthew
75547         Woehlke's original patch.
75548
75549         Slight readability improvement: use an assert-like macro
75550         in place of literal "abort ()" uses.
75551         * lib/fts.c (fts_assert): Define.
75552         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
75553         Use this macro instead of a bare 'abort'.
75554
75555 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
75556
75557         Don't worry about using IRIX 5.3's wctype.h broken definitions;
75558         simply work around them.
75559         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
75560         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
75561         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
75562         declaring.
75563         Don't bother to define as macros, since the standard doesn't require it.
75564         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
75565         longer worry about IRIX 5.3.
75566         (HAVE_WCTYPE_CTMP_BUG): Remove.
75567
75568 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75569
75570         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
75571         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
75572         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
75573         Problems reported by Georg Schwarz for IRIX 5.3.
75574
75575         * gnulib-tool (autoconf_minversion): Take the maximum version number
75576         found, not the minimum.  Problem reported by James Youngman.
75577
75578 2007-01-03  Karl Berry  <karl@gnu.org>
75579
75580         * doc/error.texi: new file, explaining interaction with progname.
75581         * doc/gnulib.texi: include it.  Update copyright.
75582
75583 2007-01-03  Simon Josefsson  <simon@josefsson.org>
75584
75585         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
75586         AC_CANONICAL_HOST, to improve autobuild outputs.
75587
75588 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
75589             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
75590
75591         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
75592         sockets, server sockets, and other file descriptors.  Count errors
75593         to compute the return value.  Reorder the code a bit to be easier
75594         to follow.  Don't set event bits that were not requested (except
75595         POLLERR and POLLHUP).
75596
75597 2007-01-01  Bruno Haible  <bruno@clisp.org>
75598
75599         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
75600
75601 2007-01-03  Jim Meyering  <jim@meyering.net>
75602
75603         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
75604
75605 2007-01-02  Bruno Haible  <bruno@clisp.org>
75606
75607         * modules/settime (Include): Require timespec.h.
75608         * modules/nanosleep (Include): Likewise.
75609
75610 2007-01-01  Bruno Haible  <bruno@clisp.org>
75611
75612         * gnulib-tool (func_emit_copyright_notice): Bump year.
75613         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
75614
75615 2007-01-01  Bruno Haible  <bruno@clisp.org>
75616
75617         Improve support for OpenBSD.
75618         * build-aux/config.rpath (libname_spec): Export.
75619         (library_names_spec): New variable. Export.
75620         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
75621         library_names_spec from the config.rpath output. Locate shared library
75622         through the name pattern in library_names_spec.
75623
75624 2007-01-01  Eric Blake  <ebb9@byu.net>
75625
75626         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
75627
75628 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
75629
75630         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
75631         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
75632         assume the C locale, and avoid an "eval" that could cause trouble.
75633         Problem with SORT reported by Bob Proulx.
75634
75635         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
75636         Define.  Trivial patch from Henning Nielsen Lund, originally
75637         sent to bug-grep@gnu.org today.
75638
75639 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
75640
75641         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
75642         struct stat.  Problem reported by Henning Nielsen Lund.
75643         * lib/acl.c: Include acl.h first, to check interface.  Don't
75644         bother to include sys/types.h and sys/stat.h again.
75645
75646 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
75647
75648         Import the following change from libc; problem reported by
75649         Sven Verdoolaege.
75650
75651         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
75652
75653         [BZ #1373]
75654         * lib/argp.h: Remove __NTH for __argp_usage inline function.
75655
75656 2006-12-28  Jim Meyering  <jim@meyering.net>
75657
75658         * build-aux/announce-gen: Do not assume that the package
75659         builds any of tar.gz, tar.bz2, and .xdelta files.
75660         Suggestion from Simon Josefsson.
75661
75662 2006-12-28  Simon Josefsson  <simon@josefsson.org>
75663
75664         * modules/announce-gen: New file.
75665
75666 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
75667
75668         * lib/mbchar.h: Just include <wctype.h>; the wctype module
75669         handles its gotchas now.
75670         * lib/mbswidth.c: Likewise.
75671         * lib/wcwidth.h: Likewise.
75672         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
75673         and iswcntrl; the wctype module does this stuff now.
75674         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75675         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75676         * modules/mbchar (Depends-on): Add wctype.
75677         * modules/mbswidth (Depends-on): Likewise.
75678         * modules/wcwidth (Depends-on): Likewise.
75679
75680 2006-12-27  Eric Blake  <ebb9@byu.net>
75681
75682         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
75683         module uses more than what <wctype.h> is required to provide.
75684
75685 2006-12-26  Eric Blake  <ebb9@byu.net>
75686
75687         * gnulib-tool (sed_extract_prog): Avoid space-tab.
75688
75689 2006-12-26  Eric Blake  <ebb9@byu.net>
75690
75691         * modules/absolute-header: New module.
75692         * modules/fcntl (Depends-on): Depend on it.
75693         * modules/inttypes (Depends-on): Likewise.
75694         * modules/stdint (Depends-on): Likewise.
75695         * modules/sys_stat (Depends-on): Likewise.
75696         * modules/wctype (Depends-on): Likewise.
75697         * MODULES.html.sh (Support for building libraries and
75698         executables): Document it.
75699
75700 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
75701
75702         * gnulib-tool (SED): Remove, undoing previous change.
75703         The problem was that it broke coreutils on Solaris, because
75704         "sed --posix" leaked into a makefile.
75705         (sed): New alias, if 'alias' and GNU sed.
75706
75707 2006-12-24  Jim Meyering  <jim@meyering.net>
75708
75709         Work around an fchownat bug in glibc-2.4:
75710         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
75711         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
75712         in spite of the -P option.
75713         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
75714         New macros.
75715         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
75716         * modules/openat (Files): Add lib/fchownat.c.
75717         * lib/openat.c (fchownat): Don't define here.  Move to...
75718         * lib/fchownat.c: ...this new file.
75719
75720 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75721
75722         Fix bug reported by Bruno Haible in
75723         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
75724         where quotearg.c didn't compile on Mac OS X 10.2 because it
75725         lacks <wchar.h> and wint_t.
75726         * lib/wctype_.h (__wctype_wint_t): New type.
75727         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
75728         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
75729         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
75730         Arg is now of type __wctype_wint_t, not wint_t.
75731         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
75732         substitute HAVE_WINT_T.
75733         * modules/wctype (Files): Add m4/wint_t.m4.
75734         (wctype.h): Substitute HAVE_WINT_T.
75735
75736 2006-12-23  Bruno Haible  <bruno@clisp.org>
75737
75738         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
75739
75740 2006-12-23  Bruno Haible  <bruno@clisp.org>
75741
75742         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
75743         S_ISLNK.
75744         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
75745         mingw.
75746
75747 2006-12-22  Bruno Haible  <bruno@clisp.org>
75748
75749         * lib/copy-file.c: Include acl.h.
75750         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
75751         Close the file descriptors only after being done with copy_acl.
75752         * modules/copy-file (Depends-on): Add acl.
75753
75754 2006-12-22  Bruno Haible  <bruno@clisp.org>
75755
75756         * gnulib-tool (SED): New variable.
75757         Use $SED instead of sed everywhere.
75758
75759 2006-12-22  Bruno Haible  <bruno@clisp.org>
75760
75761         * modules/no-c++: New file.
75762         * m4/no-c++.m4: New file.
75763         * MODULES.html.sh (Support for building libraries and executables):
75764         Add no-c++.
75765
75766 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
75767
75768         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75769         Include <limits.h>, and use its INT_MAX to rewrite the
75770         j loop so that it does not overflow 'int'.  Problem reported by
75771         Ralf Wildenhues in
75772         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
75773         Play it safe by shifting left by 1 rather than multiplying by 2,
75774         as GCC is less likely to optimize this away when the value
75775         is signed (when it assumes overflow leads to undefined behavior).
75776         Also, don't assume time_t uses two's complement.
75777
75778 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
75779
75780         * MODULES.html.sh: New module wctype.
75781         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
75782         * lib/fnmatch.c: Don't bother to include <wchar.h> before
75783         <wctype.h>, since the new wctype module should fix this.
75784         * lib/quotearg.c: Include <wctype.h> unconditionally, since
75785         the wctype module should arrange for it.
75786         * lib/regex_internal.h: Likewise.
75787         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
75788         since the wctype module should handle this now.
75789         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
75790         * modules/fnmatch (Depends-on): Add wctype.
75791         * modules/quotearg (Depends-on): Likewise.
75792         * modules/regex (Depends-on): Likewise.
75793
75794 2006-12-19  Bruno Haible  <bruno@clisp.org>
75795
75796         * lib/strdup.h [C++]: Wrap definitions in extern "C".
75797         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
75798
75799 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75800
75801         * modules/savewd (Depends-on): Fix dependency on fcntl.
75802
75803 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75804
75805         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
75806         conforms to C99, rather than relying on the user's environment
75807         setting of STDINT_H.
75808
75809 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75810         and Eric Blake  <ebb9@byu.net>
75811
75812         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
75813         This is more consistent with the other defines here.
75814         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
75815         Port to z/OS.  Problem reported by Paul Gilmartin.
75816         Change local vars to use gl_ prefix rather than ac_.
75817         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
75818         with other defines.
75819         * modules/double-slash-root: New module.
75820         * modules/dirname (Files): Remove m4/double-slash-root.m4.
75821         (Depends-on): Add double-slash-root.
75822         * MODULES.html.sh (File system functions): Mention new module.
75823
75824 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
75825
75826         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
75827         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
75828         This is for the benefit of gzip, which doesn't do i18n.
75829
75830 2006-12-12  Jim Meyering  <jim@meyering.net>
75831
75832         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
75833         Reported by Andreas Schwab <schwab@suse.de>.
75834
75835 2006-12-12  Bruno Haible  <bruno@clisp.org>
75836
75837         Merge these changes.
75838         2006-09-05  Bruno Haible  <bruno@clisp.org>
75839         * lib/iconvme.c (iconv_string): No need to save and restore errno when
75840         iconv_alloc succeeded.
75841         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
75842         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
75843         test for " && dest " at the end - dest is always != NULL there. Call
75844         iconv with 4xNULL arguments initially, to reset the state. Call iconv
75845         with 2xNULL arguments, also to flush the state storage. Handle the
75846         IRIX iconv behaviour. Realloc the final result, to throw away unused
75847         memory.
75848
75849 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
75850
75851         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
75852         and fchmodat unconditionally, since glibc 2.4 has them.
75853         Problem reported by Arkadiusz Miskiewicz.
75854
75855 2006-12-10  Bruno Haible  <bruno@clisp.org>
75856
75857         * gnulib-tool (func_import): Show the include files only for those
75858         modules that are copied and specified.
75859         Reported by Karl Berry.
75860
75861 2006-12-08  Jim Meyering  <jim@meyering.net>
75862
75863         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
75864         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
75865
75866         * build-aux/announce-gen: Add two new options, both optional:
75867         --bootstrap-tools=TOOL_LIST
75868               a comma-separated list of tools, e.g.,
75869               autoconf,automake,bison,gnulib
75870         --gnulib-snapshot-date=DATE
75871               if gnulib is in the bootstrap tool list,
75872               then report this as the snapshot date.
75873               If not specified, use the current date/time.
75874               If you specify a date here, be sure it's UTC.
75875
75876 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75877
75878         * tests/test-argp-2.sh: Fix test to match actual output.
75879         (func_compare): Fix sed script to be portable.
75880
75881 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
75882
75883         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
75884         workaround for this case.  It is not autoconfigured now; offhand
75885         it's hard to see how to autoconfigure it.
75886
75887 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
75888
75889         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
75890         a directory that is about to be chowned.  Such a directory's
75891         initial file permissions should permit the owner only and this
75892         should not be changed until after the chown, since the group and
75893         other bits would be incorrect if they granted permission before
75894         the chown.
75895
75896         Fix porting problem for iswctype reported by Georg Schwarz in:
75897         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
75898         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
75899         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
75900         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
75901         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
75902
75903 2006-12-03  Jim Meyering  <jim@meyering.net>
75904
75905         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
75906         p->fts_statp may not yet be defined.
75907         (fts_read): Instead, set it in the caller, once p->fts_statp is
75908         sure to be defined, and corresponds to a top-level directory.
75909         This bug made du -x fail.  Here's the coreutils test case:
75910         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
75911         Reported by Mike Frysinger.
75912
75913 2006-12-01  Jim Meyering  <jim@meyering.net>
75914
75915         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
75916         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
75917         Reported by Simon Josefsson.
75918
75919 2006-11-30  Jim Meyering  <jim@meyering.net>
75920
75921         * m4/warning.m4: Use the all-permissive copyright notice
75922         recommended by RMS (rather than LGPL).
75923         * m4/vararrays.m4: Likewise.
75924         * m4/flexmember.m4: Likewise.
75925
75926 2006-11-29  Bruno Haible  <bruno@clisp.org>
75927
75928         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75929         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
75930         using +=.
75931         Reported by Simon Josefsson <simon@josefsson.org>.
75932
75933 2006-11-28  James Youngman <jay@gnu.org>
75934
75935         * README: Advise users that they might find the bug-gnulib@gnu.org
75936         and autotools-announce@gnu.org mailing lists useful.
75937
75938 2006-11-28  Bruno Haible  <bruno@clisp.org>
75939
75940         * m4/ptrdiff_max.m4: Remove file.
75941
75942 2006-11-21  Bruno Haible  <bruno@clisp.org>
75943
75944         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
75945         _AC_COMPUTE_INT.
75946         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75947         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
75948         _AC_COMPUTE_INT.
75949         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75950         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
75951         _AC_COMPUTE_INT.
75952         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75953
75954 2006-11-28  Jim Meyering  <jim@meyering.net>
75955
75956         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
75957         warning from "gcc -Wshadow" about shadowing the builtin.
75958
75959 2006-11-27  Bruno Haible  <bruno@clisp.org>
75960
75961         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
75962         _AC_COMPUTE_INT.
75963         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75964
75965 2006-11-27  Bruno Haible  <bruno@clisp.org>
75966             Paul Eggert  <eggert@cs.ucla.edu>
75967
75968         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
75969
75970 2006-11-26  Bruno Haible  <bruno@clisp.org>
75971
75972         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75973         noinst_LTLIBRARIES.
75974
75975 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
75976             Bruno Haible  <bruno@clisp.org>
75977
75978         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
75979         if compiling with "gcc -ansi".
75980
75981 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
75982
75983         Fix some incompatibilities with gcc -ansi -pedantic.
75984         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
75985         if compiling pedantically with GCC, unless it's C99 or later.
75986         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
75987         it mishandles gcc -ansi -pedantic as well.
75988         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
75989         if gcc -pedantic.
75990         * lib/regexec.c (check_node_accept_bytes): Don't use auto
75991         initializers for struct if -pedantic, unless it's C99 or later.
75992
75993 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
75994
75995         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
75996         Don't close an fd more than once. Identical atimes indicate
75997         success, not failure.
75998
75999 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
76000
76001         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
76002
76003 2006-11-23  Jim Meyering  <jim@meyering.net>
76004
76005         * build-aux/announce-gen: New file.  From coreutils.
76006
76007 2006-11-22  Jim Meyering  <jim@meyering.net>
76008
76009         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
76010         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
76011         (fts_read): Use a temporary to narrow the overused st_size member
76012         before using it in a switch statement.  Reported by Matthew Woehlke.
76013
76014         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
76015         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
76016
76017 2006-11-20  Bruno Haible  <bruno@clisp.org>
76018
76019         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
76020         changequote instead of pairs of brackets.
76021         Reported by Andreas Schwab <schwab@suse.de>.
76022
76023 2006-11-21  Jim Meyering  <jim@meyering.net>
76024
76025         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
76026         so as to remain compatible with older compilers.
76027         Patch from Michael Deutschmann.
76028
76029 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
76030
76031         * MODULES.html.sh (File system functions): Add openat.
76032
76033         * lib/openat.h (rpl_fstatat): New macro, if
76034         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
76035         (fstatat): Define to rpl_fstatat under the same conditions,
76036         unless COMPILING_FSTATAT.
76037         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
76038         seems to have the bug.
76039         * lib/fstatat.c: New file.
76040         * modules/openat (Files): Add it.
76041
76042 2006-11-20  Bruno Haible  <bruno@clisp.org>
76043
76044         * Makefile: New file.
76045
76046 2006-11-20  Jim Meyering  <jim@meyering.net>
76047
76048         The beginnings of syntax-related checks for gnulib.
76049         * lib/Makefile: New file.
76050         * lib/t-idcache: New script.  Ensure that the two halves of
76051         idcache.c stay in sync.
76052
76053         * lib/idcache.c: Adjust comments in user- and group- portions to
76054         be more accurate, and to be consistent with one another.
76055
76056 2006-11-20  Jim Meyering  <jim@meyering.net>
76057
76058         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
76059         continue using the flexible array member (thus, this module performs
76060         half as many malloc calls), with the addition that...
76061         (getgroup, getuser): Consistently record a non-match via an empty
76062         "name" string, and map an empty string match to a NULL return value.
76063         * modules/idcache (Depends-on): Re-add flexmember.
76064
76065         * lib/idcache.c (getuser): Remove all uses of the register keyword.
76066         (getuidbyname, getgroup, getgidbyname): Likewise.
76067
76068         Use cleaner syntax: NULL rather than 0.
76069         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
76070
76071 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
76072
76073         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
76074         It mishandled the case where the group was missing.
76075         Problem reported by Greg Schafer.
76076         * modules/idcache: Likewise.
76077
76078 2006-11-18  Jim Meyering  <jim@meyering.net>
76079
76080         * check-module (%exempt_header): Add exception for some
76081         conditionally-included headers.
76082
76083         * modules/i-ring (Depends-on): Add verify.
76084         (License): Change to LGPL.
76085
76086 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
76087
76088         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
76089         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
76090         and inttostr.h.  Use snprintf rather than uinttostr, so that
76091         LGPLed code doesn't depend on GPLed.
76092
76093 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
76094
76095         * modules/inline (License): Change from GPL to LGPL.
76096
76097 2006-11-17  Jim Meyering  <jim@meyering.net>
76098
76099         * modules/d-type (License): Switch to LGPL.
76100
76101 2006-11-15  Bruno Haible  <bruno@clisp.org>
76102
76103         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
76104
76105 2006-11-15  Eric Blake  <ebb9@byu.net>
76106
76107         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
76108         the module dependency.
76109
76110 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76111             Bruno Haible  <bruno@clisp.org>
76112
76113         * gnulib-tool (func_create_testdir): Add license consistency check.
76114
76115 2006-11-15  Eric Blake  <ebb9@byu.net>
76116
76117         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
76118         random "(cached)" in configure output.
76119
76120 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76121
76122         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
76123         test for conforming inttypes.h is both announced and cached.
76124
76125         * MODULES.html.sh (seen_modules, seen_files): New variables.
76126         (func_module): Rewrite to use a few less gnulib-tool and sed
76127         invocations.  Avoid a couple of quadratic algorithms for ...
76128         (missed_modules, missed_files): ... these, with ...
76129         (func_append, func_tmpdir): ... these new functions, from
76130         gnulib-tool.  Analogously, install traps for cleanup.
76131
76132         * tests/test-gc.c (main): Remove unused variables.
76133         * tests/test-read-file.c: Include stdlib.h, for 'free'.
76134
76135 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
76136
76137         * modules/inttostr (License): Change to LGPL.
76138
76139 2006-11-14  Eric Blake  <ebb9@byu.net>
76140
76141         * modules/tempname (License): Change to LGPL.
76142
76143 2006-11-14  Eric Blake  <ebb9@byu.net>
76144
76145         * doc/functions.texi (Function Portability): *printf functions on
76146         Cygwin now understand all POSIX size specifiers.
76147
76148 2006-11-14  Bruno Haible  <bruno@clisp.org>
76149
76150         * modules/c-ctype (License): Change to LGPL.
76151
76152 2006-11-12  Bruno Haible  <bruno@clisp.org>
76153
76154         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
76155         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
76156         for GNOME libraries, for which the include files are installed in
76157         subdirectories of $prefix/include.
76158
76159 2006-11-12  Bruno Haible  <bruno@clisp.org>
76160
76161         * m4/lib-link.m4: Require at least autoconf-2.54.
76162         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
76163         name to underscores for the --with option.
76164
76165 2006-11-13  Bruno Haible  <bruno@clisp.org>
76166
76167         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
76168         the tests directory.
76169         Reported by Ralf Wildenhues.
76170
76171 2006-11-13  Bruno Haible  <bruno@clisp.org>
76172
76173         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
76174         (func_emit_initmacro_end): Undo the override here.
76175         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
76176         Works around the famous automake error in coreutils.
76177
76178 2006-11-13  Eric Blake  <ebb9@byu.net>
76179
76180         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
76181         element, not its node.
76182
76183 2006-11-12  Bruno Haible  <bruno@clisp.org>
76184
76185         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
76186         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
76187
76188 2006-11-12  Bruno Haible  <bruno@clisp.org>
76189
76190         * gnulib-tool: New option --local-symlink.
76191         (func_usage): Document it.
76192         (lsymbolic): New variable.
76193         (func_import, func_create_testdir): If --symlink was not specified,
76194         test whether --local-symlink was specified and the file comes from
76195         the local_gnulib_dir.
76196
76197 2006-11-12  Bruno Haible  <bruno@clisp.org>
76198
76199         * gnulib-tool (func_ln): New function.
76200         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
76201
76202 2006-11-12  Bruno Haible  <bruno@clisp.org>
76203
76204         Finish support for source files in subdirectories.
76205         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
76206         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
76207         AUTOMAKE_OPTIONS.
76208         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
76209
76210 2006-11-12  Bruno Haible  <bruno@clisp.org>
76211
76212         * gnulib-tool (func_get_automake_snippet): Synthesize also an
76213         EXTRA_lib_SOURCES augmentation.
76214         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
76215
76216 2006-11-12  Jim Meyering  <jim@meyering.net>
76217
76218         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
76219         file descriptors.  This also averts a failure on systems with
76220         native openat support when a traversed directory lacks "x" access.
76221         * lib/fts_.h: Include "i-ring.h"
76222         (struct FTS) [fts_fd_ring]: New member.
76223         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
76224         (FCHDIR): Add parentheses.
76225         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
76226         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
76227         When descending, rather than simply closing the previous
76228         fts_cwd_fd value, push that file descriptor onto the ring.
76229         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
76230         (fts_open): Initialize the new fd_ring member.
76231         (fts_close): Clear the ring.
76232         (fts_safe_changedir): When possible, use our new fd_ring to skip
76233         the diropen and fstat and dev/ino comparison that would normally
76234         accompany a virtual `chdir ("..")'.
76235
76236         * modules/fts (Depends-on): Add i-ring.
76237         * modules/i-ring: New module.
76238         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
76239         * m4/i-ring.m4: New file.
76240
76241 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76242
76243         * gnulib-tool (func_create_testdir): Fix replacement of
76244         `build-aux' in configure.ac.  Run autotools in gltests
76245         subdirectory.
76246         (func_create_testdir, func_create_megatestdir, test): There is
76247         no need for '--force' in most autotool invocations in a new
76248         tree.  Actually fail the whole test if any of the tools, or the
76249         configure or make stages fail.
76250
76251         Sync from Automake.
76252         * build-aux/gnupload: Revert last change.  Add pointer to upload
76253         instructions of the GNU Maintenance Instructions.
76254         Suggestion by Karl Berry.
76255
76256 2006-11-10  Jim Meyering  <jim@meyering.net>
76257
76258         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
76259
76260 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76261
76262         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
76263         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
76264         (bind_textdomain_codeset) [! ENABLE_NLS]:
76265         Evaluate all the arguments.  That way, callers get compatible behavior
76266         if the arguments have side effects.  Also, it avoids some GCC
76267         diagnostics in some cases; Joel E. Denny reported problems when Bison
76268         was configured with --enable-gcc-warnigs.
76269
76270 2006-11-10  Jim Meyering  <jim@meyering.net>
76271
76272         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
76273         relevant options in CFLAGS (like -O, -fno-inline) are taken into
76274         account.
76275
76276 2006-11-10  Jim Meyering  <jim@meyering.net>
76277
76278         * modules/inline: New file/module.
76279         * modules/xalloc (Files): Remove m4/inline.m4.
76280         (Depends-on): Add inline, instead.
76281         * modules/oset: Likewise.
76282         * modules/list: Likewise.
76283
76284 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76285
76286         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
76287         Problem reported by Matthew Woehlke.
76288
76289 2006-11-09  Bruno Haible  <bruno@clisp.org>
76290
76291         * lib/tempname.c (gen_tempname): Remove variant that invokes
76292         __gen_tempname.
76293         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
76294         __gen_tempname.
76295
76296 2006-11-08  Bruno Haible  <bruno@clisp.org>
76297
76298         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
76299         to 'yes' instead of 'cross-compiling'.
76300
76301 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
76302
76303         * lib/quotearg.h (quotearg_free): New decl.
76304         * lib/quotearg.c (quotearg_free): New function.
76305         (slot0, nslots, slotvec0, slotvec):
76306         Now file-scope so that quotearg_free can get at them.
76307
76308 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76309
76310         Sync from Automake.
76311         * build-aux/gnupload: Add missing 'gnu' to example URL.
76312         Report by Karl Berry.
76313
76314 2006-11-08  Bruno Haible  <bruno@clisp.org>
76315
76316         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
76317         Suggested by Paul Eggert.
76318
76319 2006-11-08  Jim Meyering  <jim@meyering.net>
76320
76321         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
76322         It's already included if !_LIBC.
76323         (fts_safe_changedir): Add a comment.
76324
76325 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
76326
76327         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
76328         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
76329         Matthew Woehlke.
76330
76331         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
76332         definitions up, to avoid colliding with change below.
76333         (static_inline) [HAVE_INLINE]: New macro.
76334         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
76335         Provide extern decls when !HAVE_INLINE.  Do not define unless
76336         static_inline is defined, either by us or by xmalloc.c.  Use
76337         static_inline rather than static inline.
76338         (XCALLOC): Optimize sizeof(T) = 1 case.
76339         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
76340
76341 2006-11-07  Bruno Haible  <bruno@clisp.org>
76342
76343         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
76344         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
76345         AC_C_INLINE.
76346         * modules/xalloc (Files): Add m4/inline.m4.
76347
76348 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76349
76350         * README: Fix typo.
76351         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
76352         (Miscellanous Notes): ...from this.
76353
76354 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
76355
76356         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
76357         Mention that offsetof should be used instead of sizeof.
76358         From Bruno Haible.
76359
76360 2006-11-07  Bruno Haible  <bruno@clisp.org>
76361
76362         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
76363
76364 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76365
76366         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76367         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
76368         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76369         (gl_tree_add_before, gl_tree_add_after):
76370         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
76371         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
76372         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
76373         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
76374         (gl_linked_add_after, gl_linked_add_at): Likewise.
76375         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
76376         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76377         (gl_tree_add_before, gl_tree_add_after): Likewise.
76378         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
76379         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
76380         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
76381
76382 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76383
76384         * lib/gl_oset.h: Use C comment style, not C++ comment style.
76385
76386 2006-11-06  Bruno Haible  <bruno@clisp.org>
76387
76388         * m4/inline.m4: New file.
76389         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
76390         * modules/list (Files): Add m4/inline.m4.
76391         * modules/oset (Files): Likewise.
76392
76393 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76394
76395         * lib/idcache.c: Include <stddef.h>, for offsetof.
76396         (struct userid.name): Change from char * to a flexible array member.
76397         All uses changed.
76398         * modules/idcache (Depends-on): Add flexmember.
76399
76400         * MODULES.html.sh (Core language properties): New module flexmember.
76401         * modules/flexmember, m4/flexmember.m4: New files.
76402
76403         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
76404         inline functions that are identical with the old xnmalloc_inline,
76405         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
76406         that we can avoid some unnecessary integer multiplications and
76407         divisions in the common case where the element size is known at
76408         compile time.
76409         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
76410         needed.
76411         (xnboundedmalloc): Remove.
76412         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
76413         arguments, for consistency with rest of this header.
76414         (xcharalloc): Rewrite using XNMALLOC.
76415         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
76416         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
76417         versions have been moved to lib/xalloc.h and renamed to be the
76418         non-*_inline versions.
76419         (xmalloc, xrealloc): Implement without reference to the xnmalloc
76420         and xnrealloc functions, since those functions are now inline and
76421         now call us.
76422         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
76423         renaming described above.
76424         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
76425         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
76426         captures the dependency in AC_C_INLINE.
76427
76428         New module canonicalize-lgpl, proposed by Charles Wilson in
76429         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
76430         with a few small changes afterwards.
76431         * MODULES.html.sh (File system functions): New module
76432         canonicalize-lgpl.
76433         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
76434         and canonicalize_file_name.
76435         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
76436         * modules/canonicalize-lgpl: New files.
76437
76438 2006-11-05  Bruno Haible  <bruno@clisp.org>
76439
76440         * gnulib-tool (func_import, func_create_testdir): Create directories
76441         also for files in subdirectories of lib/.
76442
76443 2006-11-05  Bruno Haible  <bruno@clisp.org>
76444
76445         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
76446         ANSI C compliant.
76447
76448 2006-11-03  Bruno Haible  <bruno@clisp.org>
76449
76450         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76451         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
76452         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
76453         (xnboundedmalloc): New inline function.
76454         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
76455         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
76456         xmalloc.
76457         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
76458         xmalloc.
76459         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
76460         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
76461         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
76462         xmalloc.
76463         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76464         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
76465         xmalloc.
76466         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
76467         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76468         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
76469         xmalloc.
76470         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76471         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
76472         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76473         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
76474         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
76475         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
76476         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
76477
76478 2006-11-03  Bruno Haible  <bruno@clisp.org>
76479
76480         * lib/c-ctype.h [C++]: Define functions without name mangling.
76481         * lib/fwriteerror.h [C++]: Likewise.
76482         * lib/gcd.h [C++]: Likewise.
76483         * lib/linebreak.h [C++]: Likewise.
76484
76485 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
76486
76487         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
76488         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
76489         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
76490         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
76491         Check for functions and headers just once.
76492         Check for declaration of canonicalize_file_name.
76493         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
76494
76495 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76496
76497         * gnulib-tool (func_import): Fix typo in actioncmd.
76498
76499 2006-11-02  Bruno Haible  <bruno@clisp.org>
76500
76501         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
76502         newline sequence in the Makefile.am snippet as a space, like "make"
76503         does.
76504         Reported by Roger Persson <perrog@gmail.com>.
76505
76506 2006-11-01  Bruno Haible  <bruno@clisp.org>
76507
76508         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
76509         already declared in <string.h>.
76510         * lib/strcase.h (strncasecmp): Don't declare it if yes.
76511
76512 2006-11-01  Bruno Haible  <bruno@clisp.org>
76513
76514         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
76515         * lib/strcase.h: Include <string.h>.
76516         (strcasecmp): Define to rpl_strcasecmp here.
76517
76518 2006-11-01  Bruno Haible  <bruno@clisp.org>
76519
76520         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
76521
76522 2006-11-01  Eric Blake  <ebb9@byu.net>
76523
76524         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
76525
76526         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
76527
76528 2006-10-29  Bruno Haible  <bruno@clisp.org>
76529
76530         Make it compile in C++ mode.
76531         * lib/full-write.c (full_rw): Add a cast.
76532
76533 2006-11-01  Bruno Haible  <bruno@clisp.org>
76534
76535         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
76536         be POSIX compliant.
76537         Reported by Roger Persson <perrog@gmail.com>.
76538
76539 2006-11-01  Eric Blake  <ebb9@byu.net>
76540
76541         * lib/getopt_.h: Fix comments.
76542
76543 2006-10-31  Eric Blake  <ebb9@byu.net>
76544
76545         * modules/tmpdir (Depends-on): Add sys_stat.
76546         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
76547         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
76548         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
76549         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
76550         tempname.
76551
76552 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
76553
76554         Avoid some C++ diagnostics reported by Bruno Haible.
76555         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
76556         xmalloc.
76557         (quotearg_alloc): Use xcharalloc rather than xmalloc.
76558         (struct slotvec): Move to top level.
76559         (quotearg_n_options): Rewrite to avoid xmalloc.
76560         * lib/xalloc.h (xcharalloc): New function.
76561         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
76562         [defined __cplusplus]: Add function template that provides result
76563         type propagation.  This part of the change is from Bruno Haible.
76564
76565 2006-10-29  Bruno Haible  <bruno@clisp.org>
76566
76567         Make it compile in C++ mode.
76568         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
76569         * lib/strnlen1.c (strnlen1): Cast memchr result.
76570         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
76571         * lib/clean-temp.c (string_equals, string_hash): Add casts.
76572         (create_temp_dir): Rename local variable 'template'.
76573         (compile_csharp_using_sscli): Add cast.
76574         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
76575         * lib/findprog.c (find_in_path): Likewise.
76576         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
76577         * lib/wait-process.c (register_slave_subprocess): Likewise.
76578
76579 2006-10-22  Bruno Haible  <bruno@clisp.org>
76580
76581         * modules/tsearch: New file.
76582         * lib/tsearch.h: New file.
76583         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
76584         * m4/tsearch.m4: New file.
76585         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
76586
76587 2006-10-29  Eric Blake  <ebb9@byu.net>
76588
76589         * lib/arcfour.c: Assume config.h.
76590         * lib/arctwo.c: Likewise.
76591         * lib/base64.c: Likewise.
76592         * lib/check-version.c: Likewise.
76593         * lib/crc.c: Likewise.
76594         * lib/des.c: Likewise.
76595         * lib/gc-gnulib.c: Likewise.
76596         * lib/gc-libgcrypt.c: Likewise.
76597         * lib/gc-pbkdf2-sha1.c: Likewise.
76598         * lib/getaddrinfo.c: Likewise.
76599         * lib/getdelim.c: Likewise.
76600         * lib/getline.c: Likewise.
76601         * lib/hmac-md5.c: Likewise.
76602         * lib/hmac-sha1.c: Likewise.
76603         * lib/iconvme.c: Likewise.
76604         * lib/md2.c: Likewise.
76605         * lib/md4.c: Likewise.
76606         * lib/memxor.c: Likewise.
76607         * lib/read-file.c: Likewise.
76608         * lib/readline.c: Likewise.
76609         * lib/rijndael-alg-fst.c: Likewise.
76610         * lib/rijndael-api-fst.c: Likewise.
76611         * lib/xgetdomainname.c: Likewise.
76612
76613 2006-10-28  Eric Blake  <ebb9@byu.net>
76614
76615         * lib/xstrndup.c: Assume config.h.
76616
76617 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
76618
76619         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
76620         stat-macros.h is now for our own macros, whereas stat_h is for
76621         macros in the <sys/stat.h> name space.
76622         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
76623         (STAT_MACROS_H): Remove.
76624         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
76625         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
76626         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
76627         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
76628         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
76629         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
76630         Move these macros to ...
76631         * lib/stat_.h: here.  Don't include stat-macros.h.
76632         * lib/canonicalize.c: Don't include stat-macros.h.
76633         * lib/chown.c: Likewise.
76634         * lib/euidaccess.c: Likewise.
76635         * lib/file-type.c: Likewise.
76636         * lib/filemode.c: Likewise.
76637         * lib/glob.c: Likewise.
76638         * lib/isapipe.c: Likewise.
76639         * lib/lchown.c: Likewise.
76640         * lib/lstat.c: Likewise.
76641         * lib/mkdir-p.c: Likewise.
76642         * lib/rmdir.c: Likewise.
76643         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
76644         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
76645         unless mkdir isn't declared, to speed up 'configure'.
76646         Always create sys/stat.h, since it's unlikely any real sys/stat.h
76647         would define all the S_* symbols.
76648         * modules/canonicalize (Depends-on):
76649         Depend on sys_stat, not stat-macros.
76650         * modules/chown: Likewise.
76651         * modules/euidaccess: Likewise.
76652         * modules/filemode: Likewise.
76653         * modules/file-type: Likewise.
76654         * modules/glob: Likewise.
76655         * modules/isapipe: Likewise.
76656         * modules/lchown: Likewise.
76657         * modules/lstat: Likewise.
76658         * modules/mkancesdirs: Likewise.
76659         * modules/rmdir: Likewise.
76660         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
76661         * modules/modechange: Likewise.
76662         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
76663         (configure.ac): Remove gl_STAT_MACROS.
76664         * modules/sys_stat (Depends-on): Remove stat-macros.
76665
76666 2006-10-27  Bruno Haible  <bruno@clisp.org>
76667
76668         * m4/signed.m4: Remove file.
76669         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
76670         invocation.
76671         * modules/vasnprintf (Files): Remove m4/signed.m4.
76672
76673 2006-10-27  Bruno Haible  <bruno@clisp.org>
76674
76675         Update to GNU gettext 0.16.
76676         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
76677         m4/inttypes-h.m4, m4/signed.m4.
76678         * m4/gettext.m4: Update to GNU gettext 0.16.
76679         * m4/intl.m4: New file, from GNU gettext.
76680         * m4/intldir.m4: New file, from GNU gettext.
76681         * config/srclist.txt: Update
76682
76683 2006-10-27  Eric Blake  <ebb9@byu.net>
76684
76685         * MODULES.html.sh: Document tempname.
76686         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
76687         dependencies.
76688         (Files): Move lib/tempname.c...
76689         * modules/tempname: ...to this new module.
76690         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
76691         (gl_PREREQ_TEMPNAME): Move...
76692         * m4/tempname.m4: ...to this new file.
76693         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
76694         * modules/sys_stat (Depends-on): Add stat-macros.
76695         * lib/stat_.h (includes): Pick up stat macros.
76696         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
76697         if stat macros are broken.
76698         * lib/tempname.c (includes): No need to include "stat-macros.h".
76699         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
76700         (direxists, __path_search) [!_LIBC]: Don't compile these in
76701         gnulib; the tmpdir module covers that.
76702         * lib/tempname.h: New file.
76703
76704 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
76705
76706         * COPYING: Explain how gnulib-tool converts licence headers.
76707         Almost all wording by Eric Blake.
76708
76709 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
76710
76711         * lib/mbchar.h (is_basic_table): Make read-only.
76712         * lib/mbchar.c (is_basic_table): Likewise.
76713         Reported by John Darrington.
76714
76715 2006-10-25  Bruno Haible  <bruno@clisp.org>
76716
76717         * lib/progname.h (set_program_name): Undefine before defining.
76718
76719 2006-10-25  Bruno Haible  <bruno@clisp.org>
76720
76721         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
76722         false for non-gcc C++ compilers.
76723         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
76724
76725 2006-10-24  Bruno Haible  <bruno@clisp.org>
76726
76727         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
76728         iconv implementations like Irix iconv.
76729
76730 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76731
76732         * modules/vararrays: New file.
76733         * m4/vararrays.m4: New file, taken from diffutils.
76734         * MODULES.html.sh: New module vararrays.
76735
76736 2006-10-24  Karl Berry  <karl@gnu.org>
76737
76738         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
76739         Don't call GNU Unix.
76740
76741 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76742
76743         * users.txt: Add Libtool.
76744
76745         Sync from Libtool:
76746
76747         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76748
76749         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
76750         to gnulib's policy of including config.h unconditionally.
76751
76752 2006-10-24  Bruno Haible  <bruno@clisp.org>
76753
76754         * modules/wcwidth (Files): Add m4/wint_t.m4.
76755         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
76756         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
76757
76758 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76759
76760         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
76761         to pacify GCC with some -W flags enabled.  Problem reported by
76762         Bruno Haible.
76763
76764 2006-10-24  Jim Meyering  <jim@meyering.net>
76765
76766         * MODULES.html.sh: Remove uinttostr.  It's not a module.
76767         Reported by Karl Berry.
76768
76769 2006-10-23  Bruno Haible  <bruno@clisp.org>
76770
76771         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
76772
76773 2006-10-24  Bruno Haible  <bruno@clisp.org>
76774
76775         * lib/gl_list.h: Use C comment style, not C++ comment style.
76776
76777 2006-10-23  Eric Blake  <ebb9@byu.net>
76778
76779         * lib/getaddrinfo.c (includes): Add missing include.
76780
76781 2006-10-23  Bruno Haible  <bruno@clisp.org>
76782             Paul Eggert  <eggert@cs.ucla.edu>
76783
76784         Ability to rename obstack_free.
76785         * lib/obstack.h (__obstack_free): New macro. Declare instead of
76786         obstack_free.
76787         (obstack_free): Invoke the __obstack_free macro.
76788         * lib/obstack.c (obstack_free): Use __obstack_free macro.
76789
76790 2006-10-23  Bruno Haible  <bruno@clisp.org>
76791             Paul Eggert  <eggert@cs.ucla.edu>
76792
76793         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
76794         __argc, __argv from the declaration. (They are defined as macros on
76795         mingw.)
76796
76797 2006-10-22  Bruno Haible  <bruno@clisp.org>
76798
76799         * doc/gnulib-intro.texi: New file.
76800         * doc/gnulib.texi: Include it.
76801
76802 2006-10-21  Bruno Haible  <bruno@clisp.org>
76803
76804         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
76805         "Introduction", "Miscellanous Notes", "Particular Modules".
76806
76807 2006-10-21  Bruno Haible  <bruno@clisp.org>
76808
76809         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76810         Change mostlyclean-local rule to avoid sh syntax error from bash
76811         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
76812
76813 2006-10-23  Jim Meyering  <jim@meyering.net>
76814
76815         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
76816         in place of snprintf.
76817
76818         * modules/inttostr (Files): Add lib/uinttostr.c.
76819         * lib/uinttostr.c (inttostr): New file/function.
76820         * lib/inttostr.h (uinttostr): Declare.
76821         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
76822         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76823         Add uinttostr.
76824         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
76825
76826 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76827
76828         * lib/canonicalize.c (ELOOP): Define if not already defined.
76829         Problem reported by Bruno Haible in
76830         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
76831
76832 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76833
76834         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
76835         Problem reported by Perry Smith and Ville Laurikari.
76836
76837         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
76838         uses.
76839
76840 2006-10-19  Bruno Haible  <bruno@clisp.org>
76841
76842         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
76843         for mingw.
76844
76845 2006-10-19  Bruno Haible  <bruno@clisp.org>
76846
76847         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
76848         Needed for mingw.
76849
76850 2006-10-19  Bruno Haible  <bruno@clisp.org>
76851
76852         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
76853
76854 2006-10-19  Bruno Haible  <bruno@clisp.org>
76855
76856         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
76857         it.
76858
76859 2006-10-19  Bruno Haible  <bruno@clisp.org>
76860
76861         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
76862         invocation.
76863
76864 2006-10-19  Bruno Haible  <bruno@clisp.org>
76865
76866         * gnulib-tool (func_create_testdir): Don't include ftruncate and
76867         mountlist by default.
76868
76869 2006-10-16  Bruno Haible  <bruno@clisp.org>
76870
76871         * lib/c-strstr.c: Include c-strstr.h.
76872
76873 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76874
76875         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
76876         in a slash.
76877
76878 2006-10-18  Bruno Haible  <bruno@clisp.org>
76879
76880         * lib/lock.h [C++]: Wrap definitions in extern "C".
76881
76882 2006-10-18  Bruno Haible  <bruno@clisp.org>
76883
76884         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
76885         gl_LIBOBJS list.
76886
76887 2006-10-18  Bruno Haible  <bruno@clisp.org>
76888
76889         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
76890
76891 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
76892
76893         * lib/xstrtol.h: Include gettext.h.
76894         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
76895         Problem reported by Eric Blake.
76896         * modules/xstrtol (Depends-on): Add gettext-h.
76897
76898 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
76899
76900         * lib/strftime.c (advance): New macro.
76901         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
76902         incomplete type, so you can't add 0 to it.  Problem and patch
76903         reported by Eelco Dolstra for dietlibc.
76904
76905 2006-10-18  Jim Meyering  <jim@meyering.net>
76906
76907         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
76908         type for a local, and rename it: s/up/user_proc/.
76909
76910 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
76911
76912         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
76913         READ_UTMP_USER_PROCESS.
76914         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
76915
76916 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
76917
76918         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
76919         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
76920
76921 2006-10-17  Eric Blake  <ebb9@byu.net>
76922
76923         * lib/sigprocmask.c (sigprocmask): Fix typo.
76924
76925         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
76926
76927         * modules/clean-temp (Makefile.am): Don't add to make output...
76928         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
76929         config.h.
76930
76931 2006-10-17  Bruno Haible  <bruno@clisp.org>
76932
76933         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
76934         differently if DEFAULT_TEXT_DOMAIN is set.
76935
76936 2006-10-16  Bruno Haible  <bruno@clisp.org>
76937
76938         * lib/clean-temp.c: Include fwriteerror.h.
76939
76940 2006-10-16  Bruno Haible  <bruno@clisp.org>
76941
76942         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
76943
76944 2006-10-16  Bruno Haible  <bruno@clisp.org>
76945
76946         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
76947         * lib/sigprocmask.h: Include <sys/types.h>.
76948         (sigset_t): Use the system's definition if present.
76949
76950 2006-10-17  Eric Blake  <ebb9@byu.net>
76951
76952         * lib/xvasprintf.c (includes): Assume config.h.
76953         * lib/xasprintf.c (includes): Likewise.
76954
76955 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
76956
76957         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
76958         at least as wide as intmax_t.
76959
76960 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
76961
76962         (Imported from Automake.)
76963         * build-aux/gnupload: Update to version 1.1 of directive file.
76964
76965 2006-10-16  Eric Blake  <ebb9@byu.net>
76966
76967         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
76968         match Automake 1.10a.
76969
76970 2006-10-14  Bruno Haible  <bruno@clisp.org>
76971
76972         * modules/sigprocmask: New file.
76973         * lib/sigprocmask.h: New file.
76974         * lib/sigprocmask.c: New file.
76975         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
76976         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
76977         request sigprocmask.o.
76978         (gl_PREREQ_SIGPROCMASK): New macro.
76979         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
76980         (Depends-on): Add sigprocmask.
76981         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
76982         gt_SIGNALBLOCKING. Test for 'raise' only once.
76983         * lib/fatal-signal.c: Include sigprocmask.h.
76984         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
76985         unblock_fatal_signals): Define always.
76986         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76987         sigprocmask.
76988
76989 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76990
76991         Sync from Automake.
76992         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
76993         which incorrectly sets the mode of an existing destination
76994         directory.  In some cases the unpatched install-sh could do the
76995         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
76996         system.  We hope this is rare in practice, but it's clearly worth
76997         fixing.  Problem reported by Alex Unleashed in
76998         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
76999         Also, don't bother to check for -m bugs unless we're using -m;
77000         suggested by Stepan Kasal.
77001
77002 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77003
77004         Sync from Automake.
77005         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
77006         `-c' flag, so they appear at the same position as in %FASTDEP%
77007         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
77008         which ignores unknown options only after the first non-option.
77009         Bug report against M4 by Nelson H. F. Beebe.
77010
77011 2006-10-13  Jim Meyering  <jim@meyering.net>
77012
77013         Fix a bug in yesterday's change.
77014         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
77015         p->fts_statp->st_dev would be used uninitialized.
77016         Ensures that we always call fts_stat on the very first entry.
77017         Miklos Szeredi reported that find -xdev stopped working.
77018
77019 2006-10-12  Bruno Haible  <bruno@clisp.org>
77020
77021         * gnulib-tool (func_get_automake_snippet): Append an automatically
77022         computed EXTRA_DIST augmentation.
77023         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
77024         * modules/alloca-opt (Makefile.am): Likewise.
77025         * modules/allocsa (Makefile.am): Likewise.
77026         * modules/arcfour (Makefile.am): Likewise.
77027         * modules/arctwo (Makefile.am): Likewise.
77028         * modules/argmatch (Makefile.am): Likewise.
77029         * modules/argz (Makefile.am): Likewise.
77030         * modules/atexit (Makefile.am): Likewise.
77031         * modules/backupfile (Makefile.am): Likewise.
77032         * modules/byteswap (Makefile.am): Likewise.
77033         * modules/c-strtod (Makefile.am): Likewise.
77034         * modules/c-strtold (Makefile.am): Likewise.
77035         * modules/calloc (Makefile.am): Likewise.
77036         * modules/canon-host (Makefile.am): Likewise.
77037         * modules/canonicalize (Makefile.am): Likewise.
77038         * modules/chdir-long (Makefile.am): Likewise.
77039         * modules/chdir-safer (Makefile.am): Likewise.
77040         * modules/check-version (Makefile.am): Likewise.
77041         * modules/chown (Makefile.am): Likewise.
77042         * modules/cloexec (Makefile.am): Likewise.
77043         * modules/close-stream (Makefile.am): Likewise.
77044         * modules/closeout (Makefile.am): Likewise.
77045         * modules/crc (Makefile.am): Likewise.
77046         * modules/csharpexec (Makefile.am): Likewise.
77047         * modules/cycle-check (Makefile.am): Likewise.
77048         * modules/des (Makefile.am): Likewise.
77049         * modules/dev-ino (Makefile.am): Likewise.
77050         * modules/dirfd (Makefile.am): Likewise.
77051         * modules/dirname (Makefile.am): Likewise.
77052         * modules/dup2 (Makefile.am): Likewise.
77053         * modules/eealloc (Makefile.am): Likewise.
77054         * modules/error (Makefile.am): Likewise.
77055         * modules/euidaccess (Makefile.am): Likewise.
77056         * modules/exclude (Makefile.am): Likewise.
77057         * modules/exitfail (Makefile.am): Likewise.
77058         * modules/fcntl-safer (Makefile.am): Likewise.
77059         * modules/fcntl (Makefile.am): Likewise.
77060         * modules/file-type (Makefile.am): Likewise.
77061         * modules/fileblocks (Makefile.am): Likewise.
77062         * modules/filemode (Makefile.am): Likewise.
77063         * modules/filenamecat (Makefile.am): Likewise.
77064         * modules/fnmatch (Makefile.am): Likewise.
77065         * modules/fopen-safer (Makefile.am): Likewise.
77066         * modules/fpending (Makefile.am): Likewise.
77067         * modules/fprintftime (Makefile.am): Likewise.
77068         * modules/free (Makefile.am): Likewise.
77069         * modules/fsusage (Makefile.am): Likewise.
77070         * modules/ftruncate (Makefile.am): Likewise.
77071         * modules/fts (Makefile.am): Likewise.
77072         * modules/gc-arcfour (Makefile.am): Likewise.
77073         * modules/gc-des (Makefile.am): Likewise.
77074         * modules/gc-hmac-md5 (Makefile.am): Likewise.
77075         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
77076         * modules/gc-md4 (Makefile.am): Likewise.
77077         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
77078         * modules/gc-sha1 (Makefile.am): Likewise.
77079         * modules/gc (Makefile.am): Likewise.
77080         * modules/getaddrinfo (Makefile.am): Likewise.
77081         * modules/getcwd (Makefile.am): Likewise.
77082         * modules/getdelim (Makefile.am): Likewise.
77083         * modules/getdomainname (Makefile.am): Likewise.
77084         * modules/getgroups (Makefile.am): Likewise.
77085         * modules/gethostname (Makefile.am): Likewise.
77086         * modules/gethrxtime (Makefile.am): Likewise.
77087         * modules/getline (Makefile.am): Likewise.
77088         * modules/getloadavg (Makefile.am): Likewise.
77089         * modules/getlogin_r (Makefile.am): Likewise.
77090         * modules/getndelim2 (Makefile.am): Likewise.
77091         * modules/getopt (Makefile.am): Likewise.
77092         * modules/getpagesize (Makefile.am): Likewise.
77093         * modules/getpass-gnu (Makefile.am): Likewise.
77094         * modules/getpass (Makefile.am): Likewise.
77095         * modules/getsubopt (Makefile.am): Likewise.
77096         * modules/gettime (Makefile.am): Likewise.
77097         * modules/gettimeofday (Makefile.am): Likewise.
77098         * modules/getugroups (Makefile.am): Likewise.
77099         * modules/getusershell (Makefile.am): Likewise.
77100         * modules/glob (Makefile.am): Likewise.
77101         * modules/group-member (Makefile.am): Likewise.
77102         * modules/hard-locale (Makefile.am): Likewise.
77103         * modules/hash (Makefile.am): Likewise.
77104         * modules/hmac-md5 (Makefile.am): Likewise.
77105         * modules/hmac-sha1 (Makefile.am): Likewise.
77106         * modules/human (Makefile.am): Likewise.
77107         * modules/idcache (Makefile.am): Likewise.
77108         * modules/imaxabs (Makefile.am): Likewise.
77109         * modules/imaxdiv (Makefile.am): Likewise.
77110         * modules/inet_ntop (Makefile.am): Likewise.
77111         * modules/inet_pton (Makefile.am): Likewise.
77112         * modules/intprops (Makefile.am): Likewise.
77113         * modules/inttostr (Makefile.am): Likewise.
77114         * modules/inttypes (Makefile.am): Likewise.
77115         * modules/isapipe (Makefile.am): Likewise.
77116         * modules/javaversion (Makefile.am): Likewise.
77117         * modules/lchmod (Makefile.am): Likewise.
77118         * modules/lchown (Makefile.am): Likewise.
77119         * modules/localcharset (Makefile.am): Likewise.
77120         * modules/long-options (Makefile.am): Likewise.
77121         * modules/lstat (Makefile.am): Likewise.
77122         * modules/malloc (Makefile.am): Likewise.
77123         * modules/mathl (Makefile.am): Likewise.
77124         * modules/mbchar (Makefile.am): Likewise.
77125         * modules/md2 (Makefile.am): Likewise.
77126         * modules/md4 (Makefile.am): Likewise.
77127         * modules/md5 (Makefile.am): Likewise.
77128         * modules/memcasecmp (Makefile.am): Likewise.
77129         * modules/memchr (Makefile.am): Likewise.
77130         * modules/memcmp (Makefile.am): Likewise.
77131         * modules/memcoll (Makefile.am): Likewise.
77132         * modules/memcpy (Makefile.am): Likewise.
77133         * modules/memmem (Makefile.am): Likewise.
77134         * modules/memmove (Makefile.am): Likewise.
77135         * modules/mempcpy (Makefile.am): Likewise.
77136         * modules/memrchr (Makefile.am): Likewise.
77137         * modules/memset (Makefile.am): Likewise.
77138         * modules/memxor (Makefile.am): Likewise.
77139         * modules/mkancesdirs (Makefile.am): Likewise.
77140         * modules/mkdir-p (Makefile.am): Likewise.
77141         * modules/mkdir (Makefile.am): Likewise.
77142         * modules/mkdtemp (Makefile.am): Likewise.
77143         * modules/mkstemp (Makefile.am): Likewise.
77144         * modules/mktime (Makefile.am): Likewise.
77145         * modules/modechange (Makefile.am): Likewise.
77146         * modules/mountlist (Makefile.am): Likewise.
77147         * modules/nanosleep (Makefile.am): Likewise.
77148         * modules/obstack (Makefile.am): Likewise.
77149         * modules/openat (Makefile.am): Likewise.
77150         * modules/pagealign_alloc (Makefile.am): Likewise.
77151         * modules/pathmax (Makefile.am): Likewise.
77152         * modules/physmem (Makefile.am): Likewise.
77153         * modules/poll (Makefile.am): Likewise.
77154         * modules/posixtm (Makefile.am): Likewise.
77155         * modules/posixver (Makefile.am): Likewise.
77156         * modules/putenv (Makefile.am): Likewise.
77157         * modules/quote (Makefile.am): Likewise.
77158         * modules/quotearg (Makefile.am): Likewise.
77159         * modules/raise (Makefile.am): Likewise.
77160         * modules/read-file (Makefile.am): Likewise.
77161         * modules/readline (Makefile.am): Likewise.
77162         * modules/readlink (Makefile.am): Likewise.
77163         * modules/readtokens (Makefile.am): Likewise.
77164         * modules/readutmp (Makefile.am): Likewise.
77165         * modules/realloc (Makefile.am): Likewise.
77166         * modules/regex (Makefile.am): Likewise.
77167         * modules/rename-dest-slash (Makefile.am): Likewise.
77168         * modules/rename (Makefile.am): Likewise.
77169         * modules/rijndael (Makefile.am): Likewise.
77170         * modules/rmdir (Makefile.am): Likewise.
77171         * modules/rpmatch (Makefile.am): Likewise.
77172         * modules/safe-read (Makefile.am): Likewise.
77173         * modules/safe-write (Makefile.am): Likewise.
77174         * modules/same-inode (Makefile.am): Likewise.
77175         * modules/same (Makefile.am): Likewise.
77176         * modules/save-cwd (Makefile.am): Likewise.
77177         * modules/savedir (Makefile.am): Likewise.
77178         * modules/setenv (Makefile.am): Likewise.
77179         * modules/settime (Makefile.am): Likewise.
77180         * modules/sha1 (Makefile.am): Likewise.
77181         * modules/sig2str (Makefile.am): Likewise.
77182         * modules/snprintf (Makefile.am): Likewise.
77183         * modules/stat-macros (Makefile.am): Likewise.
77184         * modules/stat-time (Makefile.am): Likewise.
77185         * modules/stdbool (Makefile.am): Likewise.
77186         * modules/stdint (Makefile.am): Likewise.
77187         * modules/stdlib-safer (Makefile.am): Likewise.
77188         * modules/stpcpy (Makefile.am): Likewise.
77189         * modules/stpncpy (Makefile.am): Likewise.
77190         * modules/strcase (Makefile.am): Likewise.
77191         * modules/strcasestr (Makefile.am): Likewise.
77192         * modules/strchrnul (Makefile.am): Likewise.
77193         * modules/strcspn (Makefile.am): Likewise.
77194         * modules/strdup (Makefile.am): Likewise.
77195         * modules/strerror (Makefile.am): Likewise.
77196         * modules/strftime (Makefile.am): Likewise.
77197         * modules/strndup (Makefile.am): Likewise.
77198         * modules/strnlen (Makefile.am): Likewise.
77199         * modules/strpbrk (Makefile.am): Likewise.
77200         * modules/strsep (Makefile.am): Likewise.
77201         * modules/strstr (Makefile.am): Likewise.
77202         * modules/strtod (Makefile.am): Likewise.
77203         * modules/strtoimax (Makefile.am): Likewise.
77204         * modules/strtok_r (Makefile.am): Likewise.
77205         * modules/strtol (Makefile.am): Likewise.
77206         * modules/strtoll (Makefile.am): Likewise.
77207         * modules/strtoul (Makefile.am): Likewise.
77208         * modules/strtoull (Makefile.am): Likewise.
77209         * modules/strtoumax (Makefile.am): Likewise.
77210         * modules/strverscmp (Makefile.am): Likewise.
77211         * modules/sys_socket (Makefile.am): Likewise.
77212         * modules/sys_stat (Makefile.am): Likewise.
77213         * modules/sysexits (Makefile.am): Likewise.
77214         * modules/time_r (Makefile.am): Likewise.
77215         * modules/timegm (Makefile.am): Likewise.
77216         * modules/timespec (Makefile.am): Likewise.
77217         * modules/tmpfile-safer (Makefile.am): Likewise.
77218         * modules/trim (Makefile.am): Likewise.
77219         * modules/unistd-safer (Makefile.am): Likewise.
77220         * modules/unlinkdir (Makefile.am): Likewise.
77221         * modules/unlocked-io (Makefile.am): Likewise.
77222         * modules/userspec (Makefile.am): Likewise.
77223         * modules/utime (Makefile.am): Likewise.
77224         * modules/utimecmp (Makefile.am): Likewise.
77225         * modules/utimens (Makefile.am): Likewise.
77226         * modules/vasnprintf (Makefile.am): Likewise.
77227         * modules/vasprintf (Makefile.am): Likewise.
77228         * modules/vsnprintf (Makefile.am): Likewise.
77229         * modules/xalloc (Makefile.am): Likewise.
77230         * modules/xgetcwd (Makefile.am): Likewise.
77231         * modules/xnanosleep (Makefile.am): Likewise.
77232         * modules/xreadlink (Makefile.am): Likewise.
77233         * modules/xstrtod (Makefile.am): Likewise.
77234         * modules/xstrtol (Makefile.am): Likewise.
77235         * modules/xstrtold (Makefile.am): Likewise.
77236         * modules/yesno (Makefile.am): Likewise.
77237         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
77238
77239 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77240
77241         * modules/error (Makefile.am): Distribute files through
77242         EXTRA_DIST, not lib_SOURCES.
77243
77244 2006-10-12  Eric Blake  <ebb9@byu.net>
77245
77246         * modules/error (Makefile.am): Distribute files in /lib.
77247         * modules/obstack (Makefile.am): Likewise.
77248
77249 2006-10-12  Bruno Haible  <bruno@clisp.org>
77250
77251         * modules/acl (Makefile.am): Distribute all files in lib/ through
77252         EXTRA_DIST.
77253         * modules/arcfour (Makefile.am): Likewise.
77254         * modules/arctwo (Makefile.am): Likewise.
77255         * modules/argmatch (Makefile.am): Likewise.
77256         * modules/argz (Makefile.am): Likewise.
77257         * modules/atexit (Makefile.am): Likewise.
77258         * modules/backupfile (Makefile.am): Likewise.
77259         * modules/c-strtod (Makefile.am): Likewise.
77260         * modules/c-strtold (Makefile.am): Likewise.
77261         * modules/calloc (Makefile.am): Likewise.
77262         * modules/canon-host (Makefile.am): Likewise.
77263         * modules/canonicalize (Makefile.am): Likewise.
77264         * modules/chdir-long (Makefile.am): Likewise.
77265         * modules/chdir-safer (Makefile.am): Likewise.
77266         * modules/check-version (Makefile.am): Likewise.
77267         * modules/chown (Makefile.am): Likewise.
77268         * modules/cloexec (Makefile.am): Likewise.
77269         * modules/close-stream (Makefile.am): Likewise.
77270         * modules/closeout (Makefile.am): Likewise.
77271         * modules/crc (Makefile.am): Likewise.
77272         * modules/cycle-check (Makefile.am): Likewise.
77273         * modules/des (Makefile.am): Likewise.
77274         * modules/dirfd (Makefile.am): Likewise.
77275         * modules/dirname (Makefile.am): Likewise.
77276         * modules/dup2 (Makefile.am): Likewise.
77277         * modules/euidaccess (Makefile.am): Likewise.
77278         * modules/exclude (Makefile.am): Likewise.
77279         * modules/exitfail (Makefile.am): Likewise.
77280         * modules/fcntl-safer (Makefile.am): Likewise.
77281         * modules/file-type (Makefile.am): Likewise.
77282         * modules/fileblocks (Makefile.am): Likewise.
77283         * modules/filemode (Makefile.am): Likewise.
77284         * modules/filenamecat (Makefile.am): Likewise.
77285         * modules/fnmatch (Makefile.am): Likewise.
77286         * modules/fopen-safer (Makefile.am): Likewise.
77287         * modules/fpending (Makefile.am): Likewise.
77288         * modules/fprintftime (Makefile.am): Likewise.
77289         * modules/free (Makefile.am): Likewise.
77290         * modules/fsusage (Makefile.am): Likewise.
77291         * modules/ftruncate (Makefile.am): Likewise.
77292         * modules/fts (Makefile.am): Likewise.
77293         * modules/gc (Makefile.am): Likewise.
77294         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
77295         * modules/getaddrinfo (Makefile.am): Likewise.
77296         * modules/getcwd (Makefile.am): Likewise.
77297         * modules/getdelim (Makefile.am): Likewise.
77298         * modules/getdomainname (Makefile.am): Likewise.
77299         * modules/getgroups (Makefile.am): Likewise.
77300         * modules/gethostname (Makefile.am): Likewise.
77301         * modules/gethrxtime (Makefile.am): Likewise.
77302         * modules/getline (Makefile.am): Likewise.
77303         * modules/getloadavg (Makefile.am): Likewise.
77304         * modules/getlogin_r (Makefile.am): Likewise.
77305         * modules/getopt (Makefile.am): Likewise.
77306         * modules/getpass (Makefile.am): Likewise.
77307         * modules/getpass-gnu (Makefile.am): Likewise.
77308         * modules/getsubopt (Makefile.am): Likewise.
77309         * modules/gettime (Makefile.am): Likewise.
77310         * modules/gettimeofday (Makefile.am): Likewise.
77311         * modules/getugroups (Makefile.am): Likewise.
77312         * modules/getusershell (Makefile.am): Likewise.
77313         * modules/glob (Makefile.am): Likewise.
77314         * modules/group-member (Makefile.am): Likewise.
77315         * modules/hard-locale (Makefile.am): Likewise.
77316         * modules/hash (Makefile.am): Likewise.
77317         * modules/hmac-md5 (Makefile.am): Likewise.
77318         * modules/hmac-sha1 (Makefile.am): Likewise.
77319         * modules/human (Makefile.am): Likewise.
77320         * modules/idcache (Makefile.am): Likewise.
77321         * modules/imaxabs (Makefile.am): Likewise.
77322         * modules/imaxdiv (Makefile.am): Likewise.
77323         * modules/inet_ntop (Makefile.am): Likewise.
77324         * modules/inet_pton (Makefile.am): Likewise.
77325         * modules/inttostr (Makefile.am): Likewise.
77326         * modules/isapipe (Makefile.am): Likewise.
77327         * modules/lchown (Makefile.am): Likewise.
77328         * modules/long-options (Makefile.am): Likewise.
77329         * modules/lstat (Makefile.am): Likewise.
77330         * modules/malloc (Makefile.am): Likewise.
77331         * modules/mathl (Makefile.am): Likewise.
77332         * modules/mbchar (Makefile.am): Likewise.
77333         * modules/md2 (Makefile.am): Likewise.
77334         * modules/md4 (Makefile.am): Likewise.
77335         * modules/md5 (Makefile.am): Likewise.
77336         * modules/memcasecmp (Makefile.am): Likewise.
77337         * modules/memchr (Makefile.am): Likewise.
77338         * modules/memcmp (Makefile.am): Likewise.
77339         * modules/memcoll (Makefile.am): Likewise.
77340         * modules/memcpy (Makefile.am): Likewise.
77341         * modules/memmem (Makefile.am): Likewise.
77342         * modules/memmove (Makefile.am): Likewise.
77343         * modules/mempcpy (Makefile.am): Likewise.
77344         * modules/memrchr (Makefile.am): Likewise.
77345         * modules/memset (Makefile.am): Likewise.
77346         * modules/memxor (Makefile.am): Likewise.
77347         * modules/mkancesdirs (Makefile.am): Likewise.
77348         * modules/mkdir (Makefile.am): Likewise.
77349         * modules/mkdir-p (Makefile.am): Likewise.
77350         * modules/mkdtemp (Makefile.am): Likewise.
77351         * modules/mkstemp (Makefile.am): Likewise.
77352         * modules/mktime (Makefile.am): Likewise.
77353         * modules/modechange (Makefile.am): Likewise.
77354         * modules/mountlist (Makefile.am): Likewise.
77355         * modules/nanosleep (Makefile.am): Likewise.
77356         * modules/openat (Makefile.am): Likewise.
77357         * modules/pagealign_alloc (Makefile.am): Likewise.
77358         * modules/physmem (Makefile.am): Likewise.
77359         * modules/poll (Makefile.am): Likewise.
77360         * modules/posixtm (Makefile.am): Likewise.
77361         * modules/posixver (Makefile.am): Likewise.
77362         * modules/putenv (Makefile.am): Likewise.
77363         * modules/quote (Makefile.am): Likewise.
77364         * modules/quotearg (Makefile.am): Likewise.
77365         * modules/raise (Makefile.am): Likewise.
77366         * modules/read-file (Makefile.am): Likewise.
77367         * modules/readline (Makefile.am): Likewise.
77368         * modules/readlink (Makefile.am): Likewise.
77369         * modules/readtokens (Makefile.am): Likewise.
77370         * modules/readutmp (Makefile.am): Likewise.
77371         * modules/realloc (Makefile.am): Likewise.
77372         * modules/regex (Makefile.am): Likewise.
77373         * modules/rename (Makefile.am): Likewise.
77374         * modules/rename-dest-slash (Makefile.am): Likewise.
77375         * modules/rijndael (Makefile.am): Likewise.
77376         * modules/rmdir (Makefile.am): Likewise.
77377         * modules/rpmatch (Makefile.am): Likewise.
77378         * modules/safe-read (Makefile.am): Likewise.
77379         * modules/safe-write (Makefile.am): Likewise.
77380         * modules/same (Makefile.am): Likewise.
77381         * modules/save-cwd (Makefile.am): Likewise.
77382         * modules/savedir (Makefile.am): Likewise.
77383         * modules/setenv (Makefile.am): Likewise.
77384         * modules/settime (Makefile.am): Likewise.
77385         * modules/sha1 (Makefile.am): Likewise.
77386         * modules/sig2str (Makefile.am): Likewise.
77387         * modules/snprintf (Makefile.am): Likewise.
77388         * modules/stdlib-safer (Makefile.am): Likewise.
77389         * modules/stpcpy (Makefile.am): Likewise.
77390         * modules/stpncpy (Makefile.am): Likewise.
77391         * modules/strcase (Makefile.am): Likewise.
77392         * modules/strcasestr (Makefile.am): Likewise.
77393         * modules/strchrnul (Makefile.am): Likewise.
77394         * modules/strcspn (Makefile.am): Likewise.
77395         * modules/strdup (Makefile.am): Likewise.
77396         * modules/strerror (Makefile.am): Likewise.
77397         * modules/strftime (Makefile.am): Likewise.
77398         * modules/strndup (Makefile.am): Likewise.
77399         * modules/strnlen (Makefile.am): Likewise.
77400         * modules/strpbrk (Makefile.am): Likewise.
77401         * modules/strsep (Makefile.am): Likewise.
77402         * modules/strstr (Makefile.am): Likewise.
77403         * modules/strtod (Makefile.am): Likewise.
77404         * modules/strtoimax (Makefile.am): Likewise.
77405         * modules/strtok_r (Makefile.am): Likewise.
77406         * modules/strtol (Makefile.am): Likewise.
77407         * modules/strtoll (Makefile.am): Likewise.
77408         * modules/strtoul (Makefile.am): Likewise.
77409         * modules/strtoull (Makefile.am): Likewise.
77410         * modules/strtoumax (Makefile.am): Likewise.
77411         * modules/strverscmp (Makefile.am): Likewise.
77412         * modules/time_r (Makefile.am): Likewise.
77413         * modules/timegm (Makefile.am): Likewise.
77414         * modules/tmpfile-safer (Makefile.am): Likewise.
77415         * modules/unistd-safer (Makefile.am): Likewise.
77416         * modules/unlinkdir (Makefile.am): Likewise.
77417         * modules/userspec (Makefile.am): Likewise.
77418         * modules/utime (Makefile.am): Likewise.
77419         * modules/utimecmp (Makefile.am): Likewise.
77420         * modules/utimens (Makefile.am): Likewise.
77421         * modules/vasnprintf (Makefile.am): Likewise.
77422         * modules/vasprintf (Makefile.am): Likewise.
77423         * modules/vsnprintf (Makefile.am): Likewise.
77424         * modules/xalloc (Makefile.am): Likewise.
77425         * modules/xgetcwd (Makefile.am): Likewise.
77426         * modules/xnanosleep (Makefile.am): Likewise.
77427         * modules/xreadlink (Makefile.am): Likewise.
77428         * modules/xstrtod (Makefile.am): Likewise.
77429         * modules/xstrtol (Makefile.am): Likewise.
77430         * modules/xstrtold (Makefile.am): Likewise.
77431         * modules/yesno (Makefile.am): Likewise.
77432
77433 2006-10-12  Jim Meyering  <jim@meyering.net>
77434
77435         * m4/getloadavg.m4: Revert the change below.
77436
77437         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
77438         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
77439         fail with a symlink, which is what coreutils' ./bootstrap now
77440         creates by default.
77441
77442 2006-10-12  Bruno Haible  <bruno@clisp.org>
77443
77444         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
77445         mingw.
77446         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
77447         MSVC and mingw explicitly.
77448
77449 2006-10-11  Simon Josefsson  <jas@extundo.com>
77450             Bruno Haible  <bruno@clisp.org>
77451
77452         Add support for multiple gnulib-tool invocations in the scope of a
77453         single configure.ac file.
77454         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
77455         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
77456         with the same contents as the _LIBADD variable.
77457         (func_emit_initmacro_start, func_emit_initmacro_end,
77458         func_emit_initmacro_done): New functions.
77459         (func_import, func_create_testdir): Invoke them. Allow the identifiers
77460         gl_LIBOBJS and gl_LTLIBOBJS.
77461
77462 2006-10-11  Bruno Haible  <bruno@clisp.org>
77463
77464         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
77465         (func_create_testdir): Don't create po/Makefile.am, don't invoke
77466         autoreconf. Instead, invoke autopoint explicitly but move back the
77467         *.m4 files from gnulib.
77468
77469 2006-10-11  Bruno Haible  <bruno@clisp.org>
77470
77471         * gnulib-tool (func_usage): Make module names after --create-testdir
77472         optional.
77473         (func_create_testdir): If no module was specified, use nearly all
77474         modules.
77475
77476 2006-10-12  Jim Meyering  <jim@meyering.net>
77477
77478         Big performance improvement for fts-based tools that use FTS_NOSTAT.
77479         Avoid spurious inode-mismatch problems on non-POSIX file systems.
77480         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
77481         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
77482         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
77483         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
77484         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
77485         (fts_set_stat_required): New function.
77486         (fts_open): Defer the calls to fts_stat, if possible or requested.
77487         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
77488         into fts_stat itself.
77489         (fts_read): Perform any required (deferred) fts_stat call.
77490         (fts_build): Likewise, for the directory we're about to open and read.
77491         In the readdir loop, carefully decide whether each entry will require
77492         an eventual call to fts_stat, using dirent.d_type info if available.
77493         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
77494         a command line argument into this function.  Update all callers.
77495         Map a return value of FTS_DOT to FTS_D for a command line argument.
77496         * modules/fts (Depends-on): Add d-type.  Alphabetize.
77497         Thanks to Miklos Szeredi for his tenacity and for the initial
77498         bug report about "find" failing on a FUSE-based file system.
77499
77500         * lib/fts.c (fts_open): Use consistent indentation.
77501
77502 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77503
77504         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
77505         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
77506         reported by Jim Meyering.  All uses of cache variables renamed
77507         to match Autoconf's.
77508         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
77509         the other one.
77510
77511         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
77512         Fix misspelling in diagnostic.
77513
77514 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77515
77516         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
77517         defined.  Problem reported by Matthew Woehlke.
77518
77519         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
77520         Add support for Tandem NonStop R series.
77521         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
77522         Use new macro.
77523
77524         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
77525         (has_trailing_slash): Omit size arg; all callers changed.
77526         Omit 'inline', since it doesn't help performance and we'd
77527         need to configure it.
77528         Don't count //, ///, etc. as having a trailing slash.
77529         As a side effect, this removes a C99ism reported by Matthew Woehlke.
77530         (rpl_rename_dest_slash): On failure, use rename's errno rather
77531         than (in some cases) an incorrect or junk errno.
77532         Simplify code by removing need to compute length; this does
77533         cause it to make two passes instead of one over the file name,
77534         but it's worth it.
77535
77536         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
77537         change, since Autoconf's version may no longer be appropriate now
77538         that we are using CVS Autoconf's version.  Add support for Tandem.
77539
77540 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77541             Bruno Haible  <bruno@clisp.org>
77542
77543         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
77544         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
77545         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
77546         gl_AC_TYPE_LONG_LONG.
77547
77548         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
77549         instead of HAVE_LONG_LONG.
77550         * lib/printf-args.c (printf_fetchargs): Likewise.
77551         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
77552         * lib/vasnprintf.c (VASNPRINTF): Likewise.
77553         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
77554         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
77555         gl_AC_TYPE_LONG_LONG.
77556
77557 2006-10-11  Bruno Haible  <bruno@clisp.org>
77558
77559         * m4/longlong.m4: Add comments.
77560         * m4/ulonglong.m4: Likewise.
77561
77562 2006-10-10  Bruno Haible  <bruno@clisp.org>
77563
77564         Make it possible to #define stpcpy, strdup to aliases.
77565         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
77566         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
77567
77568 2006-10-10  Bruno Haible  <bruno@clisp.org>
77569
77570         Make it possible to #define gcd to an alias.
77571         * lib/gcd.c: Include config.h.
77572
77573 2006-10-10  Bruno Haible  <bruno@clisp.org>
77574
77575         Make it possible to #define c_isascii to an alias.
77576         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
77577         defined. Undefine the macros before defining them, to avoid gcc
77578         warnings.
77579         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
77580         define NO_C_CTYPE_MACROS early.
77581
77582 2006-10-10  Bruno Haible  <bruno@clisp.org>
77583
77584         Make it possible to #define set_program_name to an alias.
77585         * lib/progname.c: Don't undefine set_program_name; instead, undefine
77586         ENABLE_RELOCATABLE early.
77587
77588 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
77589
77590         Port to Tandem NSK OSS, which has 64-bit signed int but at most
77591         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
77592         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
77593         More generally, don't assume that 64-bit signed int is available
77594         if unsigned int is, and vice versa.
77595         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
77596         unsigned symbols, not on their signed counterparts.
77597         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
77598         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
77599         (UINT64_C, UINTMAX_C):
77600         Likewise.
77601         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
77602         unsigned counterparts.
77603         (Have_long_long, Unsigned): New macros.
77604         (Int): Renamed from INT.
77605         (strtoimax): Use the new macros.
77606         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
77607         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
77608         * modules/inttypes (inttypes.h): Substitute
77609         HAVE_UNSIGNED_LONG_LONG_INT.
77610         * modules/stdint (stdint.h): Likewise.
77611         (Files): Add m4/ulonglong.m4.
77612
77613 2006-10-10  Bruno Haible  <bruno@clisp.org>
77614
77615         Fix a gcc -Wshadow warning.
77616         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
77617         to 'bucket'.
77618         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
77619         gl_linked_indexof_from_to): Likewise.
77620         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
77621         Likewise.
77622         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
77623         Likewise.
77624         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
77625         Reported by Eric Blake.
77626
77627 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
77628
77629         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
77630         for NetBSD.  Problem reported by Bruno Haible.
77631
77632 2006-10-09  Jim Meyering  <jim@meyering.net>
77633
77634         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
77635         Patch from Bruno Haible.
77636
77637 2006-10-09  Jim Meyering  <jim@meyering.net>
77638
77639         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
77640         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
77641         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
77642
77643 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
77644
77645         Don't include <config.h> twice; this doesn't work in some cases,
77646         e.g., when config.h has "#define intmax_t long long int" and
77647         we include <config.h>, <inttypes.h>, <config.h> in that order.
77648         Problem reported by Matthew Woehlke in:
77649         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
77650         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
77651         * lib/fts-cycle.c: Don't include config.h.
77652         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
77653         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
77654         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
77655         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
77656         inttypes.h.
77657         * lib/xstrtoumax.c: Likewise.
77658         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
77659         __strtol and the like, so that this module is more like its siblings.
77660         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
77661         Remove; no longer needed now that we assume gnulib inttypes.h.
77662
77663 2006-10-08  Bruno Haible  <bruno@clisp.org>
77664
77665         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
77666         option.
77667
77668 2006-10-07  Jim Meyering  <jim@meyering.net>
77669
77670         * modules/inttypes (inttypes.h): Revert what seems to have been
77671         an inadvertent part of today's change: use "|", not "/" in the
77672         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
77673
77674 2006-10-07  Bruno Haible  <bruno@clisp.org>
77675
77676         * modules/sublist: New file.
77677
77678 2006-10-07  Bruno Haible  <bruno@clisp.org>
77679
77680         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
77681         * modules/argz (argz.h): Likewise.
77682         * modules/arpa_inet (arpa/inet.h): Likewise.
77683         * modules/byteswap (byteswap.h): Likewise.
77684         * modules/configmake (configmake.h): Likewise.
77685         * modules/fcntl (fcntl.h): Likewise.
77686         * modules/fnmatch (fnmatch.h): Likewise.
77687         * modules/getopt (getopt.h): Likewise.
77688         * modules/glob (glob.h): Likewise.
77689         * modules/inttypes (inttypes.h): Likewise.
77690         * modules/netinet_in (netinet/in.h): Likewise.
77691         * modules/poll (poll.h): Likewise.
77692         * modules/stdbool (stdbool.h): Likewise.
77693         * modules/stdint (stdint.h): Likewise.
77694         * modules/sys_select (sys/select.h): Likewise.
77695         * modules/sys_socket (sys/socket.h): Likewise.
77696         * modules/sys_stat (sys/stat.h): Likewise.
77697         * modules/sysexits (sysexits.h): Likewise.
77698         * modules/unistd (unistd.h): Likewise.
77699         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77700         Add a "DO NOT EDIT" comment to the generated file.
77701         (func_import): Likewise for gnulib-comp.m4.
77702
77703 2006-10-07  Bruno Haible  <bruno@clisp.org>
77704
77705         * lib/gl_sublist.h: New file.
77706         * lib/gl_sublist.c: New file.
77707
77708 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77709
77710         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
77711         name (relative to the original working directory) and the file
77712         name component (relative to the temporary working directory).  All
77713         callers changed.
77714         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
77715         * lib/mkdir-p.c (make_dir_parents): Likewise.
77716         * lib/mkdir-p.h (make_dir_parents): Likewise.
77717
77718 2006-10-06  Eric Blake  <ebb9@byu.net>
77719
77720         Define several macros for use by the clean-temp module.
77721         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
77722         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
77723         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
77724
77725         * lib/clean-temp.h (close_stream_temp): New declaration.
77726         * lib/clean-temp.c (includes): Pull in headers according to what
77727         other modules are in use.
77728         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
77729
77730 2006-10-06  Bruno Haible  <bruno@clisp.org>
77731
77732         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
77733         instead of fopen, fwriteerror.
77734
77735 2006-10-06  Bruno Haible  <bruno@clisp.org>
77736
77737         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
77738         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
77739         int.
77740         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
77741         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
77742         Return an error indicator.
77743         Suggested by Eric Blake.
77744
77745 2006-10-06  Bruno Haible  <bruno@clisp.org>
77746
77747         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
77748         Reported by Eric Blake.
77749
77750 2006-10-06  Bruno Haible  <bruno@clisp.org>
77751
77752         * modules/closeout (Description): Mention stderr too.
77753
77754 2006-10-06  Bruno Haible  <bruno@clisp.org>
77755         and Paul Eggert  <eggert@cs.ucla.edu>
77756
77757         * lib/closeout.c (close_stdout): Also close stderr.
77758         * lib/closeout.h: Update comment.
77759
77760 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77761
77762         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
77763         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
77764         * lib/dirchownmod.c: Include lchown.h.
77765         * lib/lchown.c: Don't include files that lchown.h now includes.
77766         Don't declare chown, since lchown.h now does that.
77767         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
77768         (lchown): Define to rpl_chown if lchown is declared but
77769         does not exist.  Declare using a prototype if lchown is not
77770         declared.  Add a copyright notice.
77771         * lib/mkstemp.h: Include <unistd.h>.
77772         * lib/openat.c: Include lchown.h.
77773
77774         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
77775         we now test for that separately.
77776         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
77777         rather than O_NOFOLLOW, when testing whether it's possible to
77778         avoid a race condition reliably.
77779         * lib/savewd.c (savewd_chdir): Likewise.
77780
77781         Remove macros that are no longer needed now that stdint.h is
77782         reliable.
77783         * lib/fsusage.c (UINTMAX_MAX): Remove.
77784         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
77785         * lib/utimecmp.c (SIZE_MAX): Remove.
77786
77787         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
77788
77789         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
77790         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
77791         O_NOATIME works.
77792
77793 2006-10-05  Bruno Haible  <bruno@clisp.org>
77794
77795         * lib/gl_list.h (gl_sortedlist_search_from_to,
77796         gl_sortedlist_indexof_from_to): New declarations.
77797         (gl_list_implementation): New fields sortedlist_search_from_to,
77798         sortedlist_indexof_from_to.
77799         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
77800         inline functions.
77801         * lib/gl_list.c (gl_sortedlist_search_from_to,
77802         gl_sortedlist_indexof_from_to): New functions.
77803         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
77804         function.
77805         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
77806         (gl_array_sortedlist_search_from_to): New function.
77807         (gl_array_list_implementation): Update.
77808         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
77809         function.
77810         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
77811         (gl_carray_sortedlist_search_from_to): New function.
77812         (gl_carray_list_implementation): Update.
77813         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
77814         gl_linked_sortedlist_indexof_from_to): New functions.
77815         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77816         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77817         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
77818         gl_tree_sortedlist_indexof_from_to): New functions.
77819         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77820         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77821         Update.
77822         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77823         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
77824         Update.
77825
77826 2006-10-05  Bruno Haible  <bruno@clisp.org>
77827
77828         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
77829         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
77830         (struct gl_list_implementation): Add fields search_from_to,
77831         indexof_from_to. Remove fields search, indexof.
77832         (gl_list_search): Use the search_from_to method.
77833         (gl_list_search_from, gl_list_search_from_to): New functions.
77834         (gl_list_indexof): Use the indexof_from_to method.
77835         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77836         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
77837         (gl_list_search_from, gl_list_search_from_to): New functions.
77838         (gl_list_indexof): Use the indexof_from_to method.
77839         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77840         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
77841         gl_array_indexof. Add start_index, end_index arguments.
77842         (gl_array_search_from_to): Renamed from gl_array_search. Add
77843         start_index, end_index arguments.
77844         (gl_array_remove, gl_array_list_implementation): Update.
77845         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
77846         gl_carray_indexof. Add start_index, end_index arguments.
77847         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
77848         start_index, end_index arguments.
77849         (gl_carray_remove, gl_carray_list_implementation): Update.
77850         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
77851         gl_linked_search. Add start_index, end_index arguments.
77852         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
77853         start_index, end_index arguments.
77854         (gl_linked_remove): Update.
77855         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77856         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77857         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
77858         field to 'size_t'.
77859         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
77860         gl_tree_search. Add start_index, end_index arguments.
77861         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77862         start_index, end_index arguments.
77863         (gl_tree_remove): Update.
77864         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77865         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77866         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
77867         function.
77868         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
77869         gl_tree_search. Add start_index, end_index arguments.
77870         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77871         start_index, end_index arguments.
77872         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77873         Update.
77874         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
77875
77876 2006-10-05  Bruno Haible  <bruno@clisp.org>
77877
77878         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
77879
77880         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
77881         fwriteerror_temp): New declarations.
77882         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
77883         (descriptors): New variable.
77884         (cleanup): First, close the descriptors.
77885         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
77886         fclose_temp, fwriteerror_temp): New functions.
77887
77888 2006-10-04  Jim Meyering  <jim@meyering.net>
77889
77890         * lib/fts.c (fts_open): Tiny comment change.
77891
77892 2006-10-04  Bruno Haible  <bruno@clisp.org>
77893
77894         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
77895         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
77896         gl_LOCK_BODY.
77897         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
77898         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
77899         gl_LOCK_EARLY_BODY.
77900         (gl_LOCK): Require gl_LOCK_BODY.
77901
77902 2006-10-04  Bruno Haible  <bruno@clisp.org>
77903
77904         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
77905         (gl_oset_search_atleast): New declaration.
77906         (struct gl_oset_implementation): Add field 'search_atleast'.
77907         (gl_oset_search_atleast): New inline function.
77908         * lib/gl_oset.c (gl_oset_search_atleast): New function.
77909         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
77910         (gl_array_oset_implementation): Update.
77911         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
77912         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
77913         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
77914
77915 2006-10-04  Bruno Haible  <bruno@clisp.org>
77916
77917         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
77918
77919 2006-10-03  Bruno Haible  <bruno@clisp.org>
77920
77921         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
77922         from gl_avltreehash_list_implementation.
77923
77924 2006-10-03  Bruno Haible  <bruno@clisp.org>
77925
77926         * lib/gl_oset.c (gl_oset_add): Fix return type.
77927
77928 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
77929
77930         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
77931
77932 2006-10-02  Eric Blake  <ebb9@byu.net>
77933
77934         * modules/strnlen (Depends-on): Add extensions.
77935
77936 2006-10-02  Eric Blake  <ebb9@byu.net>
77937
77938         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
77939         definition in 2.60+.
77940
77941 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
77942
77943         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
77944         checks.
77945
77946 2006-10-02  Bruno Haible  <bruno@clisp.org>
77947
77948         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
77949         to the AUTOMAKE_OPTIONS.
77950         Reported by Jim Meyering.
77951
77952 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77953
77954         Work around bug in Solaris 10 /proc file system:
77955         /proc/self/fd/NNN/.. isn't the parent directory of
77956         the directory whose file descriptor is NNN.  This needs to
77957         be worked around at run time, not compile time, since a
77958         program might be built on Solaris 8, where things work, and
77959         run on Solaris 10.
77960         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
77961         to use the following interface instead:
77962         (OPENAT_BUFFER_SIZE): New macro.
77963         (openat_proc_name): New function.
77964         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
77965         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
77966         Likewise.
77967         * lib/openat-proc.c: New file.
77968         * modules/openat (Files): Add lib/openat-proc.c.
77969         (Depends-on): Add same-inode, stdbool.
77970         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
77971
77972 2006-09-29  Bruno Haible  <bruno@clisp.org>
77973
77974         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
77975         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
77976         argument. Set stdout_closed before testing for ferror, not after.
77977         (fwriteerror, fwriteerror_no_ebadf): New functions.
77978
77979 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77980
77981         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
77982
77983 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
77984
77985         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
77986         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
77987
77988 2006-09-28  Jim Meyering  <jim@meyering.net>
77989
77990         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
77991         Include <unistd.h>.
77992
77993 2006-09-28  Bruno Haible  <bruno@clisp.org>
77994
77995         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
77996         * modules/linkedhash-list (Depends-on): Likewise.
77997         * modules/rbtreehash-list (Depends-on): Likewise.
77998
77999 2006-09-28  Bruno Haible  <bruno@clisp.org>
78000
78001         * lib/strndup.h: Simplify the redefinition of strndup.
78002         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
78003         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
78004
78005 2006-09-28  Bruno Haible  <bruno@clisp.org>
78006
78007         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
78008         * lib/gl_linkedhash_list.c: Likewise.
78009         * lib/gl_rbtreehash_list.c: Likewise.
78010
78011 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
78012
78013         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
78014         getaddrinfo.
78015
78016         * lib/__fpending.h: Don't include <stdio_ext.h> unless
78017         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
78018         it causes <stdio_ext.h> to cause a compile-time error.
78019         Problem reported by Nelson H. F. Beebe.
78020         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
78021         of HAVE_DECL___PENDING.
78022
78023         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
78024         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
78025         declaration.
78026
78027 2006-09-27  Jim Meyering  <jim@meyering.net>
78028
78029         This file could end up with a definition for a function
78030         named __strndup, rather than rpl_strndup on a system with
78031         incomplete weak_alias support.
78032         * lib/strndup.c (strndup): Rename from __strndup.
78033         Remove #defines that used to map __strndup to strndup.
78034         Don't use K&R prototypes.
78035         Remove LIBC-related code, since this file is not sync'd with glibc.
78036         * lib/strndup.h: Revamp, accordingly.
78037         * m4/strndup.m4: Modernize.
78038
78039 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
78040
78041         * modules/savewd (Depends-on): Add 'raise'.
78042         * lib/savewd.c: Include <signal.h>, for 'raise'.
78043
78044 2006-09-26  Jim Meyering  <jim@meyering.net>
78045
78046         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
78047         when we detect Darwin 8.7.0's acl_get_file bug.
78048         Rearrange to perform the new (below) run-test while $LIBS
78049         contains any acl-related library.  Set USE_ACL at the end.
78050         (gl_ACL_GET_FILE): New function.
78051
78052 2006-09-26  Eric Blake  <ebb9@byu.net>
78053
78054         * lib/verror.c: Include <config.h> unconditionally.
78055
78056 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
78057
78058         * modules/clock-time (Maintainer): Add self.
78059         * modules/getlogin_r (Depends-on): Add extensions.
78060
78061 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78062
78063         * modules/clock-time: New module.
78064         * modules/nanosleep (Depends-on): Add clock-time.
78065         * modules/gethrxtime (Depends-on): Likewise.
78066         * modules/gettime (Depends-on): Likewise.
78067         * modules/settime (Depends-on): Likewise.
78068
78069         * modules/fts-lgpl: Depend on openat.
78070         * modules/mkancesdirs: Depend on savewd.
78071         * modules/mkdir-p: Likewise.
78072
78073 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78074
78075         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
78076
78077         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
78078         `gl_have_arbitrary_file_name_length_limit' to
78079         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
78080         actually works between configure runs.
78081
78082 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78083             Bruno Haible  <bruno@clisp.org>
78084
78085         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
78086
78087 2006-09-25  Jim Meyering  <jim@meyering.net>
78088
78089         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
78090         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
78091
78092 2006-09-25  Eric Blake  <ebb9@byu.net>
78093
78094         * gnulib-tool (func_import, func_create_testdir): Fix typos in
78095         exec's in 2006-09-18 patch when shuffling fds.
78096
78097 2006-09-25  Bruno Haible  <bruno@clisp.org>
78098
78099         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
78100         Reported by Jim Meyering.
78101
78102 2006-09-24  Jim Meyering  <jim@meyering.net>
78103
78104         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
78105         compare a pointer against a literal "0".  That caused failures with
78106         at least HP-UX's hpcc.
78107
78108 2006-09-22  Simon Josefsson  <jas@extundo.com>
78109
78110         * modules/gc-sha1:
78111         * modules/gc-md4:
78112         * modules/gc-hmac-sha1:
78113         * modules/gc-hmac-md5:
78114         * modules/gc-des:
78115         * modules/gc-arcfour: Distribute more files.
78116
78117 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78118
78119         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
78120         (gl_linked_iterator_from_to): Initialize struct completely.
78121         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
78122         (gl_tree_iterator_from_to): Likewise
78123         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
78124         * lib/gl_array_list.c [lint] (gl_array_iterator)
78125         (gl_array_iterator_from_to): Likewise.
78126         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
78127         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
78128         (gl_carray_iterator_from_to): Likewise.
78129
78130         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
78131         * lib/md4.c (md4_process_block): Remove unused variable.
78132         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
78133         parentheses for clarity.
78134
78135 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78136
78137         * modules/bison-i18n (Depends-on): Add gettext.
78138
78139 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78140
78141         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
78142         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
78143         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
78144         also add missing comma that caused broken test.
78145         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
78146         stdlib.h, for `abort'.
78147         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
78148         variables.
78149         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
78150         include unistd.h if present, for `rmdir'.
78151         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
78152         variables.
78153         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
78154         in the process include standard headers for prototypes.
78155         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
78156         gets declared on GNU/Linux.
78157         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
78158         unistd.h, for `rmdir'.
78159         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
78160
78161         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
78162         always true.
78163         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
78164
78165         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
78166
78167 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78168
78169         * gnulib-tool (func_version): Create output all at once.  This
78170         may help avoid triggering unnecessary SIGPIPEs, and at any
78171         rate it doesn't hurt.
78172
78173 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78174             Bruno Haible  <bruno@clisp.org>
78175
78176         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
78177         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
78178         * m4/signed.m4 (bh_C_SIGNED): Likewise.
78179
78180         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
78181         (gl_FUNC_VASPRINTF): Invoke it.
78182
78183 2006-09-22  Bruno Haible  <bruno@clisp.org>
78184
78185         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
78186         getloadavg.c as first argument.
78187
78188 2006-09-22  Bruno Haible  <bruno@clisp.org>
78189
78190         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
78191         at the beginning of the gl_INIT macro.
78192         * modules/getloadavg (configure.ac): Pass $gl_source_base to
78193         gl_GETLOADAVG.
78194
78195 2006-09-22  Bruno Haible  <bruno@clisp.org>
78196
78197         * gnulib-tool (func_create_megatestdir): Don't include the config-h
78198         module.
78199         Suggested by Ralf Wildenhues.
78200
78201 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78202
78203         Import this patch from libc:
78204
78205         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
78206
78207         * lib/regex_internal.c (re_string_reconstruct): Handle
78208         offset < pstr->valid_raw_len && pstr->offsets_needed case.
78209         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
78210         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
78211         re_string_context_at.
78212
78213         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
78214         now requires it.
78215         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
78216         gl_REGEX now does it for us.
78217         (gl_REGEX): Add test taken from
78218         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
78219
78220         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
78221         Check that large offsets work.  Modernize Autoconf usages.
78222         Prefer "yes" to mean a good thing rather than a bad.
78223         Don't put "#define mkstemp" in config.h, as this might interfere
78224         with standard system headers that "#define mkstemp mkstemp64".
78225
78226         * modules/mkstemp (Depends-on): Add extensions, so that
78227         mkstemp is visible on some platforms.
78228         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
78229         (Include): Change to "mkstemp.h" from <stdlib.h>.
78230         (Files): Add mkstemp.h.
78231
78232         * lib/mkstemp.h: New file, since some standard headers
78233         #define mkstemp.
78234         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
78235         Include "mkstemp.h".
78236         Make the _LIBC code resemble glibc original more,
78237         e.g., use K&R style.
78238         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
78239         (mkstemp): Remove, since mkstemp.h does this for us.
78240         * lib/stdlib--.h: Include mkstemp.h.
78241
78242         Import this patch from libc:
78243
78244         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
78245
78246         * lib/tempname.c (__gen_tempname): Change attempts_min
78247         into a macro.  Use preprocessor to decide how to initialize
78248         attempts [Coverity CID 67].
78249
78250 2006-09-20  Bruno Haible  <bruno@clisp.org>
78251
78252         * lib/mkdtemp.c: Import from libc.
78253         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
78254                 * sysdeps/posix/tempname.c (__gen_tempname): Change
78255                 attempts_min into a macro.  Use preprocessor to decide how to
78256                 initialize attempts [Coverity CID 67].
78257         2001-11-27  Paul Eggert  <eggert@twinsun.com>
78258                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
78259                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
78260
78261 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78262
78263         * gnulib-tool (func_exit): New function, to allow to pass the
78264         exit status portably through the trap.  Use everywhere.
78265         (--help, --version): Signal a write error.
78266         (trap): catch SIGPIPE, for write errors.
78267         Exit at the end of the trap, with the correct exit status.
78268
78269 2006-09-19  Karl Berry  <karl@gnu.org>
78270
78271         * doc/gnulib.texi: note about the license texinfo files.
78272
78273 2006-09-19  Eric Blake  <ebb9@byu.net>
78274
78275         * gnulib-tool: Avoid space-tab.
78276
78277 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
78278
78279         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
78280         that prevented coreutils 6.1 from building.  Problem reported
78281         by Petter Reinholdtsen.
78282
78283 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
78284
78285         * gnulib-tool (avoidlist): Fix typo that broke options like
78286         --avoid=lock that are used by coreutils bootstrap.
78287
78288 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
78289
78290         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
78291         more systematically.
78292
78293 2006-09-18  Jim Meyering  <jim@meyering.net>
78294
78295         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
78296
78297 2006-09-18  Bruno Haible  <bruno@clisp.org>
78298
78299         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
78300
78301 2006-09-18  Bruno Haible  <bruno@clisp.org>
78302
78303         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
78304         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
78305         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
78306         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
78307         * m4/gettext.m4: Require autoconf >= 2.52.
78308         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
78309         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
78310         of gl_cv_header_inttypes_h.
78311
78312 2006-09-18  Bruno Haible  <bruno@clisp.org>
78313
78314         * lib/javaversion.c: Include configmake.h.
78315
78316 2006-09-18  Bruno Haible  <bruno@clisp.org>
78317
78318         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
78319         avoid that the while loops be executed in a subshell.
78320
78321 2006-09-18  Bruno Haible  <bruno@clisp.org>
78322
78323         * MODULES.html.sh (func_module): Break long lines.
78324         Suggested by Bruce Korb <bkorb@gnu.org>.
78325
78326 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78327
78328         Speed up by a factor of 1.12.
78329         * gnulib-tool (nl): New variable.
78330         (func_import): Rewrite include directive extraction to only read each
78331         directive once.
78332
78333 2006-09-17  Bruno Haible  <bruno@clisp.org>
78334
78335         * modules/javaversion (Makefile.am): Remove DEFS setting.
78336         (Depends-on): Add configmake, for PKGDATADIR definition.
78337
78338 2006-09-17  Bruno Haible  <bruno@clisp.org>
78339
78340         * gnulib-tool (func_create_testdir): Rewrite all files at once.
78341
78342 2006-09-17  Bruno Haible  <bruno@clisp.org>
78343
78344         * gnulib-tool (func_append): New function, stolen from libtool.m4.
78345         (func_modules_transitive_closure, func_modules_add_dummy,
78346         func_modules_to_filelist, func_import, func_create_testdir,
78347         func_create_megatestdir, ...): Use it wherever possible.
78348         Suggested by Ralf Wildenhues.
78349
78350 2006-09-16  Karl Berry  <karl@gnu.org>
78351
78352         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
78353         to avoid sectioning errors.
78354         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
78355         [ifinfo]: blank line after @center-ed titles.
78356         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
78357         Spell FSF address consistently with others.
78358         (These changes approved by rms.)
78359
78360 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78361
78362         Speed up by a factor of 1.61.
78363         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
78364         already checked module names again.
78365
78366 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78367
78368         Speed up by a factor of 1.13.
78369         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
78370         for new_files, and the input to func_add_or_update.
78371
78372 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78373
78374         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
78375         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
78376
78377 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78378
78379         * modules/mkancesdirs (Depends-on): Add fcntl.
78380         * modules/savewd: New file.
78381         * MODULES.html.sh (File system functions): Add savewd.
78382
78383         * modules/configmake (Makefile.am): Add support for the
78384         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
78385
78386 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78387
78388         * m4/savewd.m4: New file.
78389
78390 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78391
78392         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
78393         (dirchownmod): New arg FD.  All callers changed.
78394         Use FD rather than opening the directory ourself, as opening is
78395         now the caller's responsibility.
78396         * lib/dirchownmod.h: Likewise.
78397         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
78398         hosts that require <sys/types.h> before <sys/stat.h>.  Include
78399         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
78400         (test_dir): Remove.
78401         (mkancesdirs): Return length of prefix of FILE that has already
78402         been made, or -2 if there is a child doing the work.  Redo
78403         algorithm so that it is O(N) rather than O(N**2).  Optimize away
78404         ".", and treat ".." specially since it might stray back into
78405         already-created areas.  Use a subprocess if necessary.  New arg
78406         WD; all users changed.  MAKE_DIR function should now return 1
78407         if it creates a directory that is not readable.  Return -2 if
78408         a child process is spun off.
78409         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
78410         Adjust signature to match code.
78411         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
78412         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
78413         all users changed.
78414         * lib/savewd.c, lib/savewd.h: New files.
78415
78416 2006-09-15  Jim Meyering  <jim@meyering.net>
78417
78418         * modules/rename-dest-slash: New module.
78419         * MODULES.html.sh (posix_compat): Add it here.
78420
78421         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
78422
78423 2006-09-15  Jim Meyering  <jim@meyering.net>
78424
78425         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
78426         file.
78427
78428         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
78429
78430 2006-09-15  Jim Meyering  <jim@meyering.net>
78431
78432         * lib/rename-dest-slash.c (has_trailing_slash): Use
78433         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
78434         (rpl_rename_dest_slash): Perform the cheaper trailing slash
78435         test before testing whether SRC is a directory.
78436         Suggestions from Bruno Haible.
78437
78438         Avoid a warning about an unused variable.
78439         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
78440         into the #ifdef block where it's used.
78441
78442         * lib/rename-dest-slash.c: New file.
78443
78444 2006-09-14  Bruno Haible  <bruno@clisp.org>
78445
78446         * lib/allocsa.c: Include <config.h> unconditionally.
78447         * lib/asnprintf.c: Likewise.
78448         * lib/asprintf.c: Likewise.
78449         * lib/c-strcasecmp.c: Likewise.
78450         * lib/c-strcasestr.c: Likewise.
78451         * lib/c-strncasecmp.c: Likewise.
78452         * lib/c-strstr.c: Likewise.
78453         * lib/classpath.c: Likewise.
78454         * lib/clean-temp.c: Likewise.
78455         * lib/concatpath.c: Likewise.
78456         * lib/copy-file.c: Likewise.
78457         * lib/csharpcomp.c: Likewise.
78458         * lib/csharpexec.c: Likewise.
78459         * lib/execute.c: Likewise.
78460         * lib/fatal-signal.c: Likewise.
78461         * lib/findprog.c: Likewise.
78462         * lib/fwriteerror.c: Likewise.
78463         * lib/gl_array_list.c: Likewise.
78464         * lib/gl_array_oset.c: Likewise.
78465         * lib/gl_avltree_list.c: Likewise.
78466         * lib/gl_avltree_oset.c: Likewise.
78467         * lib/gl_avltreehash_list.c: Likewise.
78468         * lib/gl_carray_list.c: Likewise.
78469         * lib/gl_linked_list.c: Likewise.
78470         * lib/gl_linkedhash_list.c: Likewise.
78471         * lib/gl_list.c: Likewise.
78472         * lib/gl_oset.c: Likewise.
78473         * lib/gl_rbtree_list.c: Likewise.
78474         * lib/gl_rbtree_oset.c: Likewise.
78475         * lib/gl_rbtreehash_list.c: Likewise.
78476         * lib/imaxabs.c: Likewise.
78477         * lib/imaxdiv.c: Likewise.
78478         * lib/javacomp.c: Likewise.
78479         * lib/javaexec.c: Likewise.
78480         * lib/javaversion.c: Likewise.
78481         * lib/linebreak.c: Likewise.
78482         * lib/localcharset.c: Likewise.
78483         * lib/lock.c: Likewise.
78484         * lib/mbchar.c: Likewise.
78485         * lib/mbswidth.c: Likewise.
78486         * lib/mkdtemp.c: Likewise.
78487         * lib/pipe.c: Likewise.
78488         * lib/printf-args.c: Likewise.
78489         * lib/printf-parse.c: Likewise.
78490         * lib/progname.c: Likewise.
78491         * lib/progreloc.c: Likewise.
78492         * lib/readlink.c: Likewise.
78493         * lib/sh-quote.c: Likewise.
78494         * lib/stpcpy.c: Likewise.
78495         * lib/stpncpy.c: Likewise.
78496         * lib/strcasecmp.c: Likewise.
78497         * lib/strcasestr.c: Likewise.
78498         * lib/strcspn.c: Likewise.
78499         * lib/striconv.c: Likewise.
78500         * lib/strncasecmp.c: Likewise.
78501         * lib/strnlen1.c: Likewise.
78502         * lib/strstr.c: Likewise.
78503         * lib/strtok_r.c: Likewise.
78504         * lib/tls.c: Likewise.
78505         * lib/tmpdir.c: Likewise.
78506         * lib/unicodeio.c: Likewise.
78507         * lib/unsetenv.c: Likewise.
78508         * lib/vasnprintf.c: Likewise.
78509         * lib/vasprintf.c: Likewise.
78510         * lib/wait-process.c: Likewise.
78511         * lib/xallocsa.c: Likewise.
78512         * lib/xsetenv.c: Likewise.
78513         * lib/xstriconv.c: Likewise.
78514
78515 2006-09-13  Simon Josefsson  <jas@extundo.com>
78516
78517         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
78518         that internally, suggested by Ralf Wildenhues
78519         <Ralf.Wildenhues@gmx.de>.
78520
78521 2006-09-13  Simon Josefsson  <jas@extundo.com>
78522
78523         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
78524         @LIBOBJS@.
78525         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78526
78527 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78528
78529         * lib/_fpending.c: Include <config.h> unconditionally, since we no
78530         longer worry about uses that don't define HAVE_CONFIG_H.
78531         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
78532         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
78533         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
78534         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
78535         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
78536         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
78537         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
78538         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
78539         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
78540         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
78541         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
78542         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
78543         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
78544         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
78545         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
78546         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
78547         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
78548         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
78549         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
78550         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
78551         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
78552         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
78553         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
78554         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
78555         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
78556         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
78557         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
78558         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
78559         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
78560         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
78561         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
78562         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
78563         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
78564         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
78565         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
78566         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
78567         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
78568         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
78569         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
78570         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
78571         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
78572         Likewise.
78573
78574 2006-09-13  Eric Blake  <ebb9@byu.net>
78575
78576         * lib/getopt.c: Fix typo in last commit.
78577
78578 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
78579
78580         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
78581         dgettext.
78582
78583 2006-09-12  Jim Meyering  <jim@meyering.net>
78584
78585         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
78586         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
78587         Reported by Nelson H. F. Beebe.
78588
78589 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
78590
78591         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
78592         program_invocation_name and program_invocation_short_name are
78593         initialized.
78594         * lib/argp-namefrob.h: Move declarations of program_invocation_name
78595         and program_invocation_short_name to argp.h, so they are visible
78596         to user programs.
78597         * lib/argp.h: Likewise
78598
78599 2006-09-10  Bruno Haible  <bruno@clisp.org>
78600
78601         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
78602         m4/inttypes_h.m4, m4/uintmax_t.m4.
78603
78604 2006-09-10  Bruno Haible  <bruno@clisp.org>
78605
78606         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
78607         gl_AC_TYPE_UINTMAX_T.
78608
78609 2006-09-10  Bruno Haible  <bruno@clisp.org>
78610
78611         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
78612
78613 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78614
78615         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
78616         convention.  Text proposed by Bruno Haible.
78617         (struct argp_option): Document the use of N_() wrappers.
78618
78619         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
78620         '\v', and translate the two parts separately, instead of feeding
78621         the whole string to gettext.  This allows to exclude
78622         '\v' from the strings visible to the translator by writing doc
78623         strings as N_("..") "\v" N_("..").
78624
78625 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
78626
78627         * config/srclist.txt: Undo latest change; the bug was fixed.
78628
78629 2006-09-09  Bruno Haible  <bruno@clisp.org>
78630
78631         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
78632         assignments if building a library without libtool.
78633         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
78634         in func_emit_lib_Makefile_am.
78635         (func_import): When building a static library libfoo.a, arrange to
78636         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
78637         (func_create_testdir): Likewise.
78638         * modules/gc (configure.ac, Makefile.am): If building statically,
78639         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
78640         * modules/iconvme (configure.ac, Makefile.am): Likewise.
78641         * modules/striconv (configure.ac, Makefile.am): Likewise.
78642         Based on a suggestion by Ralf Wildenhues.
78643
78644 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78645
78646         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
78647         Check for unistd.h too, since Autoconf doesn't assume POSIX.
78648         Also:
78649
78650         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78651         Add year_2050_test to catch glibc bug 2821
78652         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78653
78654         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78655         Prefer #ifdef to #if.
78656
78657         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
78658         Return from 'main' instead of calling 'exit'.
78659
78660 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78661
78662         * lib/mktime.c (guess_time_tm): Fix bug where mktime
78663         returned the maximum time_t value rather than (time_t) -1.
78664         Problem originally reported by William Bardwell
78665         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78666
78667         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78668         Moved to here ...
78669         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78670         ... from here.
78671
78672 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78673
78674         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
78675         2821 is fixed.
78676
78677 2006-09-08  Jim Meyering  <jim@meyering.net>
78678
78679         Don't make generated files read-only.  That would bother too many
78680         people.  However, do retain the ability to work when targets are
78681         read-only: remove the destination and temporary files before writing
78682         them (when generated via sed or echo), or by using the -f option for
78683         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
78684         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78685         * modules/byteswap, modules/configmake, modules/fcntl:
78686         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78687         * modules/localcharset, modules/netinet_in, modules/poll:
78688         * modules/stdbool, modules/stdint, modules/sys_select:
78689         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78690
78691 2006-09-08  Jim Meyering  <jim@meyering.net>
78692
78693         Avoid new build failure on FreeBSD 6.0.
78694         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
78695         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
78696         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
78697
78698 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78699
78700         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
78701
78702 2006-09-07  Jim Meyering  <jim@meyering.net>
78703
78704         Fix global typo in last change: use chmod u-w, not chmod u-x.
78705         Spotted by Paul Eggert and Bruce Korb.
78706         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78707         * modules/byteswap, modules/configmake, modules/fcntl:
78708         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78709         * modules/localcharset, modules/netinet_in, modules/poll:
78710         * modules/stdbool, modules/stdint, modules/sys_select:
78711         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78712
78713 2006-09-06  Jim Meyering  <jim@meyering.net>
78714
78715         Make generated files be read-only.
78716         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
78717         Ensure that each generated file is now read-only.
78718         * modules/argz: Likewise.
78719         * modules/arpa_inet: Likewise.
78720         * modules/byteswap: Likewise.
78721         * modules/configmake: Likewise.
78722         * modules/fcntl: Likewise.
78723         * modules/fnmatch: Likewise.
78724         * modules/getopt: Likewise.
78725         * modules/glob: Likewise.
78726         * modules/inttypes: Likewise.
78727         * modules/netinet_in: Likewise.
78728         * modules/poll: Likewise.
78729         * modules/stdbool: Likewise.
78730         * modules/stdint: Likewise.
78731         * modules/sys_select: Likewise.
78732         * modules/sys_socket: Likewise.
78733         * modules/sys_stat: Likewise.
78734         * modules/sysexits: Likewise.
78735         * modules/localcharset: Same as above, but continue using temporary
78736         file named "t-$@" (why different?) rather than the "$@-t" used
78737         everywhere else.
78738
78739         * modules/sysexits (Makefile.am): Replace literal occurrences
78740         of "sysexit.h" more readable, and more consistent, "$@".
78741
78742 2006-09-06  Bruno Haible  <bruno@clisp.org>
78743
78744         * modules/striconv: New file.
78745         * modules/xstriconv: New file.
78746         * MODULES.html.sh (Internationalization functions): Add striconv,
78747         xstriconv.
78748
78749 2006-09-06  Bruno Haible  <bruno@clisp.org>
78750
78751         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
78752         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
78753         not using libtool correctly.
78754
78755 2006-09-06  Bruno Haible  <bruno@clisp.org>
78756
78757         * lib/striconv.h: New file.
78758         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
78759         iconvstring.c.
78760         * lib/xstriconv.h: New file.
78761         * lib/xstriconv.c: New file.
78762
78763 2006-09-06  Bruno Haible  <bruno@clisp.org>
78764
78765         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
78766         lib_..._LDFLAGS.
78767
78768 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78769
78770         * lib/argz_.h: Sync from Libtool.
78771
78772         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
78773                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
78774
78775         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
78776
78777 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78778
78779         * modules/trim: New file.
78780
78781 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78782
78783         * lib/trim.h: New file.
78784         * lib/trim.c: New file.
78785
78786 2006-09-05  Bruno Haible  <bruno@clisp.org>
78787
78788         * MODULES.html.sh (String handling): Add trim.
78789
78790 2006-09-04  Karl Berry  <karl@gnu.org>
78791
78792         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
78793         until next release.
78794
78795 2006-09-03  Bruno Haible  <bruno@clisp.org>
78796
78797         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
78798         correctly.
78799
78800 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78801
78802         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
78803         not gl_GETLOADAVG.  Omit unneeded semicolons.
78804         Problems reported by Ralf Wildenhues in
78805         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78806         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
78807         at the end, which is the usual gnulib style.
78808
78809         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
78810         of doing all the work ourselves.
78811         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
78812         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
78813
78814 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78815
78816         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
78817         Problem reported by Ralf Wildenhues in
78818         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78819
78820         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
78821         HAVE_STRUCT_STATFS_F_FSTYPENAME.
78822
78823 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78824
78825         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
78826         yesterday's patch by changing test -n to test -z.
78827
78828 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78829
78830         * modules/getloadavg (Files): Add m4/getloadavg.m4.
78831         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
78832         the former is now obsolescent.
78833
78834         * modules/chdir-long (Depends-on): Add fcntl.
78835
78836 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78837
78838         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
78839         obsolescent, and programs should use gnulib instead.
78840         * m4/getloadavg.m4: New file, with contents taken from Autoconf
78841         but with prefixes changed.
78842
78843 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78844
78845         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
78846         or stdbool.h, because they might not exist while configuring.
78847
78848         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
78849         Don't include unistd.h or limits.h; not needed, since chdir-long.h
78850         does that for us.
78851         (O_DIRECTORY): Remove.
78852
78853 2006-08-31  Eric Blake  <ebb9@byu.net>
78854
78855         * gnulib-tool: Don't let emacs change spaces to TAB.
78856
78857 2006-08-31  Bruno Haible  <bruno@clisp.org>
78858
78859         * gnulib-tool: When calling func_import more than once, do it in a
78860         subshell.
78861         Reported by Eric Blake <ebb9@byu.net>.
78862
78863 2006-08-31  Bruno Haible  <bruno@clisp.org>
78864
78865         * gnulib-tool (nl): Remove variable.
78866         (sed_transform_lib_file): Use more robust test for config-h module.
78867         (func_import): Fix typo in 2006-08-25 patch.
78868
78869 2006-08-31  Bruno Haible  <bruno@clisp.org>
78870
78871         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
78872         specified, augment Makefile.am variables instead of assigning them.
78873
78874 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78875
78876         Work around a bug in both the Linux and SunOS 64-bit kernels:
78877         nanosleep mishandles sleeps for longer than 2**31 seconds.
78878         Problem reported by Frank v Waveren in
78879         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78880         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
78881         Check for nanosleep bug.
78882         (LIB_NANOSLEEP): Append clock_gettime library if needed.
78883
78884 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78885
78886         Work around a bug in both the Linux and SunOS 64-bit kernels:
78887         nanosleep mishandles sleeps for longer than 2**31 seconds.
78888         Problem reported by Frank v Waveren in
78889         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78890         * lib/nanosleep.c (BILLION): New constant.
78891         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
78892         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
78893         implementation.
78894
78895 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78896
78897         * modules/nanosleep (Depends-on): Add gettime.
78898
78899 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78900         and Simon Josefsson  <jas@extundo.com>
78901         and Oskar Liljeblad  <oskar@osk.mine.nu>
78902
78903         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
78904         * gnulib-tool (func_import): New license type 'unmodifiable license
78905         text'.
78906         * modules/fdl: Use it.  Longer description.
78907         * module/gpl, module/lgpl: New files.
78908
78909 2006-08-30  Jim Meyering  <jim@meyering.net>
78910
78911         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
78912         shadowing the parameter.
78913
78914 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78915
78916         Sync from Libtool:
78917
78918         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78919
78920         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
78921         sharing with gnulib.  Report by Eric Blake.
78922
78923 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78924
78925         * modules/isapipe: New file.
78926         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
78927
78928 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78929
78930         * modules/configmake (Makefile.am): Add a comment, and omit
78931         the CONFIGMAKE_ prefix from generated macro names.  Suggested
78932         by Bruno Haible.
78933
78934 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78935
78936         * m4/isapipe.m4: New file.
78937
78938 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78939
78940         * lib/isapipe.c, lib/isapipe.h: New files.
78941
78942 2006-08-29  Jim Meyering  <jim@meyering.net>
78943
78944         * modules/configmake (Makefile.am): Make configmake.h depend on
78945         Makefile.  Otherwise, a stale configmake.h could hang around.
78946
78947 2006-08-29  Eric Blake  <ebb9@byu.net>
78948
78949         * lib/error.c (error_at_line, print_errno_message): Match libc, after
78950         resolution of upstream bug 3044.
78951
78952 2006-08-29  Bruno Haible  <bruno@clisp.org>
78953
78954         * modules/localcharset (Depends-on): Add configmake.
78955         (Makefile.am): Remove setting of LIBDIR through DEFS.
78956
78957 2006-08-29  Bruno Haible  <bruno@clisp.org>
78958
78959         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
78960         defined.
78961
78962 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78963
78964         * modules/fcntl: New file.
78965         * modules/chdir-safer (Depends-on): Add fcntl.
78966         * modules/fts: Likewise.
78967         * modules/mkdir-p: Likewise.
78968
78969         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
78970         This undoes the most recent change, since we're now addressing the
78971         problem in a different way.
78972
78973         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
78974         into output, since the output might be called Makefile.am even
78975         if $makefile_name is something different.
78976         (func_import): Use $makefile_am rather than
78977         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
78978         empty.
78979
78980         * modules/inttypes (Files): Add m4/inttypes-h.m4.
78981
78982 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78983
78984         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
78985         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
78986         recent change to stdint.m4, since we're now addressing the problem in a
78987         different way.
78988
78989 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78990
78991         * m4/fcntl_h.m4: New file.
78992
78993 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78994
78995         * lib/fcntl_.h: New file.
78996         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
78997         the fcntl module.
78998         * lib/dirchownmod.c: Likewise.
78999         * lib/fts.c: Likewise.
79000
79001         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
79002         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
79003         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
79004         just before including <inttypes.h>, to avoid circular inclusion.
79005
79006 2006-08-28  Jim Meyering  <jim@meyering.net>
79007
79008         * doc/visibility.texi: Actually read and correct the grammar of the
79009         sentence affected by yesterday's change.
79010
79011 2006-08-28  Eric Blake  <ebb9@byu.net>
79012
79013         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
79014         needs wrapper.
79015
79016 2006-08-28  Eric Blake  <ebb9@byu.net>
79017
79018         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
79019
79020 2006-08-28  Eric Blake  <ebb9@byu.net>
79021
79022         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
79023
79024 2006-08-28  Bruno Haible  <bruno@clisp.org>
79025
79026         * modules/c-strstr: New file, from GNU gettext.
79027         * MODULES.html.sh (String handling): Add c-strstr.
79028
79029 2006-08-28  Bruno Haible  <bruno@clisp.org>
79030
79031         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
79032         macros.
79033         Reported by Eric Blake.
79034
79035 2006-08-28  Bruno Haible  <bruno@clisp.org>
79036
79037         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
79038         (VASNPRINTF): Return a string of length > INT_MAX without failing.
79039         * lib/vasprintf.c: Include errno.h, limits.h.
79040         (EOVERFLOW): New fallback definition.
79041         (vasprintf): Test here whether the string length is > INT_MAX.
79042         * lib/vsnprintf.c: Include errno.h, limits.h.
79043         (EOVERFLOW): New fallback definition.
79044         (vsnprintf): Fix bug when generated string was too long for the buffer.
79045         Test here whether the string length is > INT_MAX.
79046
79047 2006-08-28  Bruno Haible  <bruno@clisp.org>
79048
79049         * lib/inttypes_.h (SCNX*): Remove definitions.
79050         Reported by Eric Blake.
79051
79052 2006-08-28  Bruno Haible  <bruno@clisp.org>
79053
79054         * lib/c-strstr.h: New file, from GNU gettext.
79055         * lib/c-strstr.c: New file, from GNU gettext.
79056
79057 2006-08-28  Bruno Haible  <bruno@clisp.org>
79058
79059         * gnulib-tool: Reorder some statements.
79060
79061 2006-08-28  Bruno Haible  <bruno@clisp.org>
79062
79063         * gnulib-tool: New option --makefile-name.
79064         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
79065         $makefile_name.
79066         (func_import): Write $makefile_name to the cache file, and read it from
79067         there unless explicitly specified. Use $makefile_name as file name
79068         instead of Makefile.am. Adjust the recommendations accordingly.
79069
79070 2006-08-28  Bruno Haible  <bruno@clisp.org>
79071
79072         * gnulib-tool (func_verify_module): Check against misapplying patch.
79073
79074 2006-08-28  Bruno Haible  <bruno@clisp.org>
79075
79076         * gnulib-tool (func_relativize, func_relconcat): New functions.
79077         Give an error if --local-dir is given with --update.
79078         Remove trailing slashes from $local_gnulib_dir.
79079         (func_import): Store the relativized $local_gnulib_dir in
79080         gnulib-cache.m4, and read it from there if not specified explicitly.
79081
79082 2006-08-28  Bruno Haible  <bruno@clisp.org>
79083
79084         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
79085         is the current directory. Respect also $local_gnulib_dir.
79086
79087 2006-08-28  Bruno Haible  <bruno@clisp.org>
79088             Simon Josefsson  <jas@extundo.com>
79089
79090         BeOS portability.
79091         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
79092
79093 2006-08-27  Jim Meyering  <jim@meyering.net>
79094
79095         * doc/visibility.texi: Remove duplicate word: "pointer".
79096
79097 2006-08-26  Bruno Haible  <bruno@clisp.org>
79098
79099         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
79100         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
79101         (Makefile.am): Create inttypes.h from inttypes_.h.
79102         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
79103
79104         * modules/imaxabs: New file.
79105
79106         * modules/imaxdiv: New file.
79107
79108 2006-08-26  Bruno Haible  <bruno@clisp.org>
79109
79110         * m4/inttypes.m4: New file.
79111         * m4/_inttypes_h.m4: Remove file.
79112         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
79113         PRI_MACROS_BROKEN.
79114         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
79115
79116         * m4/imaxabs.m4: New file.
79117
79118         * m4/imaxdiv.m4: New file.
79119
79120 2006-08-26  Bruno Haible  <bruno@clisp.org>
79121
79122         * lib/inttypes_.h: New file.
79123         * lib/inttypes.h: Remove file.
79124         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
79125
79126         * lib/imaxabs.c: New file.
79127
79128         * lib/imaxdiv.c: New file.
79129
79130 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79131
79132         New config-h module, so that "make" output needn't be cluttered
79133         by -DHAVE_CONFIG_H.
79134         * MODULES.html.sh (Support for building libraries and executables):
79135         Add config-h.
79136         * modules/config-h: New file.
79137         * gnulib-tool (nl, sed_transform_lib_file): New vars.
79138         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
79139         the config-h module is used.
79140
79141         New configmake module, so that "make" output needn't be cluttered
79142         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
79143         * MODULES.html.sh (Support for building libraries and executables):
79144         Add configmake.
79145         * modules/configmake: New file.
79146
79147 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79148
79149         * m4/config-h.m4: New file.
79150
79151 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79152
79153         * config/srclist.txt: Add elisp-comp.
79154
79155 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79156
79157         * MODULES.html.sh (Support for building libraries and executables):
79158         Add elisp-comp.
79159         * build-aux/elisp-comp: New file.
79160         * modules/elisp-comp: New file.
79161
79162 2006-08-24  Bruno Haible  <bruno@clisp.org>
79163
79164         * gnulib-tool (func_create_testdir): Use non-default values of
79165         sourcebase and m4base.
79166
79167 2006-08-24  Bruno Haible  <bruno@clisp.org>
79168
79169         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
79170         HTML structure.
79171
79172 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79173
79174         * modules/openat (Depends-on): Add lchown.
79175
79176 2006-08-23  Bruno Haible  <bruno@clisp.org>
79177
79178         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
79179         of gl_LOCK_EARLY instead of gl_LOCK.
79180
79181 2006-08-23  Bruno Haible  <bruno@clisp.org>
79182
79183         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
79184         on OSF/1 to no.
79185         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
79186
79187 2006-08-23  Bruno Haible  <bruno@clisp.org>
79188
79189         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
79190         as unusable.
79191
79192         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
79193         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
79194         (gl_LOCK): New macro.
79195
79196 2006-08-22  Simon Josefsson  <jas@extundo.com>
79197
79198         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
79199         to md5 module.
79200
79201 2006-08-22  Simon Josefsson  <jas@extundo.com>
79202
79203         * MODULES.html.sh: Add "Support for maintaining and release
79204         projects".
79205
79206         * build-aux/gnupload: New file, from coreutils.
79207
79208 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79209
79210         Avoid the need for AC_LIBSOURCES in m4 macros.
79211         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
79212         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
79213         * modules/check-version (EXTRA_DIST): Add check-version.h.
79214         * modules/crc (EXTRA_DIST): Add crc.h.
79215         * modules/des (EXTRA_DIST): Add des.h.
79216         * modules/gc (EXTRA_DIST): Add gc.h.
79217         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
79218         * modules/getline (EXTRA_DIST): Add getline.h.
79219         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
79220         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
79221         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
79222         * modules/md2 (EXTRA_DIST): Add md2.h.
79223         * modules/md4 (EXTRA_DIST): Add md4.h.
79224         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
79225         * modules/read-file (EXTRA_DIST): Add read-file.h.
79226         * modules/readline (EXTRA_DIST): Add readline.h.
79227         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
79228         rijndael-api-fst.h.
79229
79230 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79231
79232         * m4/rijndael.m4 (gl_ARCFOUR):
79233         * m4/arctwo.m4 (gl_ARCTWO):
79234         * m4/check-version.m4 (gl_CHECK_VERSION):
79235         * m4/crc.m4 (gl_CRC):
79236         * m4/des.m4 (gl_DES):
79237         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
79238         * m4/gc.m4 (gl_GC):
79239         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
79240         * m4/getline.m4 (gl_FUNC_GETLINE):
79241         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
79242         * m4/hmac-md5.m4 (gl_HMAC_MD5):
79243         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
79244         * m4/md2.m4 (gl_MD2):
79245         * m4/md4.m4 (gl_MD4):
79246         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
79247         * m4/read-file.m4 (gl_FUNC_READ_FILE):
79248         * m4/readline.m4 (gl_FUNC_READLINE):
79249         * m4/rijndael.m4 (gl_RIJNDAEL):
79250         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79251         to get the necessary .h files and whatnot.
79252
79253 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79254
79255         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
79256         gnulib rather than the other way around.
79257         * config/srclistvars.sh (COREUTILS): Remove.
79258
79259 2006-08-22  Jim Meyering  <jim@meyering.net>
79260
79261         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
79262
79263         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
79264
79265 2006-08-22  Eric Blake  <ebb9@byu.net>
79266
79267         * modules/regexprops-generic: New file.
79268         * MODULES.html.sh (Support for building documentation): List it.
79269
79270 2006-08-22  Eric Blake  <ebb9@byu.net>
79271
79272         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
79273         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
79274         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
79275         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
79276
79277 2006-08-22  Bruno Haible  <bruno@clisp.org>
79278
79279         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
79280         and lib_LTLIBRARIES like the other lib_* variables.
79281
79282 2006-08-22  Bruno Haible  <bruno@clisp.org>
79283
79284         * build-aux/x-to-1.in: New file, from GNU gettext.
79285
79286 2006-08-22  Bruno Haible  <bruno@clisp.org>
79287
79288         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
79289         <utmpx.h> exists.
79290
79291 2006-08-22  Bruno Haible  <bruno@clisp.org>
79292
79293         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
79294         <utmpx.h> exists.
79295
79296 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79297
79298         BeOS portability.
79299         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
79300         exist.
79301         Problem reported by Bruno Haible.
79302
79303 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79304
79305         Avoid the need for AC_LIBSOURCES in m4 macros.
79306         * modules/acl (EXTRA_DIST): Add acl.h.
79307         * modules/argmatch (Files): Add m4/argmatch.m4.
79308         (configure.ac): Add gl_ARGMATCH.
79309         (EXTRA_DIST): Renamed from lib_SOURCES, for
79310         consistency with the other modules.  Remove argmatch.c.
79311         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
79312         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
79313         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
79314         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
79315         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
79316         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
79317         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
79318         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
79319         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
79320         * modules/closeout (EXTRA_DIST): Add closeout.h.
79321         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
79322         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
79323         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
79324         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
79325         dirname.h; remove basename.c and stripslash.c.
79326         * modules/exclude (EXTRA_DIST): Add exclude.h.
79327         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
79328         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
79329         * modules/file-type (EXTRA_DIST): Add file-type.h.
79330         * modules/filemode (EXTRA_DIST): Add filemode.h.
79331         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
79332         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79333         * modules/fpending (EXTRA_DIST): Add __fpending.h.
79334         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
79335         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
79336         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
79337         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
79338         * modules/getdate (EXTRA_DIST): Add getdate.c.
79339         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
79340         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
79341         * modules/getpass (EXTRA_DIST): Add getpass.h.
79342         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
79343         * modules/group-member (EXTRA_DIST): Add group-member.h.
79344         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
79345         * modules/hash (EXTRA_DIST): Add hash.h.
79346         * modules/human (EXTRA_DIST): Add human.h.
79347         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
79348         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
79349         * modules/lchown (EXTRA_DIST): Add lchown.h.
79350         * modules/long-options (EXTRA_DIST): Add long-options.h.
79351         * modules/lstat (EXTRA_DIST): Add lstat.h.
79352         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
79353         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
79354         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
79355         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
79356         * modules/memxor (EXTRA_DIST): Add memxor.h.
79357         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
79358         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
79359         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
79360         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
79361         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
79362         * modules/physmem (EXTRA_DIST): Add physmem.h.
79363         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
79364         * modules/posixver (EXTRA_DIST): Add posixver.h.
79365         * modules/quote (EXTRA_DIST): Add quote.h.
79366         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
79367         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
79368         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
79369         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
79370         regex_internal.h regexec.c.
79371         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
79372         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
79373         * modules/same (EXTRA_DIST): Add same.h.
79374         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
79375         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
79376         * modules/savedir (EXTRA_DIST): Add savedir.h.
79377         * modules/sha1 (EXTRA_DIST): Add sha1.h.
79378         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
79379         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
79380         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
79381         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
79382         * modules/strdup (EXTRA_DIST): Add strdup.h.
79383         * modules/strftime (EXTRA_DIST): Add strftime.h.
79384         * modules/strndup (EXTRA_DIST): Add strndup.h.
79385         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
79386         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
79387         * modules/time_r (EXTRA_DIST): Add time_r.h.
79388         * modules/timespec (EXTRA_DIST): Add timespec.h.
79389         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79390         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
79391         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
79392         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
79393         * modules/userspec (EXTRA_DIST): Add userspec.h.
79394         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
79395         * modules/utimens (EXTRA_DIST): Add utimens.h.
79396         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
79397         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
79398         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
79399         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
79400         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
79401         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
79402         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
79403         * modules/yesno (EXTRA_DIST): Add yesno.h.
79404
79405 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79406
79407         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
79408
79409         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
79410         * m4/dev-ino.m4, same-inode.m4: Remove.
79411
79412         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
79413         * m4/acl.m4 (AC_FUNC_ACL):
79414         * m4/backupfile.m4 (gl_BACKUPFILE):
79415         * m4/c-strtod.m4 (gl_C99_STRTOLD):
79416         * m4/canon-host.m4 (gl_CANON_HOST):
79417         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
79418         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
79419         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
79420         * m4/cloexec.m4 (gl_CLOEXEC):
79421         * m4/close-stream.m4 (gl_CLOSE_STREAM):
79422         * m4/closeout.m4 (gl_CLOSEOUT):
79423         * m4/dirfd.m4 (gl_FUNC_DIRFD):
79424         * m4/dirname.m4 (gl_DIRNAME):
79425         * m4/exclude.m4 (gl_EXCLUDE):
79426         * m4/exitfail.m4 (gl_EXITFAIL):
79427         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
79428         * m4/file-type.m4 (gl_FILE_TYPE):
79429         * m4/filemode.m4 (gl_FILEMODE):
79430         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
79431         * m4/fpending.m4 (gl_FUNC_FPENDING):
79432         * m4/fprintftime.m4 (gl_FPRINTFTIME):
79433         * m4/fts.m4 (gl_FUNC_FTS):
79434         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
79435         * m4/getdate.m4 (gl_GETDATE):
79436         * m4/gethrxtime.m4 (gl_GETHRXTIME):
79437         * m4/getpagesize.m4 (gl_GETPAGESIZE):
79438         * m4/getpass.m4 (gl_FUNC_GETPASS):
79439         * m4/gettime.m4 (gl_GETTIME):
79440         * m4/getugroups.m4 (gl_GETUGROUPS):
79441         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
79442         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
79443         * m4/hard-locale.m4 (gl_HARD_LOCALE):
79444         * m4/hash.m4 (gl_HASH):
79445         * m4/idcache.m4 (gl_IDCACHE):
79446         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
79447         * m4/lchown.m4 (gl_FUNC_LCHOWN):
79448         * m4/long-options.m4 (gl_LONG_OPTIONS):
79449         * m4/lstat.m4 (gl_FUNC_LSTAT):
79450         * m4/md5.m4 (gl_MD5):
79451         * m4/memcasecmp.m4 (gl_MEMCASECMP):
79452         * m4/memcoll.m4 (gl_MEMCOLL):
79453         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
79454         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
79455         * m4/memxor.m4 (gl_MEMXOR):
79456         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
79457         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
79458         * m4/modechange.m4 (gl_MODECHANGE):
79459         * m4/mountlist.m4 (gl_MOUNTLIST):
79460         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
79461         * m4/openat.m4 (gl_FUNC_OPENAT):
79462         * m4/pathmax.m4 (gl_PATHMAX):
79463         * m4/physmem.m4 (gl_PHYSMEM):
79464         * m4/posixtm.m4 (gl_POSIXTM):
79465         * m4/posixver.m4 (gl_POSIXVER):
79466         * m4/quote.m4 (gl_QUOTE):
79467         * m4/quotearg.m4 (gl_QUOTEARG):
79468         * m4/readtokens.m4 (gl_READTOKENS):
79469         * m4/readutmp.m4 (gl_READUTMP):
79470         * m4/regex.m4 (gl_REGEX):
79471         * m4/safe-read.m4 (gl_SAFE_READ):
79472         * m4/safe-write.m4 (gl_SAFE_WRITE):
79473         * m4/same.m4 (gl_SAME):
79474         * m4/save-cwd.m4 (gl_SAVE_CWD):
79475         * m4/savedir.m4 (gl_SAVEDIR):
79476         * m4/settime.m4 (gl_SETTIME):
79477         * m4/sha1.m4 (gl_SHA1):
79478         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
79479         * m4/stat-macros.m4 (gl_STAT_MACROS):
79480         * m4/stat-time.m4 (gl_STAT_TIME):
79481         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
79482         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
79483         * m4/strdup.m4 (gl_FUNC_STRDUP):
79484         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
79485         * m4/strndup.m4 (gl_FUNC_STRNDUP):
79486         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
79487         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
79488         * m4/time_r.m4 (gl_TIME_R):
79489         * m4/timespec.m4 (gl_TIMESPEC):
79490         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
79491         * m4/unlinkdir.m4 (gl_UNLINKDIR):
79492         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
79493         * m4/userspec.m4 (gl_USERSPEC):
79494         * m4/utimecmp.m4 (gl_UTIMECMP):
79495         * m4/utimens.m4 (gl_UTIMENS):
79496         * m4/xalloc.m4 (gl_XALLOC):
79497         * m4/xgetcwd.m4 (gl_XGETCWD):
79498         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
79499         * m4/xreadlink.m4 (gl_XREADLINK):
79500         * m4/xstrtod.m4 (gl_XSTRTOD):
79501         * m4/yesno.m4 (gl_YESNO):
79502         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79503         to get the necessary .h files and whatnot.
79504
79505 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
79506             Bruno Haible  <bruno@clisp.org>
79507
79508         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
79509         /bin/sh understanding of '!' conditional negation.
79510
79511 2006-08-21  Jim Meyering  <jim@meyering.net>
79512
79513         * modules/openat (Depends-on): Really alphabetize.
79514
79515         * modules/acl (Depends-on): Add error and quote.
79516
79517         * check-module (find_included_lib_files): Add at-func.c to the
79518         ok-to-include-more-than-once white list.
79519
79520         * modules/openat (Depends-on): Add lstat.  Alphabetize.
79521
79522 2006-08-21  Bruno Haible  <bruno@clisp.org>
79523
79524         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79525         Emit a pkgdata_DATA variable only if some snippets add contents to it.
79526         Reported by Martin Lambers <marlam@marlam.de>.
79527
79528 2006-08-21  Bruno Haible  <bruno@clisp.org>
79529
79530         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
79531         specify an installation location, don't emit a noinst_LIBRARIES or
79532         noinst_LTLIBRARIES assignment.
79533
79534 2006-08-21  Bruno Haible  <bruno@clisp.org>
79535
79536         BeOS portability.
79537         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
79538         BeOS has mbrtowc() but no <wctype.h>.
79539
79540 2006-08-21  Bruno Haible  <bruno@clisp.org>
79541
79542         BeOS portability.
79543         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
79544         exist.
79545
79546 2006-08-21  Bruno Haible  <bruno@clisp.org>
79547
79548         BeOS portability.
79549         * lib/mbchar.h: Include <wctype.h> only if it exists.
79550
79551 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79552
79553         Remove files that are no longer needed by their respective modules.
79554         * m4/obstack.m4: Remove.
79555         * m4/strerror_r.m4: Remove.
79556         * m4/uint32_t.m4: Remove.
79557         * m4/uintptr_t.m4: Remove.
79558         * m4/ullong_max.m4: Remove.
79559         * m4/xstrtoimax.m4: Remove.
79560         * m4/xstrtoumax.m4: Remove.
79561
79562         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
79563         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
79564         dependencies now capture this.
79565
79566         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
79567         Do not use AC_LIBSOURCES, since gnulib modules now do this.
79568         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
79569         * m4/human.m4 (gl_HUMAN): Likewise.
79570         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
79571         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
79572
79573         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
79574
79575         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
79576         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
79577         stdint.
79578         * m4/human.m4 (gl_HUMAN): Likewise.
79579         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
79580         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
79581         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79582         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79583         * m4/xstrtol (gl_XSTRTOL): Likewise.
79584
79585         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
79586         AC_TYPE_LONG_LONG_INT.
79587         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79588         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
79589         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
79590         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79591
79592         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
79593         on stdbool.
79594
79595         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
79596         (gl_PREREQ_XSTRTOUL): Remove.
79597
79598         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
79599
79600         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
79601         mode.
79602
79603 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79604
79605         Add and change modules to make it easier for coreutils to use
79606         gnulib-tool.
79607         * modules/backupfile (Files): Remove m4/d-ino.m4.
79608         (Depends-on): Add d-ino.
79609         * modules/cycle-check (Depends-on): Add stdint.
79610         (lib_SOURCES): Add cycle-check.h.
79611         * modules/d-ino: New module.
79612         * modules/d-type: New module.
79613         * modules/error (Files): Remove m4/strerror_r.m4.
79614         * modules/filemode (Files): Add m4/st_dm_mode.m4.
79615         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
79616         m4/inttypes_h.m4, m4/uintmax_t.m4.
79617         (Depends-on): Add stdint.
79618         (lib_SOURCES): Add fsusage.h.
79619         * modules/getcwd (Files): Remove d-ino.m4.
79620         (Depends-on): Add d-ino.
79621         * modules/getndelim2 (Depends-on): Add stdint.
79622         * modules/glob (Files): Remove m4/d-type.m4.
79623         (Depends-on): Add d-type.
79624         * modules/host-os: New module.
79625         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
79626         m4/inttypes_h.m4, m4/uintmax_t.m4.
79627         * Depends-on: Add stdint.
79628         (lib_SOURCES): Add human.h.
79629         * modules/inttostr (Files): Remove m4/intmax_t.m4,
79630         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
79631         m4/uintmax_t.m4, m4/ulonglong.m4.
79632         (Depends-on): Add stdint.
79633         (EXTRA_DIST): Add inttostr.h.
79634         * modules/lchmod: New module.
79635         * modules/link-follow: New module.
79636         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
79637         (Depends-on): Add lchmod.
79638         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
79639         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
79640         (Depends-on): Add stdint.
79641         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
79642         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
79643         (Depends-on): Add stdint.
79644         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
79645         * modules/perl: New module.
79646         * modules/regex (Depends-on): Add stdint.
79647         * modules/rmdir-errno: New module.
79648         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79649         m4/intmax_t.m4.
79650         (Depends-on): Add stdint.
79651         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79652         m4/uintmax_t.m4.
79653         (Depends-on): Add stdint.
79654         * modules/unlink-busy: New module.
79655         * modules/utimecmp (Depends-on): Add stdint.
79656         * modules/uptime: New module.
79657         * modules/winsz-ioctl: New module.
79658         * modules/winsz-termios: New module.
79659         * modules/xnanosleep (Depends-on): Add nanosleep.
79660         * modules/ullong_max: Remove.
79661         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
79662         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
79663         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
79664         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
79665         (Depends-on): Add inttypes.
79666         (lib_SOURCES): Add xstrtol.h.
79667         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
79668         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
79669         * MODULES.html.sh: Move 'assert' into the assert section.
79670         Move 'dummy' into the linking section.
79671         Remove ullong_max.
79672         Add section for compatibility checks for POSIX:2001 functions,
79673         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
79674         winsz-ioctl, and winsz-termios into it.
79675         Add lchmod.
79676         Add top-level Misc section and put host-os, perl, and uptime
79677         into it.
79678
79679 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79680
79681         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
79682         now assume the stdint module.  Do not include inttypes.h.
79683         * lib/fsusage.h: Likewise.
79684         * lib/getndelim2.c: Likewise.
79685         * lib/human.h: Likewise.
79686         * lib/inttostr.h: Likewise.
79687         * lib/obstack.c: Likewise.
79688         * lib/regex_internal.h: Likewise.
79689         * lib/tempname.c: Likewise.
79690         * lib/utimecmp.c: Likewise.
79691         * lib/xstrtol.h: Likewise.
79692
79693         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
79694
79695         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
79696         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
79697         * lib/xtime.h: Likewise.
79698
79699 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79700
79701         * modules/openat (Files): Add lib/fchmodat.c.
79702         Fixes problem reported by Jay Youngman.
79703
79704 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79705
79706         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
79707         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
79708
79709 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
79710             Bruno Haible  <bruno@clisp.org>
79711
79712         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
79713         and is a script that invokes bison. Tighten the code. Add comments.
79714
79715 2006-08-18  Jim Meyering  <jim@meyering.net>
79716
79717         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
79718         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
79719         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
79720         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
79721
79722 2006-08-18  Bruno Haible  <bruno@clisp.org>
79723
79724         * modules/bison-i18n: New file.
79725         * MODULES.html.sh (Internationalization functions): Add it.
79726
79727 2006-08-18  Bruno Haible  <bruno@clisp.org>
79728
79729         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
79730         sys/statvfs.h. When getmntinfo was found, check its declaration and
79731         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
79732
79733 2006-08-18  Bruno Haible  <bruno@clisp.org>
79734
79735         * m4/bison-i18n.m4: New file, from bison.
79736
79737 2006-08-18  Bruno Haible  <bruno@clisp.org>
79738
79739         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
79740         (ME_DUMMY): Treat "kernfs" as a dummy.
79741         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
79742
79743 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79744
79745         Update from coreutils.
79746
79747         2006-08-15  Jim Meyering  <jim@meyering.net>
79748
79749         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
79750
79751         2006-01-17  Jim Meyering  <jim@meyering.net>
79752
79753         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
79754
79755         2006-01-11  Jim Meyering  <jim@meyering.net>
79756
79757         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
79758         Check for the lchmod function.
79759
79760 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79761
79762         Update from coreutils.
79763
79764         * lib/__fpending.h: Add copyright notice.
79765         * lib/fprintftime.h: Likewise.
79766         * lib/savedir.c: Use (C) in copyright notice.
79767         * lib/savedir.h: Likewise.
79768
79769         2006-08-15  Jim Meyering  <jim@meyering.net>
79770
79771         * lib/at-func.c: New file, with the logic of all emulated at-functions.
79772         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
79773         in support of the EXPECTED_ERRNO macro.
79774         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
79775         definitions.  Instead, define the appropriate symbols and include
79776         "at-func.c".
79777         * lib/mkdirat.c (mkdirat): Likewise.
79778         * lib/fchmodat.c (fchmodat): Likewise.
79779         (ENOSYS): Remove definition.
79780         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
79781         it.  Don't include "unistd--.h" -- it wasn't ever used.
79782
79783         2006-01-17  Jim Meyering  <jim@meyering.net>
79784
79785         Rewrite fts.c not to change the current working directory,
79786         by using openat, fstatat, fdopendir, etc..
79787
79788         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
79789         (HAVE_OPENAT_SUPPORT): Define.
79790         [_LIBC] (fchdir): Don't undef or define; no longer used.
79791         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
79792         Now, this `function' always succeeds, and consumes its file descriptor
79793         parameter -- so callers must not close such FDs.  Update callers.
79794         (diropen_fd, opendirat, cwd_advance_fd): New functions.
79795         (diropen): Add parameter, SP.  Adjust all callers.
79796         Implement using diropen_fd, rather than open.
79797         (fts_open): Initialize new member, fts_cwd_fd.
79798         Remove fts_rft-setting code.
79799         (fts_close): Close fts_cwd_fd, if necessary.
79800         (__opendir2): Define in terms of opendir or opendirat,
79801         depending on whether the FST_NOCHDIR flag is set.
79802         (fts_build): Since fts_safe_changedir consumes its FD, and since
79803         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
79804         and close the dup'd file descriptor upon failure.
79805         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
79806         (fts_safe_changedir): Tweak semantics to reflect that this function
79807         now calls cwd_advance_fd and hence consumes its FD argument.
79808         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
79809         [struct FTS] (fts_rft): Remove now-unused member.
79810         [struct FTS] (fts_cycle.state): Improve comment.
79811
79812         * lib/openat.c (openat_needs_fchdir): New function.
79813         * lib/openat.h (openat_needs_fchdir): Declare it.
79814
79815 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
79816
79817         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
79818         Problem and fix reported by Pádraig Brady in
79819         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
79820
79821 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79822
79823         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
79824
79825 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79826
79827         * lib/memcoll.c (memcoll): Optimize for the common case where the
79828         arguments are bytewise equal.
79829
79830 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79831
79832         * doc/regexprops-generic.texi: Add a copyright notice.
79833
79834 2006-08-15  Bruno Haible  <bruno@clisp.org>
79835
79836         * modules/tmpdir (License): Change to LGPL.
79837
79838 2006-08-15  Bruno Haible  <bruno@clisp.org>
79839
79840         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
79841         module.
79842
79843 2006-08-14  Simon Josefsson  <jas@extundo.com>
79844
79845         * config/srclist.txt: Add gnupload.
79846
79847 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79848
79849         Change copyright notice from LGPL 2 to GPL 2, since that's the
79850         standard form used in the gnulib repository.
79851         * tests/test-lock.c: Likewise.
79852         * tests/test-stdint.c: Likewise.
79853         * tests/test-tls.c: Likewise.
79854
79855         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
79856         prelude-manager.  User shorter URLs for GNU projects, without '?'.
79857         Add copyright notice.
79858
79859         * check-module: Add copyright notice.  Output a copyright
79860         notice if "--version" is specified.
79861         * modules/COPYING: New file.
79862         * tests/test-getaddrinfo.c: Add copyright notice.
79863         * tests/test-verify.c: Likewise.
79864
79865 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79866
79867         Change copyright notice from LGPL 2 to GPL 2, since that's the
79868         standard form used in the gnulib repository.
79869         * lib/lock.c: LGPL -> GPL.
79870         * lib/lock.h: Likewise.
79871         * lib/strnlen1.c: Likewise.
79872         * lib/strnlen1.h: Likewise.
79873         * lib/tls.c: Likewise.
79874         * lib/tls.h: Likewise.
79875         * lib/tmpdir.c: Likewise.
79876
79877         * lib/TODO: Remove; this belongs only in coreutils.
79878
79879 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79880
79881         Add copyright notices to long-enough files that lack them, since
79882         otherwise the files aren't clearly free.  Use the same notice that
79883         getdate.texi already uses.
79884         * doc/alloca-opt.texi: Add copyright notice.
79885         * doc/alloca.texi: Likewise.
79886         * doc/ctime.texi: Likewise.
79887         * doc/functions.texi: Likewise.
79888         * doc/gcd.texi: Likewise.
79889         * doc/gnulib-tool.texi: Likewise.
79890         * doc/inet_ntoa.texi: Likewise.
79891         * doc/visibility.texi: Likewise.
79892
79893         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
79894         * doc/quote.texi: Add copyright notice.
79895
79896         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
79897         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
79898         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
79899         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
79900         is now obsolete, and give a pointer to the Sun list.
79901         Add copyright notice.
79902
79903 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79904
79905         * config/srclistvars.sh: Add copyright notice.
79906
79907 2006-08-14  Eric Blake  <ebb9@byu.net>
79908
79909         Import the following change from libc:
79910
79911         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
79912
79913         Upstream bug 2997.
79914         * lib/misc/error.c: Add space between program name and message if file
79915         name is missing.
79916
79917 2006-08-12  Karl Berry  <karl@gnu.org>
79918
79919         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
79920         remove, these originate in gnulib now.
79921
79922 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79923
79924         * doc/Makefile (standards.info standards.html standards.dvi):
79925         Also depend on make-stds.texi.
79926
79927 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79928
79929         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
79930         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
79931
79932         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
79933         in wchar_t.  Problem reported by Eric Blake.
79934
79935         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
79936         LEN is smaller than SIZE.  Suggested by Bruno Haible.
79937         Also, help the compiler to keep LEN in a register.
79938
79939 2006-08-11  Eric Blake  <ebb9@byu.net>
79940
79941         * users.txt: Sort.  Add tar.
79942
79943 2006-08-11  Bruno Haible  <bruno@clisp.org>
79944
79945         * users.txt: New file.
79946
79947 2006-08-11  Bruno Haible  <bruno@clisp.org>
79948
79949         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
79950         before <wchar.h>. Needed for OSF/1 and BSD/OS.
79951
79952 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79953
79954         * modules/snprintf (Depends-on): Remove minmax.
79955         (Maintainer): Add self and Bruno.
79956
79957 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79958
79959         * lib/.cppi-disable: Add snprintf.h, socket_.h.
79960         * lib/snprintf.c: Include <errno.h> and <limits.h>.
79961         (EOVERFLOW): Define if the system does not.
79962         Do not include "minmax.h"; it wasn't used.
79963         (snprintf): Don't assume size_t promotes to an unsigned type.
79964         Fix bug when generated string was too long for the buffer: the
79965         buffer's contents are supposed to be the initial prefix of the
79966         output.  Don't assume vasnprintf returns EOVERFLOW if the size
79967         exceeds INT_MAX; do the check ourselves.
79968
79969         Import the following changes from libc:
79970
79971         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
79972
79973         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
79974         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
79975         set wc to the byte which couldn't be converted.
79976         (re_string_reconstruct): Don't clear valid_raw_len before calling
79977         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
79978         tip_context using re_string_context_at.
79979
79980         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
79981
79982         * lib/posix/regex.h: g++ still cannot handled [restrict].
79983
79984         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
79985
79986         * lib/posix/regex.h: Remove special handling for VMS.
79987
79988 2006-08-10  Jim Meyering  <jim@meyering.net>
79989
79990         * modules/same-inode: New module.
79991         * modules/dev-ino: New module.
79992         * modules/cycle-check: Depend on these modules, rather than simply
79993         including their .h files.
79994         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
79995         required via m4/cycle-check.m4.
79996         * modules/same: Depend on new same-inode module, rather than
79997         including same-inode.h.
79998         * modules/chdir-safer: New file.
79999
80000         * modules/chown (Depends-on): Add stat-macros.
80001
80002 2006-08-10  Jim Meyering  <jim@meyering.net>
80003
80004         * m4/cycle-check.m4: New file.
80005         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
80006         * m4/dev-ino.m4, m4/same-inode.m4: New files.
80007
80008 2006-08-10  Eric Blake  <ebb9@byu.net>
80009
80010         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
80011         in from original proposal.
80012
80013 2006-08-10  Eric Blake  <ebb9@byu.net>
80014         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
80015
80016         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
80017         namespace.
80018
80019 2006-08-10  Bruno Haible  <bruno@clisp.org>
80020
80021         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
80022         as well.
80023
80024 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80025
80026         Sync from coreutils.
80027
80028         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
80029
80030         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
80031         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
80032
80033 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80034
80035         * modules/restrict: Remove; no longer needed now that we assume
80036         Autoconf 2.59 or later.
80037         * MODULES.html.sh: Remove 'restrict'.
80038         * modules/argp (Depends-on): Remove 'restrict'.
80039         * modules/base64 (Depends-on): Likewise.
80040         * modules/gc (Depends-on): Likewise.
80041         * modules/getaddrinfo (Depends-on): Likewise.
80042         * modules/glob (Depends-on): Likewise.
80043         * modules/inet_ntop (Depends-on): Likewise.
80044         * modules/inet_pton (Depends-on): Likewise.
80045         * modules/memxor (Depends-on): Likewise.
80046         * modules/regex (Depends-on): Likewise.
80047         * modules/strtok_r (Depends-on): Likewise.
80048         * modules/time_r (Depends-on): Likewise.
80049
80050 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80051
80052         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
80053         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
80054         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80055         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
80056         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
80057         * m4/memxor.m4 (gl_MEMXOR): Likewise.
80058         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
80059         gl_C_RESTRICT replaced by AC_C_RESTRICT.
80060
80061         Merge from coreutils.
80062         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
80063         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
80064         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
80065         * m4/time_r.m4 (gl_TIME_R): Likewise.
80066
80067 2006-08-09  Karl Berry  <karl@gnu.org>
80068
80069         * config/srclist.txt: no more gettext-tools, per Bruno.
80070
80071 2006-08-08  Eric Blake  <ebb9@byu.net>
80072
80073         * modules/verror: New module.
80074         * MODULES.html.sh: Document it.
80075
80076 2006-08-08  Eric Blake  <ebb9@byu.net>
80077
80078         * lib/verror.h, lib/verror.c: New files.
80079
80080 2006-08-08  Eric Blake  <ebb9@byu.net>
80081
80082         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
80083         verror_at_line output complies with GNU Coding Standards even when
80084         file is NULL.
80085
80086 2006-08-07  Bruno Haible  <bruno@clisp.org>
80087
80088         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
80089         versions of AIX.
80090         Reported by Ralf Wildenhues.
80091
80092 2006-08-07  Bruno Haible  <bruno@clisp.org>
80093
80094         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
80095         in an AC_DEFUN. Needed so that the autoconf snippets can use
80096         AC_REQUIRE.
80097
80098 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80099
80100         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80101         Initialize pkgdata_DATA.
80102         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
80103         overriding it.
80104
80105 2006-08-06  Eric Blake  <ebb9@byu.net>
80106
80107         * lib/error.h: Fold in some upstream changes from glibc.
80108         * lib/error.c: Likewise.
80109
80110 2006-08-04  Bruno Haible  <bruno@clisp.org>
80111
80112         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80113         Make the mostlyclean-local rule depend on mostlyclean-generic.
80114         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
80115
80116 2006-07-31  Bruno Haible  <bruno@clisp.org>
80117
80118         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
80119         <stdlib.h>, <string.h>.
80120
80121 2006-07-30  Bruno Haible  <bruno@clisp.org>
80122
80123         * modules/readlink (License): Change to LGPL.
80124
80125 2006-07-30  Bruno Haible  <bruno@clisp.org>
80126
80127         * modules/javaversion (Makefile.am): Distribute javaversion.java and
80128         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
80129         set PKGDATADIR to point to it.
80130
80131 2006-07-30  Bruno Haible  <bruno@clisp.org>
80132
80133         * modules/csharpexec (configure.ac): Comment out macro invocation.
80134         * modules/javaexec (configure.ac): Likewise.
80135         * modules/javacomp-script (configure.ac): Likewise.
80136
80137         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
80138
80139 2006-07-30  Bruno Haible  <bruno@clisp.org>
80140
80141         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
80142         linked-list.
80143
80144 2006-07-30  Bruno Haible  <bruno@clisp.org>
80145
80146         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
80147
80148 2006-07-30  Bruno Haible  <bruno@clisp.org>
80149
80150         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80151         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
80152         get removed.
80153
80154 2006-07-29  Bruno Haible  <bruno@clisp.org>
80155
80156         Make it possible for gnulib-tool to work with locally modified or
80157         augmented gnulib repositories.
80158         * gnulib-tool (func_usage): Document --local-dir option.
80159         (local_gnulib_dir): New variable.
80160         Handle --local-dir option.
80161         (func_lookup_file): New function.
80162         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
80163         (func_get_description, func_get_filelist, func_get_description,
80164         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
80165         func_get_automake_snippet, func_get_include_directive,
80166         func_get_license, func_get_maintainer): Use func_lookup_file.
80167         (func_import, func_create_testdir): Use func_lookup_file.
80168
80169 2006-07-29  Bruno Haible  <bruno@clisp.org>
80170
80171         * modules/setenv (Depends-on): Add unistd.
80172
80173 2006-07-29  Bruno Haible  <bruno@clisp.org>
80174
80175         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
80176
80177 2006-07-29  Bruno Haible  <bruno@clisp.org>
80178
80179         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
80180
80181 2006-07-29  Bruno Haible  <bruno@clisp.org>
80182
80183         * gnulib-tool (import, update): If there is no Makefile.am, look at
80184         aclocal.m4, instead of bailing out.
80185
80186 2006-07-29  Bruno Haible  <bruno@clisp.org>
80187
80188         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
80189         Categorize the options by when they are useful.
80190
80191 2006-07-29  Bruno Haible  <bruno@clisp.org>
80192
80193         * gnulib-tool (func_usage): Document option --no-libtool.
80194         Handle option --no-libtool.
80195         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
80196         for changed semantics of $libtool variable.
80197         (func_import): Likewise. If libtool is not used, show this through
80198         an option --no-libtool.
80199         (func_create_testdir): Update.
80200
80201 2006-07-29  Bruno Haible  <bruno@clisp.org>
80202
80203         * gnulib-tool (func_import): Extend error message about missing
80204         --doc-base.
80205
80206 2006-07-29  Bruno Haible  <bruno@clisp.org>
80207
80208         * gnulib-tool (func_import): Don't create the $docbase directory if
80209         there is no file to store there.
80210
80211 2006-07-29  Bruno Haible  <bruno@clisp.org>
80212
80213         * gnulib-tool (autoconf_minversion): If a --dir option is given and
80214         relevant, look for configure.ac there, not in the current directory.
80215         Also use a simple search for AC_PREREQ, not "autoconf --trace".
80216
80217 2006-07-29  Bruno Haible  <bruno@clisp.org>
80218
80219         * gnulib-tool (SORT): New variable.
80220         (func_usage): Undocument --assume-autoconf option.
80221         Remove --assume-autoconf option handling.
80222         (autoconf_minversion): Determine from the contents of configure.ac.
80223         (func_import): Remove autoconf_minversion handling.
80224         Suggested by Eric Blake.
80225
80226 2006-07-29  Bruno Haible  <bruno@clisp.org>
80227
80228         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
80229
80230 2006-07-29  Bruno Haible  <bruno@clisp.org>
80231
80232         * config/srclist.txt (*setenv.[ch]): Remove rules.
80233
80234 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80235
80236         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
80237
80238 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80239
80240         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
80241         arpa/inet.h.
80242
80243 2006-07-28  Simon Josefsson  <jas@extundo.com>
80244
80245         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
80246         * modules/inet_pton (Depends-on): Likewise.
80247
80248 2006-07-28  Simon Josefsson  <jas@extundo.com>
80249
80250         * m4/netinet_in_h.m4: New file.
80251
80252 2006-07-28  Simon Josefsson  <jas@extundo.com>
80253
80254         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
80255         #include's.
80256
80257 2006-07-28  Simon Josefsson  <jas@extundo.com>
80258
80259         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
80260         #include's.
80261
80262 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
80263
80264         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
80265         setgid on directories only if they set these bits.
80266         * lib/modechange.h: Remove obsolete comment about masks.
80267
80268 2006-07-28  Eric Blake  <ebb9@byu.net>
80269
80270         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
80271         macro expansion.
80272
80273 2006-07-28  Bruno Haible  <bruno@clisp.org>
80274
80275         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
80276
80277 2006-07-28  Bruno Haible  <bruno@clisp.org>
80278
80279         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
80280
80281 2006-07-28  Bruno Haible  <bruno@clisp.org>
80282
80283         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
80284         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
80285         Define fallbacks.
80286         Avoids link error on FreeBSD 4.x.
80287         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
80288
80289         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
80290         encoding.
80291         * lib/mbswidth.c (iswcntrl): Likewise.
80292
80293 2006-07-27  Bruno Haible  <bruno@clisp.org>
80294
80295         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
80296         test.
80297
80298 2006-07-27  Bruno Haible  <bruno@clisp.org>
80299
80300         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
80301         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
80302         defined.
80303
80304 2006-07-26  Eric Blake  <ebb9@byu.net>
80305
80306         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
80307
80308 2006-07-26  Eric Blake  <ebb9@byu.net>
80309
80310         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
80311         like mingw that lack mkstemp.
80312         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
80313         avoid compilation warning on mingw.
80314
80315 2006-07-26  Bruno Haible  <bruno@clisp.org>
80316
80317         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
80318         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
80319         INT_FAST*_MIN, INTPTR_MIN.
80320
80321 2006-07-25  Bruno Haible  <bruno@clisp.org>
80322
80323         * modules/version-etc (Depends-on): Add stdarg.
80324
80325 2006-07-25  Bruno Haible  <bruno@clisp.org>
80326
80327         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
80328         complex commands.
80329
80330 2006-07-25  Bruno Haible  <bruno@clisp.org>
80331
80332         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
80333         defined in <stdarg.h> or config.h.
80334
80335 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
80336
80337         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
80338         (gl_STDIO_SAFER): Remove.
80339
80340 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
80341
80342         * MODULES.html.sh (File stream based Input/Output):
80343         Add fopen-safer, tmpfile-safer; remove stdio-safer.
80344         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
80345         * modules/fopen-safer, modules/tmpfile-safer: New files.
80346         * modules/stdio-safer: Remove.
80347
80348 2006-07-24  Bruno Haible  <bruno@clisp.org>
80349
80350         * modules/tmpdir: New file.
80351         * MODULES.html.sh (File system functions): Add it.
80352
80353 2006-07-24  Bruno Haible  <bruno@clisp.org>
80354
80355         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
80356         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
80357
80358 2006-07-24  Bruno Haible  <bruno@clisp.org>
80359
80360         * modules/clean-temp: New file.
80361
80362 2006-07-24  Bruno Haible  <bruno@clisp.org>
80363
80364         * m4/tmpdir.m4: New file, from GNU gettext.
80365
80366 2006-07-24  Bruno Haible  <bruno@clisp.org>
80367
80368         * lib/tmpdir.h: New file, from GNU gettext.
80369         * lib/tmpdir.c: New file, from GNU gettext.
80370
80371 2006-07-24  Bruno Haible  <bruno@clisp.org>
80372
80373         * lib/clean-temp.h: New file, from GNU gettext.
80374         * lib/clean-temp.c: New file, from GNU gettext.
80375
80376 2006-07-23  Eric Blake  <ebb9@byu.net>
80377
80378         * modules/stdio-safer (Files): Add tmpfile-safer.c.
80379         (Depends-on): Add binary-io.
80380
80381 2006-07-23  Eric Blake  <ebb9@byu.net>
80382
80383         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
80384
80385 2006-07-23  Eric Blake  <ebb9@byu.net>
80386
80387         * lib/tmpfile-safer.c: New file.
80388         * lib/stdio-safer.h (fopen_safer): Add prototype.
80389         * lib/stdio--.h (tmpfile): Make safer.
80390
80391 2006-07-23  Bruno Haible  <bruno@clisp.org>
80392
80393         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
80394         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
80395         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
80396         gl_linked_remove_at): Use it.
80397
80398 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80399         and Simon Josefsson <jas@extundo.com>
80400
80401         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
80402
80403         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
80404
80405 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80406
80407         * modules/close-stream: New file.
80408         * modules/closeout (Description): Make it clear that it exits
80409         with a diagnostic on error.
80410         (Depends-on): Add close-stream.  Remove fpending, stdbool.
80411         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
80412
80413 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80414
80415         * m4/close-stream.m4: New file.
80416
80417 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80418
80419         * lib/close-stream.c, lib/close-stream.h: New files.
80420
80421 2006-07-22  Bruno Haible  <bruno@clisp.org>
80422
80423         Merge from GNU gettext 0.15.
80424
80425         2006-05-01  Bruno Haible  <bruno@clisp.org>
80426
80427                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
80428
80429         2006-07-22  Bruno Haible  <bruno@clisp.org>
80430
80431                 * modules/javaversion: New file.
80432                 * MODULES.html.sh (Java): Add javaversion.
80433
80434         2006-03-12  Bruno Haible  <bruno@clisp.org>
80435
80436                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
80437
80438         2005-12-04  Bruno Haible  <bruno@clisp.org>
80439
80440                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
80441                 (untested).
80442
80443         2006-06-21  Bruno Haible  <bruno@clisp.org>
80444
80445                 Avoid warnings from recent versions of mcs.
80446                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
80447                 -o, -L, -r any more. Use options documented since mcs-1.0
80448                 instead. Similarly for -g.
80449
80450         2005-12-04  Bruno Haible  <bruno@clisp.org>
80451
80452                 * build-aux/csharpcomp.sh.in: Suffix for resources is
80453                 .resources, not .resource.
80454
80455         2005-07-09  Bruno Haible  <bruno@clisp.org>
80456
80457                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
80458                 add a .dll suffix.
80459                 Reported by Mark Junker <mjscod@gmx.de>.
80460
80461         2006-07-22  Bruno Haible  <bruno@clisp.org>
80462
80463                 * modules/gettext: Upgrade to gettext-0.15.
80464                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
80465                 m4/visibility.m4.
80466                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
80467
80468 2006-07-22  Bruno Haible  <bruno@clisp.org>
80469
80470         Merge from GNU gettext 0.15.
80471
80472         2006-03-25  Bruno Haible  <bruno@clisp.org>
80473
80474                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
80475
80476         2006-07-21  Bruno Haible  <bruno@clisp.org>
80477
80478                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
80479                 "1.1".
80480
80481         2006-05-09  Bruno Haible  <bruno@clisp.org>
80482
80483                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
80484                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
80485                 for the conftestver execution.
80486
80487         2006-05-01  Bruno Haible  <bruno@clisp.org>
80488
80489                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
80490                 optional target-version argument. Verify that the compiler
80491                 groks source of the specified source-version, or add -source
80492                 option as necessary. Verify that the compiler produces
80493                 bytecode in the specified target-version, or add -target and
80494                 -source options as necessary. Make the result of the test
80495                 available as variable CONF_JAVAC. Also log error output in
80496                 config.log.
80497
80498         2006-03-11  Bruno Haible  <bruno@clisp.org>
80499
80500                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
80501
80502         2006-05-09  Bruno Haible  <bruno@clisp.org>
80503
80504                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
80505                 CLASSPATH_SEPARATOR to a semicolon.
80506
80507         2006-03-12  Bruno Haible  <bruno@clisp.org>
80508
80509                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
80510                 available as variable CONF_JAVA, for subsequent autoconf
80511                 tests. Also log error output in config.log.
80512
80513         2006-07-19  Bruno Haible  <bruno@clisp.org>
80514
80515                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
80516                 that getline works on glibc2 systems. Needed to avoid trouble
80517                 in relocatable.c.
80518                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
80519
80520         2005-12-04  Bruno Haible  <bruno@clisp.org>
80521
80522                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
80523                 launcher (untested).
80524
80525         2005-12-04  Bruno Haible  <bruno@clisp.org>
80526
80527                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
80528
80529         2006-07-22  Bruno Haible  <bruno@clisp.org>
80530
80531                 * gettext.m4: Update from GNU gettext-0.15.
80532                 * nls.m4: Likewise.
80533                 * po.m4: Likewise.
80534                 * inttypes-pri.m4: Likewise.
80535                 * inttypes-h.m4: Renamed from inttypes.m4.
80536                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
80537
80538 2006-07-22  Bruno Haible  <bruno@clisp.org>
80539
80540         Merge from GNU gettext 0.15.
80541
80542         2005-07-05  Bruno Haible  <bruno@clisp.org>
80543
80544                 * printf-args.c (printf_fetchargs): Work around broken
80545                 definition of wint_t on mingw.
80546
80547         2005-02-12  Bruno Haible  <bruno@clisp.org>
80548
80549                 * xallocsa.h: Add extern "C" for C++.
80550
80551         2006-05-17  Bruno Haible  <bruno@clisp.org>
80552
80553                 Cygwin portability.
80554                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
80555
80556         2006-04-30  Bruno Haible  <bruno@clisp.org>
80557
80558                 * progreloc.c: Include <mach-o/dyld.h> if available.
80559                 (find_executable): Use _NSGetExecutablePath when possible.
80560
80561         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
80562
80563                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
80564                 function.
80565
80566         2005-12-29  Bruno Haible  <bruno@clisp.org>
80567
80568                 * progreloc.c (set_program_name_and_installdir): Fix
80569                 compilation error.
80570
80571         2005-12-04  Bruno Haible  <bruno@clisp.org>
80572
80573                 Cygwin portability.
80574                 * progreloc.c: Include <windows.h> also on Cygwin.
80575                 (find_executable): Add support for Cygwin.
80576                 (set_program_name_and_installdir): Handle also platforms with
80577                 nonempty EXEEXT.
80578
80579         2006-07-11  Bruno Haible  <bruno@clisp.org>
80580
80581                 * javacomp.c: Fix a comment.
80582                 Reported by Jim Meyering.
80583
80584         2006-04-30  Bruno Haible  <bruno@clisp.org>
80585
80586                 * javacomp.h (compile_java_class): Add source_version,
80587                 target_version arguments.
80588                 * javacomp.c: Rewritten to choose only a compiler that
80589                 respects the specified source_version and target_version.
80590
80591         2006-06-27  Bruno Haible  <bruno@clisp.org>
80592
80593                 Assume correct S_ISDIR macro.
80594                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
80595
80596         2006-07-22  Bruno Haible  <bruno@clisp.org>
80597
80598                 * javaversion.h: New file, from GNU gettext.
80599                 * javaversion.c: New file, from GNU gettext.
80600                 * javaversion.java: New file, from GNU gettext.
80601                 * javaversion.class: New file, from GNU gettext.
80602
80603         2006-05-17  Bruno Haible  <bruno@clisp.org>
80604
80605                 Cygwin portability.
80606                 * javaexec.c (execute_java_class): Test for jview program
80607                 also on Cygwin.
80608
80609         2006-04-09  Bruno Haible  <bruno@clisp.org>
80610
80611                 * fatal-signal.c: Don't include string.h.
80612                 (at_fatal_signal): Use a copying loop instead of memcpy.
80613
80614         2005-12-04  Bruno Haible  <bruno@clisp.org>
80615
80616                 * csharpexec.c: Add support for 'clix' launcher (untested).
80617                 (execute_csharp_using_sscli): New function.
80618                 (execute_csharp_program): Call it.
80619
80620         2006-06-21  Bruno Haible  <bruno@clisp.org>
80621
80622                 Avoid warnings from recent versions of mcs.
80623                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
80624                 -o, -L, -r any more. Use options documented since mcs-1.0
80625                 instead. Similarly for -g.
80626
80627         2005-07-09  Bruno Haible  <bruno@clisp.org>
80628
80629                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
80630                 add a .dll suffix.
80631                 Reported by Mark Junker <mjscod@gmx.de>.
80632
80633         2006-06-17  Bruno Haible  <bruno@clisp.org>
80634
80635                 * config.charset: Update for NetBSD 3.0.
80636
80637         2006-05-17  Bruno Haible  <bruno@clisp.org>
80638
80639                 Cygwin portability.
80640                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
80641
80642         2006-05-16  Bruno Haible  <bruno@clisp.org>
80643
80644                 * localcharset.c [CYGWIN]: Include <windows.h>.
80645                 (get_charset_aliases): For Cygwin, return the same CPxxx
80646                 aliases list as under WIN32.
80647                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
80648                 the environment variables. Fall back to GetACP().
80649
80650         2006-04-05  Bruno Haible  <bruno@clisp.org>
80651
80652                 * config.charset: Update Juan Manuel Guerrero's address.
80653
80654         2005-02-12  Bruno Haible  <bruno@clisp.org>
80655
80656                 * allocsa.h: Add extern "C" for C++.
80657
80658         2005-02-10  Bruno Haible  <bruno@clisp.org>
80659
80660                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
80661                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
80662
80663         2006-07-22  Bruno Haible  <bruno@clisp.org>
80664
80665                 * gettext.h: Update to GNU gettext-0.15.
80666
80667 2006-07-22  Bruno Haible  <bruno@clisp.org>
80668
80669         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
80670         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
80671         lib-prefix.m4, longdouble.m4, ssize_t.m4.
80672
80673 2006-07-21  Eric Blake  <ebb9@byu.net>
80674
80675         * modules/stdlib-safer: New file.
80676         * MODULES.html.sh (File stream based Input/Output): Add
80677         stdlib-safer.
80678
80679 2006-07-21  Eric Blake  <ebb9@byu.net>
80680
80681         * lib/stdlib-safer.h: New file from coreutils, required by
80682         stdlib--.h.
80683
80684 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
80685
80686         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
80687
80688 2006-07-20  Bruno Haible  <bruno@clisp.org>
80689
80690         * gnulib-tool: Recognize new option --assume-autoconf.
80691         (autoconf_minversion): New variable.
80692         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
80693
80694 2006-07-20  Bruno Haible  <bruno@clisp.org>
80695
80696         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
80697
80698 2006-07-19  Derek R. Price  <derek@ximbiot.com>
80699
80700         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
80701         Reindent and repaginate.
80702
80703 2006-07-19  Derek Price  <derek@ximbiot.com>
80704
80705         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
80706         Correct grammar.
80707
80708 2006-07-17  Bruno Haible  <bruno@clisp.org>
80709
80710         * modules/list: New file.
80711         * modules/array-list: New file.
80712         * modules/carray-list, modules/carray-list-tests: New files.
80713         * modules/linked-list, modules/linked-list-tests: New files.
80714         * modules/avltree-list, modules/avltree-list-tests: New files.
80715         * modules/rbtree-list, modules/rbtree-list-tests: New files.
80716         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
80717         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
80718         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
80719         * modules/oset: New file.
80720         * modules/array-oset: New file.
80721         * modules/avltree-oset, modules/avltree-oset-tests: New files.
80722         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
80723         * tests/test-carray_list.c: New file.
80724         * tests/test-linked_list.c: New file.
80725         * tests/test-avltree_list.c: New file.
80726         * tests/test-rbtree_list.c: New file.
80727         * tests/test-linkedhash_list.c: New file.
80728         * tests/test-avltreehash_list.c: New file.
80729         * tests/test-rbtreehash_list.c: New file.
80730         * tests/test-avltree_oset.c: New file.
80731         * tests/test-rbtree_oset.c: New file.
80732         * MODULES.html.sh (Container data structures): New section.
80733
80734 2006-07-17  Bruno Haible  <bruno@clisp.org>
80735
80736         * m4/gl_list.m4: New file.
80737
80738 2006-07-17  Bruno Haible  <bruno@clisp.org>
80739
80740         * lib/gl_list.h: New file.
80741         * lib/gl_list.c: New file.
80742         * lib/gl_array_list.h: New file.
80743         * lib/gl_array_list.c: New file.
80744         * lib/gl_carray_list.h: New file.
80745         * lib/gl_carray_list.c: New file.
80746         * lib/gl_linked_list.h: New file.
80747         * lib/gl_linked_list.c: New file.
80748         * lib/gl_anylinked_list1.h: New file.
80749         * lib/gl_anylinked_list2.h: New file.
80750         * lib/gl_avltree_list.h: New file.
80751         * lib/gl_avltree_list.c: New file.
80752         * lib/gl_anyavltree_list1.h: New file.
80753         * lib/gl_anyavltree_list2.h: New file.
80754         * lib/gl_rbtree_list.h: New file.
80755         * lib/gl_rbtree_list.c: New file.
80756         * lib/gl_anyrbtree_list1.h: New file.
80757         * lib/gl_anyrbtree_list2.h: New file.
80758         * lib/gl_anytree_list1.h: New file.
80759         * lib/gl_anytree_list2.h: New file.
80760         * lib/gl_linkedhash_list.h: New file.
80761         * lib/gl_linkedhash_list.c: New file.
80762         * lib/gl_anyhash_list1.h: New file.
80763         * lib/gl_anyhash_list2.h: New file.
80764         * lib/gl_avltreehash_list.h: New file.
80765         * lib/gl_avltreehash_list.c: New file.
80766         * lib/gl_rbtreehash_list.h: New file.
80767         * lib/gl_rbtreehash_list.c: New file.
80768         * lib/gl_anytreehash_list1.h: New file.
80769         * lib/gl_anytreehash_list2.h: New file.
80770
80771         * lib/gl_oset.h: New file.
80772         * lib/gl_oset.c: New file.
80773         * lib/gl_array_oset.h: New file.
80774         * lib/gl_array_oset.c: New file.
80775         * lib/gl_avltree_oset.h: New file.
80776         * lib/gl_avltree_oset.c: New file.
80777         * lib/gl_rbtree_oset.h: New file.
80778         * lib/gl_rbtree_oset.c: New file.
80779         * lib/gl_anytree_oset.h: New file.
80780
80781 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80782
80783         * m4/mkancesdirs.m4: New file.
80784         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
80785         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
80786         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
80787         it.
80788
80789 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80790
80791         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
80792         * lib/mkancesdirs.h: New files.
80793         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
80794         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
80795         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
80796         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
80797         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
80798         callers changed.  Revamp internals significantly, by not
80799         attempting to create directories that are temporarily more
80800         permissive than the final results.  Do not attempt to use
80801         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
80802         This removes some race conditions, fixes some bugs, and simplifies
80803         things.  Use new dirchownmod function to do owner and mode changes.
80804         * lib/mkdir-p.h: Likewise.
80805         * lib/modechange.c (octal_to_mode): New function.
80806         (struct mode_change): New member mentioned.
80807         (make_node_op_equals): New arg mentioned.  All callers changed.
80808         (mode_compile): Keep track of which mode bits the user has explicitly
80809         mentioned.
80810         (mode_adjust): New arg DIR, so that we implement the X op correctly.
80811         New arg PMODE_BITS, to keep track of which mode bits the user
80812         mentioned; it treats S_ISUID and S_ISGID speciall.
80813         All callers changed.
80814         * lib/modechange.h: Likewise.
80815
80816 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80817
80818         * MODULES.html.sh: Add mkancestors.
80819         * modules/mkancesdirs: New module.
80820         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
80821         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
80822         The chdir-safer and afs files are now orphans; I'll remove them
80823         unless someone speaks up.
80824         Add lib/dirchownmod.c, lib/dirchownmod.h.
80825         (Depends-on): Remove alloca, chown, save-cwd, dirname.
80826         Add lchown, mkancesdirs.
80827         (Maintainer): Add self.
80828
80829 2006-07-15  Karl Berry  <karl@gnu.org>
80830
80831         * gnulib-tool: help message wording/arrangement.
80832
80833 2006-07-14  Simon Josefsson  <jas@extundo.com>
80834
80835         * doc/gnulib.texi (Libtool and Windows): New section.
80836
80837 2006-07-12  Simon Josefsson  <jas@extundo.com>
80838
80839         * modules/gendocs (License): Fix license, approved by Karl.
80840
80841 2006-07-12  Eric Blake  <ebb9@byu.net>
80842
80843         * MODULES.html.sh: Add gendocs.
80844
80845 2006-07-11  Eric Blake  <ebb9@byu.net>
80846
80847         * modules/fdl: New module, to install doc/fdl.texi.
80848         * MODULES.html.sh: Add new section for documentation modules.
80849         * gnulib-tool: Avoid space-tab.
80850         (--doc-base): New option, to manage files from doc.
80851
80852 2006-07-11  Eric Blake  <ebb9@byu.net>
80853
80854         * m4/absolute-header.m4: Fix comments to match recent change.
80855
80856 2006-07-11  Eric Blake  <ebb9@byu.net>
80857
80858         * gnulib-tool: List --doc-base before --tests-base.
80859
80860 2006-07-11  Derek R. Price  <derek@ximbiot.com>
80861
80862         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
80863
80864 2006-07-11  Bruno Haible  <bruno@clisp.org>
80865
80866         * README: Mention where to put documentation.
80867
80868 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80869
80870         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
80871
80872 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80873
80874         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
80875         to stdint.m4.
80876
80877 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80878
80879         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
80880         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
80881         "no/such/file/stdint.h" when there is no such file, so that
80882         the resulting C code can be parsed by dodgy compilers.
80883         Problems reported by Bob Proulx.
80884
80885 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80886
80887         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
80888         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80889         macros into the GNU _D_EXACT_NAMLEN.
80890         * lib/savedir.c:  Likewise.
80891         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
80892
80893 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80894         and Paul Eggert  <eggert@cs.ucla.edu>
80895
80896         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
80897         * m4/savedir.m4:
80898         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80899         macros into the GNU _D_EXACT_NAMLEN.
80900
80901 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80902
80903         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
80904         around the absolute name, to work around a problem with the HP-UX
80905         11.23 native C compiler, reported by Bob Proulx.
80906
80907 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80908
80909         * doc/maintain.texi, make-stds.texi: Sync from
80910         <http://savannah.gnu.org/projects/gnustandards>.
80911
80912 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80913
80914         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
80915
80916 2006-07-09  Jim Meyering  <jim@meyering.net>
80917
80918         * m4/glob.m4: Remove a doubled word in a comment.
80919
80920 2006-07-09  Jim Meyering  <jim@meyering.net>
80921
80922         * lib/argp-pv.c: Remove a doubled word in a comment.
80923         * lib/check-version.c (check_version): Likewise.
80924         * lib/javacomp.c (compile_java_class): Likewise.
80925
80926 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80927
80928         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
80929         for the benefit of people using Autoconf 2.60.  If you want to
80930         support older Autoconf versions you can copy m4/onceonly_2_57.m4
80931         (or m4/onceonly.m4, if pre-2.57) manually.
80932
80933 2006-07-08  Jim Meyering  <jim@meyering.net>
80934
80935         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
80936         comment.
80937         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
80938         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
80939         comment.
80940
80941 2006-07-08  Jim Meyering  <jim@meyering.net>
80942
80943         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
80944
80945 2006-07-07  Simon Josefsson  <jas@extundo.com>
80946
80947         * tests/test-crc.c: Change expected crc value, the test vector
80948         were probably computed using the old broken crc.c?
80949
80950 2006-07-06  Simon Josefsson  <jas@extundo.com>
80951
80952         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
80953         now the canonical place for the M4 file).
80954
80955         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
80956         from the sys_socket dependency now.
80957
80958         * modules/inet_pton (Files): Ditto.
80959
80960         * modules/inet_ntop (Files): Ditto.
80961
80962 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80963
80964         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
80965         not gl_PREREQ_GETUSERSHELL.
80966
80967 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80968
80969         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
80970         with only one argument, for Autoconf 2.60.
80971         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
80972         expand to nothing, so add a shell command to avoid syntax error.
80973         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
80974
80975 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80976
80977         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
80978
80979 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80980
80981         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
80982         no longer needed.  Check for isblank decl.
80983         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
80984         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
80985         of existence.
80986
80987 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80988
80989         * lib/getloadavg.c: Use __VMS, not VMS.
80990         * lib/getopt.c: Likewise.
80991         * lib/getpagesize.h: Likewise.
80992         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
80993         and probably does not work.
80994
80995 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80996
80997         * lib/.cppi-disable: Add wcwidth.
80998         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
80999         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
81000         (ISGRAPH): Remove.  All uses changed to isgraph.
81001         (FOLD) [!defined _LIBC]: Remove special case.
81002         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
81003         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
81004         HAVE_ISBLANK.
81005         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
81006         case.
81007
81008 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
81009
81010         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
81011         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
81012         brackets.  Other minor changes to suppress some compiler
81013         warnings.
81014
81015 2006-07-06  Derek R. Price  <derek@ximbiot.com>
81016         and Paul Eggert  <eggert@cs.ucla.edu>
81017
81018         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
81019         of invoking obsolescent AC_HEADER_DIRENT macro.
81020         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
81021         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
81022         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
81023         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
81024         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
81025         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
81026         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
81027         * m4/readdir.m4: Remove; no longer needed.
81028
81029 2006-07-06  Derek R. Price  <derek@ximbiot.com>
81030         and Paul Eggert  <eggert@cs.ucla.edu>
81031
81032         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
81033         Don't worry about this obsolete case any more.
81034         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
81035         directories.
81036         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
81037         worry about this obsolete case any more.
81038         * lib/fts.c: Likewise.
81039         * lib/getcwd.c: Likewise.
81040         * lib/glob.h: Likewise.
81041         * lib/savedir.c: Likewise.
81042
81043 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
81044
81045         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
81046         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
81047         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
81048         needed.
81049         All uses removed.
81050         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81051         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
81052         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
81053         needed.
81054         * m4/getdate.m4 (gl_GETDATE): Likewise.
81055         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
81056         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
81057         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
81058         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81059         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
81060         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81061         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
81062         needed.
81063
81064 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
81065
81066         * lib/memcasecmp.c: Include <limits.h>.
81067         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
81068         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
81069         Don't assume isdigit succeeds only on '0' through '9'.
81070
81071 2006-07-05  Eric Blake  <ebb9@byu.net>
81072
81073         * modules/getaddrinfo (Depends-on): Add snprintf.
81074
81075 2006-07-05  Eric Blake  <ebb9@byu.net>
81076
81077         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
81078         to avoid 'header present but could not be compiled' on cygwin.
81079
81080 2006-07-05  Eric Blake  <ebb9@byu.net>
81081
81082         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
81083         missing from netdb.h.
81084         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
81085
81086 2006-07-05  Derek R. Price  <derek@ximbiot.com>
81087
81088         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
81089         no longer needed.
81090         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
81091         * m4/getdate.m4 (gl_GETDATE): Likewise.
81092         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
81093         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
81094         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
81095         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81096         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81097
81098 2006-07-05  Derek R. Price  <derek@ximbiot.com>
81099
81100         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
81101         All uses of is_space replaced by isspace.
81102         * lib/exit.h: Don't talk about STDC_HEADERS.
81103         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
81104         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
81105         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
81106         replaced by isprint etc.
81107         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
81108         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
81109         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
81110         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
81111         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
81112         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
81113
81114 2006-07-05  Bruno Haible  <bruno@clisp.org>
81115
81116         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
81117         the function exists, before testing against AIX.
81118         Reported by Martin Lambers <marlam@marlam.de>.
81119
81120 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
81121
81122         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
81123         From Mark D. Baushke.
81124
81125 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
81126
81127         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
81128         to the absolute name, not just one, to bypass Sun C 5.8's
81129         "warning: #include of /usr/include/... may be non-portable".
81130
81131 2006-07-04  Eric Blake  <ebb9@byu.net>
81132
81133         * modules/dirname-tests: New test module.
81134         * tests/test-dirname.c: New file, replacing dirname.c
81135         TEST_DIRNAME section that was recently deleted.
81136
81137 2006-07-04  Bruno Haible  <bruno@clisp.org>
81138
81139         Assume ANSI C header files and <ctype.h> functions.
81140         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
81141         (mbsnwidth): Use isprint, iscntrl instead.
81142
81143 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81144
81145         Merge from coreutils.
81146         * MODULES.html.sh: Add xstrtold.
81147         * modules/xstrtold: New file.
81148         * modules/cycle-check (Files): Add lib/same-inode.h.
81149         * modules/dirname (Files): Add m4/double-slash-root.m4.
81150         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
81151         * modules/mkdir-p (Files): Add lib/same-inode.h.
81152         * modules/same (Files): Add lib/same-inode.h.
81153
81154 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81155
81156         * m4/absolute-header.m4: Renamed from full-header-path.m4.
81157         This is to keep the terminology clean; POSIX talks about
81158         "absolute pathnames", not "full pathnames", but the GNU
81159         Coding Standards say to use "path" for something else;
81160         so use "absolute" to keep both sides happy.
81161         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
81162         Set gl_absolute_header, not gl_full_header_path.
81163         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
81164         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
81165         All uses changed.
81166
81167         Merge from coreutils.
81168
81169         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
81170
81171         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
81172         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
81173         want to require the building of c-strtod.o.
81174         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
81175         needs -lm directly.
81176         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
81177
81178         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81179
81180         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
81181         --as-needed option if available.  Problem reported by Albert Chin in
81182         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
81183         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
81184         cc merely issues a bunch of annoying warnings for --as-needed
81185         (this problem was reported by Bob Proulx).  Also, try linking with
81186         -lm to detect a bug in binutils 2.16 (this problem was reported
81187         by Ralf Wildenhues).
81188
81189         2006-06-18  Jim Meyering  <jim@meyering.net>
81190
81191         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
81192         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
81193         macro.
81194         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
81195         also check for glibc-2.4's abort-inducing bug.
81196
81197         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
81198         Low-probability clean-up should be to use rmdir to get rid of
81199         the just-created directory, not unlink.
81200
81201         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
81202         configure fail, and request a bug report to inform us about it.
81203         Add a comment that, barring reports to the contrary, in 2007 we'll
81204         assume ftruncate is universally available.
81205
81206         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
81207
81208         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
81209
81210         2006-03-12  Jim Meyering  <jim@meyering.net>
81211
81212         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
81213         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
81214         * m4/same.m4 (gl_SAME): Likewise.
81215         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
81216
81217         2006-03-11  Eric Blake  <ebb9@byu.net>
81218
81219         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
81220         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
81221         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
81222         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
81223
81224 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81225
81226         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
81227         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
81228         reported by Mark D. Baushke, one in
81229         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
81230
81231         Merge from coreutils.
81232
81233         * lib/.cppi-disable: Add stdint_.h.
81234         * lib/.cvsignore: Add stdint.h.
81235
81236         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
81237
81238         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
81239         both double and long double versions.
81240         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
81241         * lib/xstrtold.c: New file.
81242         * lib/xstrtod.h (xstrtold): New decl.
81243
81244         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
81245
81246         * lib/filemode.c (setst): Remove.
81247         (strmode): Rewrite to avoid setst.  This makes the code shorter,
81248         (arguably) clearer, and the generated code is a bit smaller on my
81249         Debian GNU/Linux stable x86 host.
81250
81251         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
81252
81253         * lib/filemode.c: Include "filemode.h" first, to test the interface.
81254         Assume that filemode.h includes sys/types.h and sys/stat.h.
81255         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
81256         (ftypelet): Reorder to put common cases first, for efficiency.
81257         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
81258         to do 'M'.
81259         (strmode): Renamed from mode_string, and now stores 12 bytes instead
81260         of 10, for compatibility with FreeBSD.  All callers changed.
81261         (filemodestring): Now stores 12 bytes instead of 10, and sets file
81262         types that can't be deduced solely from st_mode.  First arg is now a
81263         const pointer.
81264         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
81265         (strmode): Renamed from mode_string.
81266         (filemodestring): New decl.
81267         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
81268         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
81269         needed.
81270         (S_ISPORT, S_ISWHT): New macros, if not already defined.
81271
81272         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
81273
81274         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
81275         fsusage.h now does that.  Include fsusage.h first, to test interface.
81276         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
81277         at most one method (the old code could have generated decls that
81278         didn't conform to C89, not that this was ever exercised).
81279         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
81280
81281         2006-03-19  Jim Meyering  <jim@meyering.net>
81282
81283         Work even in a chroot where d_ino values for entries in "/"
81284         don't match the stat.st_ino values for the same names.
81285         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
81286         number, iterate through all entries again, using lstat instead.
81287         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
81288         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
81289
81290         * lib/getcwd.c (__getcwd): Clarify a comment.
81291         Use memcpy in place of a call to strcpy.
81292
81293         2006-03-12  Jim Meyering  <jim@meyering.net>
81294
81295         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
81296         matches that of the current directory (which we're about to chdir ".."
81297         out of), then save the dev-ino of the parent, instead.
81298
81299         * lib/same-inode.h (SAME_INODE): New file/macro.
81300         * lib/chdir-safer.c (SAME_INODE): Remove definition.
81301         Include "same-inode.h", instead.
81302         * lib/same.c: Likewise.
81303         * lib/cycle-check.h: Include "same-inode.h".
81304         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
81305         * lib/cycle-check.c (SAME_INODE): Remove definition.
81306         * lib/root-dev-ino.h: Include "same-inode.h".
81307
81308         2006-03-11  Eric Blake  <ebb9@byu.net>
81309
81310         * lib/same.c (same_name): s/base_name/last_component/
81311         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
81312         * lib/filenamecat.c (file_name_concat): Likewise.
81313
81314         2006-03-11  Eric Blake  <ebb9@byu.net>,
81315                     Paul Eggert  <eggert@cs.ucla.edu>
81316
81317         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
81318         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
81319         drive prefix.
81320         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
81321         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
81322         (last_component): New method.
81323         * lib/dirname.c (dir_len): Determine when drive letters need a
81324         subsequent slash.  Preserve // when it is special.
81325         (dir_name): Don't append dot when drive letter is absolute.
81326         [TEST_DIRNAME]: Move into a full-blown gnulib test.
81327         * lib/basename.c (base_name): New semantics - malloc the result.
81328         Preserve // when it is special.  Preserve relative files that look
81329         like drive letters.
81330         (base_len): Preserve // when it is special.
81331         (last_component): New method, similar to old base_name semantics.
81332         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
81333         base_name.  Strip redundant slashes from ///.
81334
81335 2006-07-03  Jim Meyering  <jim@meyering.net>
81336
81337         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
81338         macro is used before the first cycle_check call.
81339
81340 2006-07-03  Eric Blake  <ebb9@byu.net>
81341
81342         * modules/dirname (Depends-on): Add xstrndup.
81343
81344 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
81345
81346         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
81347         test cases, so that config.log is a bit easier to follow.
81348
81349 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
81350
81351         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
81352         both are 64 bits, since this seems to be the tradition, and this
81353         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
81354         we ever run into a host that prefers long long to long in this
81355         case, we'll need another configure-time test.  Problem reported by
81356         Jim Meyering.
81357
81358 2006-07-02  Eric Blake  <ebb9@byu.net>
81359
81360         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
81361
81362 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81363
81364         * modules/inttypes (Depends-on): No longer depends on stdint.
81365         * modules/stdint (Description): Say more about assumptions.
81366         Say that the fast types might differ.  Say macros are used.
81367         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
81368         (Makefile.am): Revise list of substituted symbols to match
81369         new stdint.m4.
81370         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
81371         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
81372         * tests/test-stdint.c (verify_same_types)
81373         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
81374         the code conforms to C99/C89.
81375         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
81376         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
81377
81378 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81379
81380         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
81381         but fix a bug, by requiring at least 64 bits.
81382         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
81383         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
81384         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
81385         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
81386
81387         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
81388         changes.  Make 2.59 a prerequisite.  Check and substitute for
81389         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
81390         inttypes.h.  Do not use special include files; just use the
81391         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
81392         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
81393         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
81394         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
81395         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
81396         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
81397         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
81398         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
81399         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
81400         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
81401         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
81402         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
81403         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
81404         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
81405         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
81406         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
81407         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
81408         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
81409         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
81410         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
81411         WINT_MAX.  Check for C99 conformance more strictly, by detecting
81412         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
81413         not check for things that C99 does not require, e.g., int8_t.  If
81414         a test isn't needed unless <stdint.h> isn't working, and is
81415         unlikely to be needed for any other reason, then don't do it
81416         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
81417         size_t, since we assume C89 freestanding at least.  Do not check
81418         for sig_atomic_t, wchar_t, or wint_t, since the code now does
81419         the right thing even if the types are not defined.  Instead use:
81420         (gl_STDINT_TYPE_PROPERTIES): New macro.
81421         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
81422         testing whether <sys/types.h> clashes, as Autoconf does this for
81423         us now.  All uses removed.
81424         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
81425         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
81426         (gl_CHECK_TYPE_SAME):
81427         Remove; no longer needed.
81428         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
81429         exists, since we'll return 0 anyway in that case.
81430         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
81431
81432 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81433
81434         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
81435         possible collision with system files.
81436         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
81437         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
81438         WCHAR_MIN and WCHAR_MAX in this case.
81439         (<stddef.h>): Do not include; no longer needed.
81440         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
81441         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
81442         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
81443         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
81444         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
81445         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
81446         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
81447         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
81448         !defined(__c99))]: Include in this case too, since it's harmless
81449         now.
81450         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
81451         dangerous to do so.
81452         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
81453         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
81454         (_STDINT_MIN, _STDINT_MAX): New macros.
81455         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
81456         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
81457         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
81458         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
81459         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
81460         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
81461         macros, not typedefs; this simplifies things quite a bit.
81462         Use long int for all types narrower than int64_t.
81463         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
81464         Define in terms of long long int or int64_t or long int,
81465         not int64_t or int32_t.  This saves some compile-time testing.
81466         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
81467         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
81468         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
81469         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
81470         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
81471         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
81472         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
81473         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
81474         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
81475         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
81476         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81477         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81478         undef any previous version and define our own version, for
81479         simplicity and consistency with the new macros for types.
81480         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81481         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81482         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
81483         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
81484         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
81485         @WINT_T_SUFFIX@ to keep things simple here.
81486         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
81487         Simplify by assuming typical 8/16/32/64 host, since we're
81488         already doing that elsewhere anyway.
81489         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
81490         and assume long long int is 64 bits if available.  This
81491         speeds up 'configure'.
81492
81493 2006-07-01  Eric Blake  <ebb9@byu.net>
81494
81495         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
81496         Reported by Andreas Buening.
81497
81498 2006-07-01  Eric Blake  <ebb9@byu.net>
81499
81500         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
81501
81502 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
81503
81504         * lib/getaddrinfo.c: fixed typo
81505
81506 2006-06-29  Jim Meyering  <jim@meyering.net>
81507
81508         * modules/strftime (Maintainer): Add my name, since with the
81509         FPRINTFTIME changes strftime.c has forked from glibc.
81510
81511 2006-06-29  Eric Blake  <ebb9@byu.net>
81512
81513         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
81514
81515 2006-06-29  Eric Blake  <ebb9@byu.net>
81516
81517         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
81518
81519 2006-06-29  Eric Blake  <ebb9@byu.net>
81520
81521         * lib/stat_.h: New file.
81522
81523 2006-06-29  Eric Blake  <ebb9@byu.net>
81524
81525         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
81526         unused static function.
81527
81528 2006-06-29  Eric Blake  <ebb9@byu.net>
81529
81530         * doc/functions.texi (Function Portability): Document missing lstat
81531         on mingw.
81532
81533 2006-06-29  Eric Blake  <ebb9@byu.net>
81534
81535         * MODULES.html.sh: Add sys_stat.
81536         * modules/sys_stat: New module.
81537         * modules/mkstemp (Depends-on): Add sys_stat.
81538
81539 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81540
81541         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
81542
81543 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81544
81545         * m4/c-bs-a.m4: Removed.
81546
81547 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81548
81549         * lib/strftime.c: Assume strftime() exists.
81550
81551 2006-06-29  Derek Price  <derek@ximbiot.com>
81552
81553         * modules/c-bs-a: Removed - \a is C89.
81554         * MODULES.html.sh: Remove c-bs-a.
81555
81556 2006-06-29  Bruno Haible  <bruno@clisp.org>
81557
81558         * modules/wcwidth (License): Change to LGPL.
81559
81560 2006-06-28  Simon Josefsson  <jas@extundo.com>
81561
81562         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
81563         on _WIN32.
81564
81565         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
81566         getnameinfo.
81567
81568 2006-06-28  Simon Josefsson  <jas@extundo.com>
81569
81570         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
81571
81572 2006-06-28  Simon Josefsson  <jas@extundo.com>
81573
81574         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
81575         functions there.  It will succeed on Windows XP, but on Windows
81576         2000 and (presumably) earlier, it will fail, and use the internal
81577         re-implementation.
81578         (use_win32_p): New function.
81579         (getaddrinfo): Use strtoul on servname, to support numeric ports.
81580         Support AI_NUMERICSERV to disable getservbyname.
81581         (getnameinfo): New function, only supports
81582         NI_NUMERICHOST|NI_NUMERICSERV for now.
81583
81584         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
81585         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
81586         getnameinfo.
81587
81588 2006-06-28  Eric Blake  <ebb9@byu.net>
81589
81590         * modules/wcwidth: New file.
81591         * modules/mbchar (Depends-on): Add wcwidth.
81592         * modules/mbswidth (Depends-on): Add wcwidth.
81593         * MODULES.html.sh: Add wcwidth.
81594
81595 2006-06-28  Eric Blake  <ebb9@byu.net>
81596
81597         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
81598         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
81599
81600 2006-06-28  Eric Blake  <ebb9@byu.net>
81601
81602         * lib/xvasprintf.h: Fix comments.
81603
81604 2006-06-28  Eric Blake  <ebb9@byu.net>
81605
81606         * lib/mbchar.h (wcwidth): Include wcwidth.h.
81607         * lib/mbswidth.c (wcwidth): Move from here...
81608         * lib/wcwidth.h: ...to this new file.
81609
81610 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81611
81612         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
81613
81614         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
81615         it's obsolete.
81616         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
81617
81618 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81619
81620         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
81621         Autoconf 2.60 says this stuff was obsolete.
81622
81623 2006-06-28  Bruno Haible  <bruno@clisp.org>
81624
81625         * modules/wcwidth (Files): Add m4/wchar_t.m4.
81626
81627 2006-06-28  Bruno Haible  <bruno@clisp.org>
81628
81629         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
81630         gt_TYPE_WCHAR_T.
81631
81632 2006-06-28  Bruno Haible  <bruno@clisp.org>
81633
81634         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
81635         declaration for wcwidth.
81636         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
81637
81638 2006-06-28  Bruno Haible  <bruno@clisp.org>
81639
81640         * lib/mkdtemp.c [MINGW]: Include <io.h>.
81641         (mkdir): Define using _mkdir.
81642
81643 2006-06-28  Bruno Haible  <bruno@clisp.org>
81644
81645         * lib/getaddrinfo.h: Fix POSIX URL.
81646         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
81647         _WIN32.
81648         (use_win32_p): Make static.
81649         (getaddrinfo): Reject service name if it is empty or does not consist
81650         solely of decimal digits, or if its value is > 65535.
81651         (getnameinfo): Remove useless casts.
81652
81653 2006-06-27  Simon Josefsson  <jas@extundo.com>
81654
81655         * modules/sys_select: New file, suggested by Bruno Haible, Paul
81656         Eggert and Martin Lambers.
81657
81658 2006-06-27  Simon Josefsson  <jas@extundo.com>
81659
81660         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
81661         Eggert and Martin Lambers.
81662
81663 2006-06-27  Bruno Haible  <bruno@clisp.org>
81664
81665         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
81666         result to 0, not to empty.
81667         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
81668
81669 2006-06-27  Bruno Haible  <bruno@clisp.org>
81670
81671         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
81672
81673 2006-06-26  Simon Josefsson  <jas@extundo.com>
81674
81675         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
81676         present.
81677
81678 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
81679
81680         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
81681         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
81682         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
81683
81684 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
81685
81686         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
81687
81688 2006-06-26  Bruno Haible  <bruno@clisp.org>
81689
81690         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
81691
81692 2006-06-26  Bruno Haible  <bruno@clisp.org>
81693
81694         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
81695
81696 2006-06-26  Bruno Haible  <bruno@clisp.org>
81697
81698         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
81699         SGI C compiler in pre-C99 mode.
81700         Suggested by Mark D. Baushke and Larry Jones.
81701
81702 2006-06-26  Bruno Haible  <bruno@clisp.org>
81703
81704         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
81705         WCHAR_MAX.
81706         Reported by Mark D. Baushke and Larry Jones.
81707
81708 2006-06-26  Bruno Haible  <bruno@clisp.org>
81709
81710         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
81711         in pre-C99 mode.
81712         Suggested by Mark D. Baushke and Larry Jones.
81713
81714 2006-06-23  Simon Josefsson  <jas@extundo.com>
81715             Bruno Haible  <bruno@clisp.org>
81716
81717         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
81718         Emit mostlyclean-local rule.
81719         (func_emit_tests_Makefile_am): Likewise.
81720         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
81721
81722 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
81723
81724         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
81725
81726 2006-06-23  Bruno Haible  <bruno@clisp.org>
81727
81728         * tests/test-stdint.c: Update to match ISO C 99 Technical
81729         Corrigendum 1.
81730
81731 2006-06-23  Bruno Haible  <bruno@clisp.org>
81732
81733         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
81734
81735 2006-06-23  Bruno Haible  <bruno@clisp.org>
81736
81737         * lib/stdint_.h: Treat IRIX like OpenBSD.
81738
81739 2006-06-23  Bruno Haible  <bruno@clisp.org>
81740
81741         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
81742         ISO C 99 Technical Corrigendum 1.
81743
81744 2006-06-22  Simon Josefsson  <jas@extundo.com>
81745
81746         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
81747         MinGW.
81748
81749 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81750
81751         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
81752         needed.  Some compiler complained about some of them.  Problem reported
81753         by Larry Jones in
81754         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
81755
81756 2006-06-21  Simon Josefsson  <jas@extundo.com>
81757
81758         * tests/test-getaddrinfo.c: New file.
81759
81760         * modules/getaddrinfo-tests: New file.
81761
81762         * MODULES.html.sh: Add inet_pton.
81763
81764         * modules/inet_pton: New file.
81765
81766 2006-06-21  Simon Josefsson  <jas@extundo.com>
81767
81768         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
81769         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
81770         of using the (limited) gnulib implementation on Windows XP.
81771
81772         * m4/inet_pton.m4: New file.
81773
81774 2006-06-21  Simon Josefsson  <jas@extundo.com>
81775
81776         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
81777         variable.
81778
81779         * lib/socket_.h: Don't define WINVER.
81780
81781         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
81782         slightly modified to work in gnulib.
81783
81784 2006-06-21  Simon Josefsson  <jas@extundo.com>
81785
81786         * doc/gnulib.texi (Windows sockets): Add.
81787
81788 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
81789
81790         * lib/read-file.c (fread_file): Start with buffer allocation of
81791         0 bytes rather than 1 byte; this simplifies the code.
81792         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
81793         code to free buffer and save/restore errno.
81794         (internal_read_file): Remove unused local.
81795
81796 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
81797
81798         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
81799         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
81800         Problem reported by Denis Excoffier in
81801         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
81802
81803 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81804
81805         * modules/sys_socket, modules/socklen: Include sys/types since
81806         FreeBSD 4.x's sys/socket.h needs it.
81807
81808 2006-06-19  Simon Josefsson  <jas@extundo.com>
81809
81810         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
81811
81812 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81813
81814         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
81815
81816 2006-06-19  Bruno Haible  <bruno@clisp.org>
81817
81818         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
81819         and FULL_PATH_INTTYPES_H in angle brackets.
81820         Reported by Mark D. Baushke <mdb@gnu.org>.
81821
81822 2006-06-17  Eric Blake  <ebb9@byu.net>
81823
81824         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
81825         errno.
81826
81827 2006-06-17  Bruno Haible  <bruno@clisp.org>
81828
81829         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
81830         <sys/inttypes.h>.
81831
81832 2006-06-17  Bruno Haible  <bruno@clisp.org>
81833
81834         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
81835         whether errno is declared. Assume <errno.h> declares errno.
81836
81837 2006-06-17  Bruno Haible  <bruno@clisp.org>
81838
81839         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
81840
81841 2006-06-17  Bruno Haible  <bruno@clisp.org>
81842
81843         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
81844         problem on Solaris 2.5.1.
81845
81846 2006-06-16  Eric Blake  <ebb9@byu.net>
81847
81848         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
81849         * lib/unicodeio.c [!defined errno]: Likewise.
81850         * lib/strtol.c [!defined errno]: Likewise.
81851         * lib/strtod.c [!defined errno]: Likewise.
81852
81853 2006-06-15  Eric Blake  <ebb9@byu.net>
81854
81855         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
81856
81857 2006-06-15  Eric Blake  <ebb9@byu.net>
81858
81859         * config/srclist.txt (ssize_t.m4): Lose sync.
81860
81861 2006-06-15  Bruno Haible  <bruno@clisp.org>
81862
81863         * modules/stdint (Files): Include m4/full-header-path.m4,
81864         m4/size_max.m4, m4/wchar_t.m4.
81865         (Makefile.am): Many more substitutions.
81866         * modules/stdint-tests: New file.
81867         * tests/test-stdint.c: New file.
81868
81869 2006-06-15  Bruno Haible  <bruno@clisp.org>
81870
81871         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
81872         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
81873         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
81874         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
81875         gl_CHECK_TYPE_SAME): New macros.
81876
81877 2006-06-15  Bruno Haible  <bruno@clisp.org>
81878
81879         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
81880
81881 2006-06-15  Bruno Haible  <bruno@clisp.org>
81882
81883         * lib/stdint_.h: Rewritten to be fully auto-configured.
81884         Fixes bug on HP-UX/IA64.
81885
81886 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
81887
81888         * lib/getdate.y (__attribute__): Don't define if already defined.
81889         Problem reported by Larry Jones.
81890         * lib/utimens.c (__attribute__): Likewise.
81891
81892 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
81893
81894         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
81895         reported by Andreas Schwab.
81896
81897 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81898             Bruno Haible  <bruno@clisp.org>
81899
81900         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
81901         check for the declaration of strnlen and a run test that exposes the
81902         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
81903         rpl_strndup.
81904
81905 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81906             Bruno Haible  <bruno@clisp.org>
81907
81908         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
81909
81910 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81911
81912         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
81913         compile test, for Tru64 4.0D.
81914
81915 2006-05-28  Karl Berry  <karl@gnu.org>
81916
81917         * config/srclist.txt (printf-args.c): lose sync.
81918
81919 2006-05-26  Martin Lambers  <marlam@marlam.de>
81920
81921         * lib/getpass.c: Updates the test for the native W32 API, and adds
81922         missing includes, thus fixing compilation warnings.
81923
81924 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
81925
81926         * lib/exclude.c (exclude_fnmatch): New function.
81927         (excluded_file_name): Call exclude_fnmatch.
81928         * lib/exclude.h (excluded_file_name): New prototype
81929
81930 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
81931
81932         * lib/tempname.c (small_open, large_open): New macros.
81933         (__open, __open64) [!_LIBC]: Remove.
81934         (__gen_tempname): Use small_open and large_open instead of __open
81935         and __open64.  This fixes a portability bug on HP-UX 11.11i
81936         reported by Simon Wing-Tang in
81937         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
81938
81939 2006-05-24  Bruno Haible  <bruno@clisp.org>
81940
81941         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
81942         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
81943         Reported by Thorsten Maerz <torte@netztorte.de> via
81944         Aaron Stone <aaron@serendipity.cx>.
81945
81946 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81947
81948         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
81949         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
81950         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
81951         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
81952         not really conditional on the cache.
81953         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
81954
81955 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81956
81957         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
81958         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
81959         (my_usleep): Don't mishandle maximum value.
81960
81961 2006-05-19  Jim Meyering  <jim@meyering.net>
81962
81963         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
81964
81965 2006-05-17  Bruno Haible  <bruno@clisp.org>
81966
81967         Cygwin portability.
81968         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
81969
81970 2006-05-17  Bruno Haible  <bruno@clisp.org>
81971
81972         * lib/stdint_.h: Fix recognition of Cygwin.
81973
81974 2006-05-15  Bruno Haible  <bruno@clisp.org>
81975
81976         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
81977         on libtool patch by Ralf Wildenhues.
81978
81979 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81980
81981         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
81982         test for C99 conformance; (bool) 0.5 is an integer constant
81983         expression, but (bool) -0.5 is not.  Problem reported by Fedor
81984         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
81985
81986 2006-05-11  Simon Josefsson  <jas@extundo.com>
81987
81988         * m4/xvasprintf.m4: Fix obvious typo.
81989
81990 2006-05-11  Jim Meyering  <jim@meyering.net>
81991
81992         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
81993         James Lemley.
81994
81995 2006-05-10  Simon Josefsson  <jas@extundo.com>
81996
81997         * lib/md4.c: Typo fix, update copyright years.
81998         (K1, K2): Don't use L because it turn computations into 64-bit on
81999         64-bit platforms.
82000
82001 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
82002
82003         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
82004         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
82005         unwanted sign propagation, e.g., on hosts with 64-bit int.
82006         There still are some problems with reeelly weird theoretical hosts
82007         (e.g., 33-bit int) but it's not worth worrying about now.
82008         * lib/sha1.c (rol): Likewise.
82009         (K1, K2, K3, K4): Remove unnecessary L suffix.
82010
82011 2006-05-10  Bruno Haible  <bruno@clisp.org>
82012
82013         * lib/des.c: Cast to avoid warnings.
82014
82015 2006-05-09  Bruno Haible  <bruno@clisp.org>
82016
82017         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
82018         (Depends-on): Depend also on xsize, stdarg.
82019         (configure.ac): Add gl_XVASPRINTF.
82020
82021 2006-05-09  Bruno Haible  <bruno@clisp.org>
82022
82023         * m4/xvasprintf.m4: New file.
82024
82025 2006-05-09  Bruno Haible  <bruno@clisp.org>
82026
82027         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
82028         (EOVERFLOW): Define fallback value.
82029         (xstrcat): New function.
82030         (xvasprintf): Recognize the special case of a string concatenation.
82031
82032 2006-05-08  Eric Blake  <ebb9@byu.net>
82033
82034         * gnulib-tool (func_version): Base copyright year on CVS date.
82035         (func_emit_copyright_notice): New function.
82036         (func_emit_lib_Makefile_am): Use it.
82037         (func_emit_tests_Makefile_am): Likewise.
82038         (func_import): Likewise.
82039
82040 2006-05-08  Bruno Haible  <bruno@clisp.org>
82041
82042         * modules/stdarg: New file.
82043         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
82044
82045 2006-05-08  Bruno Haible  <bruno@clisp.org>
82046
82047         * m4/stdarg.m4: New file, from GNU gettext.
82048
82049 2006-05-08  Bruno Haible  <bruno@clisp.org>
82050
82051         * config/srclist.txt (build-aux/config.rpath): different from latest
82052         release.
82053
82054 2006-05-08  Bruno Haible  <bruno@clisp.org>
82055
82056         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
82057
82058 2006-05-05  Jim Meyering  <jim@meyering.net>
82059
82060         * m4/warning.m4: New file, derived from bison's file by the same name.
82061
82062 2006-05-03  Bruno Haible  <bruno@clisp.org>
82063
82064         * lib/stdint_.h: Shorter URL.
82065         * lib/inttypes.h: Likewise.
82066
82067 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82068
82069         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
82070
82071 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82072
82073         * lib/verify.h: Document the internals better.  Most of this change
82074         was written by Bruno Haible.
82075
82076 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82077
82078         * doc/verify.texi: New file, partly based on a proposal by
82079         Bruno Haible.
82080
82081 2006-05-02  Bruno Haible  <bruno@clisp.org>
82082
82083         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
82084         test from here...
82085         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
82086
82087 2006-04-29  Bruno Haible  <bruno@clisp.org>
82088
82089         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
82090         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
82091
82092 2006-04-29  Bruno Haible  <bruno@clisp.org>
82093
82094         * gnulib-tool: Make --update option actually work.
82095
82096 2006-04-29  Bruno Haible  <bruno@clisp.org>
82097
82098         * doc/gcd.texi: New file.
82099         * doc/gnulib.texi: Include it.
82100
82101 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
82102
82103         * lib/getdate.y (get_date): When adding relative date, start with the
82104         initial time, not with the result of the first mktime call.
82105
82106 2006-04-25  Bruno Haible  <bruno@clisp.org>
82107
82108         * gnulib-tool (func_import): Output the include directives in three
82109         blocks, sorted separately.
82110         Reported by Ben Pfaff <blp@cs.stanford.edu>.
82111
82112 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
82113
82114         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
82115         to define main with arguments, for C++.  Reported by Eric Blake.
82116         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
82117         Prefer 'int main ()' to 'int main (void)', for C++.
82118         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
82119         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
82120         for 'main', for C99 and C++.
82121
82122 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
82123
82124         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
82125         Don't assume that exit status -1 is valid.
82126         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82127         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
82128         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
82129         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
82130         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
82131         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
82132         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
82133         functions can be used without declaring them, or that you can
82134         exit with status -1.
82135         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
82136
82137 2006-04-24  Karl Berry  <karl@gnu.org>
82138
82139         * config/srclist.txt (longdouble.m4): sync lost.
82140
82141 2006-04-24  Eric Blake  <ebb9@byu.net>
82142
82143         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
82144
82145 2006-04-24  Bruno Haible  <bruno@clisp.org>
82146
82147         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
82148         poll() implementation in AIX.
82149         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82150
82151 2006-04-24  Bruno Haible  <bruno@clisp.org>
82152
82153         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
82154         assigned exactly once.
82155
82156 2006-04-23  Claudio Fontana  <claudio@gnu.org>
82157             Bruno Haible  <bruno@clisp.org>
82158
82159         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
82160         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
82161         for AM_CPPFLAGS.
82162
82163 2006-04-23  Bruno Haible  <bruno@clisp.org>
82164
82165         * modules/copy-file: Depend on unistd.
82166         * modules/execute: Likewise.
82167         * modules/fatal-signal: Likewise.
82168         * modules/findprog: Likewise.
82169         * modules/mkdtemp : Likewise.
82170         * modules/pipe: Likewise.
82171         * modules/wait-process: Likewise.
82172
82173 2006-04-23  Bruno Haible  <bruno@clisp.org>
82174
82175         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
82176         condition was already detected.
82177         Reported by Ben Pfaff <blp@cs.stanford.edu>.
82178
82179 2006-04-23  Bruno Haible  <bruno@clisp.org>
82180
82181         * lib/copy-file.c: Include <unistd.h> unconditionally.
82182         * lib/execute.c: Likewise.
82183         * lib/fatal-signal.c: Likewise.
82184         * lib/findprog.c: Likewise.
82185         * lib/mkdtemp.c: Likewise.
82186         * lib/pipe.h: Likewise.
82187         * lib/pipe.c: Likewise.
82188         * lib/wait-process.h: Likewise.
82189
82190 2006-04-23  Bruno Haible  <bruno@clisp.org>
82191
82192         * gnulib-tool (func_usage): Fix --import description. Document
82193         --update.
82194         (func_import): Create temporary file in a temporary directory, if
82195         --dry-run is specified. Silence errors from 'grep' when there are no
82196         m4 files in $m4dir.
82197         (func_create_testdir): Silence errors from 'grep' when there are no
82198         m4 files in $m4dir.
82199         Reported by Karl Berry <karl@freefriends.org>.
82200
82201 2006-04-20  Bruno Haible  <bruno@clisp.org>
82202
82203         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
82204         one argument, so that the code will be portable to Autoconf 2.60.
82205         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
82206         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
82207         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
82208
82209 2006-04-19  Derek Price  <derek@ximbiot.com>
82210             Eric Blake  <ebb9@byu.net>
82211
82212         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
82213         rather than "/full/path.h".  Update comment to match.  Shorten &
82214         generalize m4_translit call via AS_TR_CPP.
82215
82216 2006-04-19  Derek Price  <derek@ximbiot.com>
82217             Eric Blake  <ebb9@byu.net>
82218
82219         * lib/inttypes.h: Correct grammar in comment.
82220
82221 2006-04-18  Derek Price  <derek@ximbiot.com>
82222             Paul Eggert  <eggert@cs.ucla.edu>
82223
82224         * modules/inttypes: New file.
82225         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
82226
82227 2006-04-18  Derek Price  <derek@ximbiot.com>
82228             Paul Eggert  <eggert@cs.ucla.edu>
82229
82230         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
82231         New files.
82232
82233 2006-04-18  Derek Price  <derek@ximbiot.com>
82234             Paul Eggert  <eggert@cs.ucla.edu>
82235
82236         * lib/inttypes.h: New file.
82237         * lib/strtoimax.c: Assume <inttypes.h>.
82238
82239 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
82240
82241         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
82242         isn't mounted.  Problem reported by Kir Kolyshkin.
82243
82244 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
82245
82246         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
82247         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
82248         Derek R. Price.
82249         * lib/regex.h (RE_DUP_MAX): Update comment to match current
82250         implementation.
82251
82252 2006-04-12  Eric Blake  <ebb9@byu.net>
82253
82254         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
82255         is now done automatically by the corresponding Autoconf macro.
82256
82257 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
82258
82259         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
82260         time_r.h.
82261
82262 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82263
82264         Merge regex changes from libc, removing some of our
82265         POSIX-conformance changes that were rejected and redoing them in a
82266         less-intrusive way.
82267
82268         * lib/regcomp.c (re_compile_internal, init_dfa):
82269         Length arg is now size_t, not Idx.  All uses changed.
82270         (peek_token): Forward decl now says internal_function.
82271         (__re_error_msgid, __re_error_msgid_idx):
82272         Now static rather than extern with attribute_hidden.
82273         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
82274         For some reason libc prefers K&R style defns for external functions.
82275         (regerror) [!defined _LIBC]: Likewise.
82276         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
82277         (seek_collating_symbol_entry, lookup_collation_sequence_value):
82278         (build_range_exp, build_collating_symbol):
82279         Use K&R-style defn.
82280         (re_compile_fastmap): Use '\0' to memset, not 0.
82281         (utf8_sb_map): Make the calculations more obvious.
82282         (init_dfa, parse_bracket_exp, build_charclass_op):
82283         Call calloc and cast result, as glibc does.
82284         (init_word_char, fetch_token, peek_token, peek_token_bracket):
82285         (build_range_exp, build_collating_symbol):
82286         Now internal functions.
82287
82288         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
82289
82290         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
82291         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
82292         Don't depend on VMS; depend on __VMS instead, for POSIX
82293         namespace cleanness.
82294         (regoff_t): Define to ssize_t, not long int.
82295
82296         Remove the REG_ macros named below.  Instead, make the old names
82297         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
82298         __USE_GNU_REGEX.
82299         (REG_BACKSLASH_ESCAPE_IN_LISTS):
82300         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
82301         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
82302         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
82303         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
82304         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
82305         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
82306         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
82307         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
82308         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
82309         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
82310         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
82311         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
82312         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
82313         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
82314         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
82315         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
82316         (REG_NREGS):
82317         Remove.  All uses replaced by the old RE_* names.
82318         (RE_BACKSLASH_ESCAPE_IN_LISTS):
82319         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
82320         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
82321         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
82322         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
82323         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
82324         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
82325         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
82326         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
82327         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
82328         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
82329         Don't bother having these macros be independent of each others'
82330         values, since they no longer exist in the POSIX name space.
82331
82332         Rename the following member names back to their old names,
82333         unless !__USE_GNU_REGEX.  All uses changed back.
82334         (buffer): Renamed from re_buffer.
82335         (allocated): Renamed from re_allocated.
82336         (used): Renamed from re_used.
82337         (syntax): Renamed from re_syntax.
82338         (fastmap): Renamed from re_fastmap.
82339         (translate): Renamed from re_translate.
82340         (can_be_null): Renamed from re_can_be_null.
82341         (regs_allocated): Renamed from re_regs_allocated.
82342         (fastmap_accurate): Renamed from re_fastmap_accurate.
82343         (no_sub): Renamed from re_no_sub.
82344         (not_bol): Renamed from re_not_bol.
82345         (not_eol): Renamed from re_not_eol.
82346         (newline_anchor): Renamed from re_newline_anchor.
82347         (num_regs): Renamed from rm_num_regs.
82348         (start): Renamed from rm_start.
82349         (end): Renamed from rm_end.
82350
82351         (free_state): Move up a bit.
82352
82353         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
82354         #define to be empty.
82355         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
82356         when that is what is intended.
82357         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
82358         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
82359         (MAX): New macro.
82360         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
82361         All uses changed back to re_malloc, etc.  It's now the caller's
82362         responsibility to check for overflow; all callers changed.
82363         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
82364         (re_x2nrealloc): Remove.
82365         (free_state): Remove decl.
82366
82367         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
82368         (re_set_registers, re_exec):
82369         Use K&R-style defn.
82370
82371         2006-01-31  Roland McGrath  <roland@redhat.com>
82372
82373         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
82374         Reported by Mike Frysinger <vapier@gentoo.org>.
82375
82376         2006-01-15  Andreas Jaeger  <aj@suse.de>
82377
82378         [BZ #1950]
82379         * lib/regex_internal.c (re_string_reconstruct): Adjust for
82380         build_wcs_upper_buffer change.
82381         (build_wcs_upper_buffer): Change return type.
82382
82383         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
82384
82385         * lib/regex_internal.h: Include <stdint.h> if available.
82386
82387         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
82388
82389         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
82390
82391         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
82392
82393         * lib/regcomp.c: Adjust for changed secondary hash function.
82394
82395         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
82396
82397         * lib/regex.h: Pretty printing.
82398         Clean up namespace a bit.
82399
82400         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
82401
82402         * lib/regexec.c (update_cur_sifted_state, check_arrival,
82403         check_arrival_add_next_nodes): Avoid using uninitialized variable.
82404
82405         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82406                     Ulrich Drepper  <drepper@redhat.com>
82407
82408         [BZ #1302]
82409         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
82410         changed.
82411         (bitset_word_t): Renamed from bitset_word.  All uses changed.
82412
82413         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
82414
82415         [BZ #281]
82416         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
82417         * lib/regcomp.c: Remove unnecessary uses of
82418         unsigned RE_TRANSLATE_TYPE.
82419         * lib/regex_internal.h: Likewise.
82420         * lib/regex_internal.c: Likewise.
82421         * lib/regexec.c: Likewise.
82422         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
82423
82424         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
82425
82426         * lib/regexec.c (find_recover_state): Remove unnecessary
82427         initialization.
82428         (transit_state_bkref): Make DFA a const pointer.
82429         (get_subexp): Likewise.
82430         (check_arrival): Likewise.
82431         (update_cur_sifted_state): Likewise.
82432         (re_search_internal): Likewise.
82433         (prune_impossible_nodes): Likewise.
82434         (acquire_init_state_context): Likewise.
82435         (proceed_next_node): Likewise.
82436         (set_regs): Likewise.
82437         (free_fail_stack_return): Likewise.
82438         (check_arrival_expand_ecl): Mark DFA parameter as const.
82439         (check_arrival_expand_ecl_sub): Likewise.
82440         (check_subexp_limits): Likewise.
82441         (sub_epsilon_src_nodes):  Likewise.
82442         (add_epsilon_src_nodes):  Likewise.
82443         (merge_state_array): Likewise.
82444         (update_regs): Likewise.
82445         (build_trtable): Likewise.
82446         (sift_states_backward): Mark MCTX parameter as const.
82447         (build_sifted_states): Likewise.
82448         (update_cur_sifted_state): Likewise.
82449         (sift_states_mkref): Likewise.
82450         (check_arrival_expand_ecl): Mark eclosure as const.
82451         (check_dst_limits_calc_pos_1): Likewise.
82452         * lib/regex_internal.h (re_match_context_t): Make dfa a const
82453         pointer.
82454
82455         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
82456
82457         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
82458         (transit_state_sb): Likewise.
82459         (transit_state_mb): Likewise.
82460         (sift_states_iter_mb): Likewise.
82461         (check_arrival_add_next_nodes): Likewise.
82462         (check_node_accept_bytes): Change first parameter to pointer-to-const.
82463         [_LIBC] (re_search_2_stub): Use mempcpy.
82464
82465         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
82466         mbrtowc for very simple UTF-8 case.
82467
82468         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
82469         a pointer-to-const.
82470         (re_acquire_state_context): Likewise.
82471         * lib/regex_internal.h: Adjust prototypes.
82472
82473         * lib/regex.c: Prevent using C++ compilers.
82474
82475         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
82476         (re_acquire_state_context): Likewise.
82477
82478 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82479
82480         * modules/regex (Depends-on): Add ssize_t.
82481
82482 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82483
82484         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
82485         translation table.
82486
82487 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82488
82489         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
82490
82491 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
82492             Bruno Haible  <bruno@clisp.org>
82493
82494         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
82495         <sys/types.h> and <inttypes.h>.
82496
82497 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82498
82499         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
82500         `__error_t_defined', so argp.h will not typedef the former.
82501
82502 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
82503
82504         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
82505         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
82506         glibc names.  Even if glibc is changed to conform to POSIX, the
82507         traditional names will be available anyway, since regex depends on
82508         the extensions module.  Also, fix a longstanding typo in the
82509         implementation of Spencer ERE test #75 from grep 2.3.  Problems
82510         reported by Emanuele Giaquinta.  Also, change sense of cached
82511         variable, so that the message makes sense.
82512
82513 2006-03-24  Simon Josefsson  <jas@extundo.com>
82514
82515         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
82516         including some doc fixes.
82517         (base64_encode_alloc): Fix +1 bug on allocation failures.
82518
82519 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82520
82521         * lib/base64.c (base64_encode): Do not read past end of array with
82522         unsanitized input on systems with CHAR_BIT > 8.
82523
82524 2006-03-24  Eric Blake  <ebb9@byu.net>
82525
82526         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
82527
82528 2006-03-22  Karl Berry  <karl@gnu.org>
82529
82530         * config/srclist.txt (*setenv.[ch]): get from coreutils.
82531         * config/srclistvars.sh (COREUTILS): new var.
82532
82533 2006-03-17  Jim Meyering  <jim@meyering.net>
82534
82535         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
82536         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
82537
82538 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82539
82540         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
82541         no longer needs it.  Instead, check that regoff_t is as least
82542         as wide as ptrdiff_t.
82543
82544         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
82545         so that our regex.h stays compatible with the installed regex.
82546         This is helpful for installers who configure --without-included-regex.
82547         Problem reported by Emanuele Giaquinta.
82548
82549 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82550
82551         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
82552         Typedef to long int, not to off_, as POSIX will likely change
82553         in that direction.
82554
82555 2006-03-15  Eric Blake  <ebb9@byu.net>
82556
82557         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
82558
82559 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82560
82561         * lib/argp-help.c (validate_uparams): Fix typo
82562         * lib/argp-parse.c (argp_default_options): Consistently begin help
82563         messages with a lowercase letter.
82564
82565 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
82566
82567         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
82568         overrun buffers and shouldn't be used (much as gets shouldn't be
82569         used).
82570         * lib/time_r.c (asctime_r, ctime_r): Likewise.
82571
82572 2006-03-08  Simon Josefsson  <jas@extundo.com>
82573
82574         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
82575         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82576
82577 2006-03-08  Simon Josefsson  <jas@extundo.com>
82578
82579         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
82580         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82581
82582 2006-03-08  Simon Josefsson  <jas@extundo.com>
82583
82584         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
82585         signal that configure disabled the device.
82586
82587 2006-03-08  Simon Josefsson  <jas@extundo.com>
82588
82589         * build-aux/maint.mk: Fix refresh-po, to handle no translated
82590         languages.
82591
82592 2006-03-07  Simon Josefsson  <jas@extundo.com>
82593
82594         * modules/getopt (Depends-on): Add unistd.
82595
82596         * modules/unistd: New file.
82597
82598 2006-03-07  Simon Josefsson  <jas@extundo.com>
82599
82600         * modules/gc-random: New file.
82601
82602 2006-03-07  Simon Josefsson  <jas@extundo.com>
82603
82604         * m4/unistd_h.m4: New file.
82605
82606 2006-03-07  Simon Josefsson  <jas@extundo.com>
82607
82608         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
82609         test to be side-effect free by storing the result in the cache
82610         variable gl_cv_lib_readline, and moving the assignment of
82611         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
82612         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82613
82614 2006-03-07  Simon Josefsson  <jas@extundo.com>
82615
82616         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
82617         error on missing devices (the functions will return an error).
82618
82619         * m4/gc.m4: Move random stuff to gc-random.m4
82620
82621 2006-03-07  Simon Josefsson  <jas@extundo.com>
82622
82623         * lib/unistd_.h: New file.
82624
82625 2006-03-07  Simon Josefsson  <jas@extundo.com>
82626
82627         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
82628
82629 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82630
82631         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
82632         Problem reported by Juan Manuel Guerrero.
82633
82634 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82635
82636         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
82637         the unistd module.
82638         * lib/getlogin_r.c: Likewise.
82639         * lib/getlogin_r.h: Likewise.
82640         * lib/glob.c: Likewise.
82641         * lib/pagealign_alloc.c: Likewise.
82642         * lib/unistd_.h: Remove; no longer needed.
82643
82644 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82645
82646         * MODULES.html.sh (Support for systems lacking POSIX:2001):
82647         Add unistd.
82648         * modules/c-stack (Depends-on): Add unistd.
82649         * modules/getlogin_r: Likewise.
82650         * modules/glob: Likewise.
82651         * modules/pagealign_alloc: Likewise.
82652         * modules/unistd (Files): Remove lib/unistd_.h.
82653         (EXTRA_DIST): Remove.
82654         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
82655         need unistd_.h.
82656         (MOSTLYCLEANFILES): Remove unistd.h-t.
82657
82658 2006-03-03  Simon Josefsson  <jas@extundo.com>
82659
82660         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
82661
82662 2006-03-03  Simon Josefsson  <jas@extundo.com>
82663
82664         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
82665         libidn and bison.
82666
82667 2006-03-03  Simon Josefsson  <jas@extundo.com>
82668
82669         * build-aux/maint.mk: Add indent target.
82670
82671 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
82672
82673         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
82674         our replacement poll.h in any case, to avoid a differing
82675         declaration from a system header.  Seen on AIX.
82676
82677 2006-03-01  Simon Josefsson  <jas@extundo.com>
82678
82679         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
82680         <kasal@ucw.cz>.
82681
82682 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82683
82684         * modules/gettime (Depends-on): Add extensions module.
82685         * modules/nanosleep (Depends-on): Likewise.
82686         * modules/settime (Depends-on): Likewise.
82687
82688 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82689
82690         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
82691         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
82692         pedantically.
82693         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82694         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
82695
82696         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
82697         not "==".  Reported by Ralf Wildenhues.
82698
82699 2006-03-01  Karl Berry  <karl@gnu.org>
82700
82701         * doc/Copyright/request-*: new files, synced from gnuorg.
82702
82703 2006-03-01  Karl Berry  <karl@gnu.org>
82704
82705         * config/srclist.txt (Copyright/*): new entries.
82706
82707 2006-02-28  Simon Josefsson  <jas@extundo.com>
82708
82709         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
82710
82711 2006-02-27  Simon Josefsson  <jas@extundo.com>
82712
82713         * lib/base64.h: Indent #define's.  From Jim Meyering
82714         <jim@meyering.net>.
82715
82716 2006-02-27  Jim Meyering  <jim@meyering.net>
82717
82718         Revert the change of 2006-02-24, so these files can continue
82719         to be sync'd from gettext.
82720         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
82721         of `config.h'.
82722
82723 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82724
82725         * modules/intprops: New file.
82726         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
82727         Add intprops.
82728         * modules/getloadavg (Files): Remove lib/intprops.h.
82729         (Depends-on): Add intprops.
82730         * modules/human: Likewise.
82731         * modules/inttostr: Likewise.
82732         * modules/openat: Likewise.
82733         * modules/sig2str: Likewise.
82734         * modules/userspec: Likewise.
82735         * modules/utimecmp: Likewise.
82736         * modules/xnanosleep: Likewise.
82737         * modules/xstrtol: Likewise.
82738
82739 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
82740
82741         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
82742         * modules/lock-tests (TESTS): Use $(EXEEXT).
82743         * modules/tls-tests: Likewise.
82744         * modules/argp-tests: Likewise.
82745         (check_PROGRAMS): New var, replacing...
82746         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
82747
82748 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82749
82750         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
82751         `config.h'.
82752
82753 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
82754
82755         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
82756
82757 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82758
82759         Sync from coreutils.
82760         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
82761         gl_CHDIR_SAFER.
82762
82763 2006-02-22  Jim Meyering  <jim@meyering.net>
82764
82765         Sync from coreutils.
82766         * m4/chdir-safer.m4: New file.
82767
82768 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
82769
82770         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
82771         AT_FDCWD exceeds INT_MAX.
82772         * lib/openat.h (AT_FDCWD): Likewise.
82773
82774 2006-02-17  Eric Blake  <address@hidden>
82775
82776         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
82777
82778 2006-02-16  Simon Josefsson  <jas@extundo.com>
82779
82780         * modules/getaddrinfo (Depends-on): Add sys_socket.
82781
82782 2006-02-15  Simon Josefsson  <jas@extundo.com>
82783
82784         * build-aux/maint.mk: Add dsyntax-check rule.
82785
82786 2006-02-15  Eric Blake  <ebb9@byu.net>
82787
82788         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
82789         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
82790         'present but cannot compile' warnings on cygwin.
82791         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
82792         use ws2tcpip.h if sys/socket.h works.
82793         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
82794         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
82795
82796 2006-02-14  Simon Josefsson  <jas@extundo.com>
82797
82798         * modules/maintainer-makefile (Files): Rename.
82799
82800         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
82801         and (the local) Makefile.cfg to maint-cfg.mk.
82802
82803         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
82804         to the latter.
82805
82806         * modules/maintainer-makefile: New module.
82807
82808         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
82809         severaly stripped to make it possible to build it up from scratch
82810         with reliable tests.
82811
82812         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
82813         fixes to permit overriding the default actions when configure and
82814         makefile are not available.
82815
82816 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
82817
82818         Sync from coreutils.
82819         * modules/lstat (Depends-on): Don't depend on xalloc.
82820         (License): Change from GPL to LGPL, since this is now simply a
82821         replacement for a libc function.
82822
82823 2006-02-14  Jim Meyering  <jim@meyering.net>
82824
82825         Sync from coreutils.
82826
82827         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
82828         failure on deficient systems, and simplify gnulib lgpl dependencies.
82829         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
82830         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
82831
82832         * lib/xalloc-die.c: Remove unused definition of N_.
82833
82834 2006-02-14  Jim Meyering  <jim@meyering.net>
82835
82836         Sync from coreutils.
82837         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
82838         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
82839         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
82840         double-quote uses of that variable, to accommodate the rare case in
82841         which getmntent is available in none of the libraries checked.  This
82842         happens at least on FreeBSD 5.0.
82843
82844 2006-02-13  Simon Josefsson  <jas@extundo.com>
82845
82846         * gnulib-tool (Usage): Fix --import, from
82847         karl@freefriends.org (Karl Berry).
82848
82849 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82850
82851         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
82852
82853 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
82854
82855         * lib/argp-namefrob.h: Restore changes accidentally lost during the
82856         "autoupdate" on 2005-12-12.
82857
82858 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82859
82860         * modules/closeout (Depends-on): Remove atexit.
82861
82862 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82863
82864         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
82865         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
82866
82867 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
82868
82869         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
82870         __EXTENSIONS__ if this causes compilation to fail.  Problem
82871         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
82872         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
82873
82874 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
82875
82876         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
82877         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
82878         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
82879         All uses changed.
82880
82881 2006-01-26  Simon Josefsson  <jas@extundo.com>
82882
82883         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
82884         prototype is visible on mingw32.
82885
82886         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
82887         for mingw32.
82888
82889         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
82890         mingw32).
82891
82892 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
82893
82894         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
82895         attempt to open for write; this always fails, at least on POSIX
82896         hosts.  This reinstates the 2006-01-09 change, which was
82897         inadvertently removed.
82898
82899 2006-01-26  Bruno Haible  <bruno@clisp.org>
82900
82901         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
82902         Reported by Paul Eggert.
82903
82904 2006-01-26  Bruno Haible  <bruno@clisp.org>
82905             Paul Eggert  <eggert@cs.ucla.edu>
82906
82907         * lib/stdbool_.h (_Bool)
82908         [(! (defined __cplusplus || defined __BEOS__)
82909           && !defined __GNUC__
82910           && !(defined __HP_cc || defined __xlc__
82911                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
82912                || defined __sgi))]:
82913         #define to signed char in these cases too; this simplifies
82914         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
82915         etc., separately) and makes it more conservative.
82916
82917 2006-01-25  Simon Josefsson  <jas@extundo.com>
82918
82919         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
82920         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
82921         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
82922
82923 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82924
82925         * lib/argp-namefrob.h: Bugfix. Remove stray #
82926
82927 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
82928
82929         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
82930         so that we test the test.
82931         Check for yet another HP-UX cc bug involving *bool |= bool.
82932
82933 2006-01-25  Karl Berry  <karl@gnu.org>
82934
82935         * config/srclist.txt (vasnprintf.c): sync lost.
82936
82937 2006-01-25  Jim Meyering  <jim@meyering.net>
82938
82939         Sync from the stable (b5) branch of coreutils:
82940
82941         * lib/fts.c (fts_children): Don't let close() clobber errno from
82942         failed fchdir().
82943
82944         * lib/fts.c (fts_stat): When following a symlink-to-directory,
82945         don't necessarily interpret stat-fails+lstat-succeeds as indicating
82946         a dangling symlink.  That can also happen at least for ELOOP.
82947         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
82948         FYI, this bug predates the inclusion of fts.c in coreutils.
82949
82950         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
82951         in their own block, so pre-c99 compilers don't object.
82952
82953         Avoid the double-free (first in fts_read, second in fts_close) that
82954         would occur when an `active' directory is made inaccessible (e.g.,
82955         via chmod a-x) during a traversal.
82956         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82957         before returning.  Reproduce this failure by
82958         mkdir -p a/b; cd a; chmod a-x . b
82959         Reported by Stavros Passas.
82960
82961 2006-01-25  Jim Meyering  <jim@meyering.net>
82962
82963         * lib/fileblocks.c: Remove more useless parentheses.
82964         * lib/readutmp.h: Likewise.
82965
82966 2006-01-25  Bruno Haible  <bruno@clisp.org>
82967
82968         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
82969         warnings.
82970         Reported by Paul Eggert.
82971
82972 2006-01-25  Bruno Haible  <bruno@clisp.org>
82973
82974         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
82975         rid of a trap command. For Solaris sh.
82976         Reported by Mark D. Baushke <mdb@gnu.org>.
82977
82978 2006-01-24  Simon Josefsson  <jas@extundo.com>
82979
82980         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
82981         Bruno.
82982
82983 2006-01-24  Karl Berry  <karl@gnu.org>
82984
82985         * config/srclist.txt (argp-namefrob.h): sync lost.
82986
82987 2006-01-24  Jim Meyering  <jim@meyering.net>
82988
82989         * modules/openat (Files): Add lib/intprops.h.
82990         From Mark D. Baushke.
82991
82992 2006-01-24  Jim Meyering  <jim@meyering.net>
82993
82994         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
82995         Reported by Mark D. Baushke.
82996
82997 2006-01-24  Jim Meyering  <jim@meyering.net>
82998
82999         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
83000
83001 2006-01-24  Bruno Haible  <bruno@clisp.org>
83002
83003         * modules/strnlen (Maintainer): Change from glibc to all.
83004
83005 2006-01-24  Bruno Haible  <bruno@clisp.org>
83006
83007         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
83008         Patch by Paul Eggert.
83009
83010 2006-01-24  Bruno Haible  <bruno@clisp.org>
83011
83012         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
83013         already has it.
83014         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
83015         2005-11-26.
83016
83017         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
83018         'signed char' to avoid problems with the built-in _Bool type.
83019         Reported by Paul Eggert on 2005-11-26.
83020
83021 2006-01-24  Bruno Haible  <bruno@clisp.org>
83022
83023         * gnulib-tool (func_import): Avoid constructing complicated sed
83024         expressions inside backquote.
83025         Report and solution by Mark D. Baushke <mdb@gnu.org>.
83026
83027 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
83028
83029         These changes imported from libc.
83030         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
83031         test and two separate function calls.
83032         * lib/strndup.c (__strndup): Add libc_hidden_def.
83033
83034 2006-01-23  Simon Josefsson  <jas@extundo.com>
83035
83036         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
83037         Remove the test_*_SOURCES variable: automake infers it by default.
83038         * modules/tls-tests: Likewise.
83039
83040 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83041
83042         Work around porting bugs reported by Dieter in
83043         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
83044         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
83045         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
83046         Include "getopt.h" first, to check interface.
83047         (getenv): Declare only if defined HAVE_DECL_GETENV &&
83048         !HAVE_DECL_GETENV.
83049         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
83050         (__strndup): Revert to K&R-style function dfns, the glibc style.
83051         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
83052         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
83053         Include strnlen.h first, to get prototype properly.
83054         (strnlen): Renamed from __strnlen.
83055         Remove weak alias.
83056
83057 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83058
83059         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
83060
83061 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83062
83063         * config/srclist.txt: Adjust to reflect glibc reorganization.
83064         This affects only comments.
83065
83066 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
83067
83068          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
83069          Reported by Bruce Korb <bkorb@gnu.org>.
83070
83071 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
83072
83073         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
83074         to pacify gcc -Wswitch-default.
83075
83076 2006-01-22  Bruno Haible  <bruno@clisp.org>
83077
83078         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
83079         temporary buffer for sprintf, take into account the precision also
83080         for 'd', 'i', 'u', 'o', 'x', 'X'.
83081
83082 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
83083
83084         * modules/argp-tests: New module
83085         * tests/test-argp.c: New file
83086         * tests/test-argp-2.sh: New file
83087
83088 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
83089
83090         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
83091         (__argp_base_name): Removed
83092         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
83093         typo.
83094         (__argp_base_name): Provide macro definition or extern declaration
83095         depending on the configuration
83096
83097 2006-01-20  Simon Josefsson  <jas@extundo.com>
83098
83099         * modules/inet_ntop (Depends-on): Depend on sys_socket.
83100
83101 2006-01-20  Simon Josefsson  <jas@extundo.com>
83102
83103         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
83104
83105 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
83106
83107         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
83108         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
83109         Suggested by Bruno Haible.
83110
83111 2006-01-20  Karl Berry  <karl@gnu.org>
83112
83113         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
83114         until changes propagate, I guess.
83115
83116 2006-01-19  Simon Josefsson  <jas@extundo.com>
83117
83118         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
83119
83120 2006-01-19  Simon Josefsson  <jas@extundo.com>
83121
83122         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
83123
83124 2006-01-19  Simon Josefsson  <jas@extundo.com>
83125
83126         * gnulib-tool: Set check_PROGRAMS.
83127
83128         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
83129         modules/des-tests, modules/gc-arcfour-tests,
83130         modules/gc-arctwo-tests, modules/gc-des-tests,
83131         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
83132         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
83133         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
83134         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
83135         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
83136         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
83137         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
83138         test_*_SOURCES.
83139
83140 2006-01-18  Simon Josefsson  <jas@extundo.com>
83141
83142         * modules/socklen (Depends-on): Depend on sys_socket.
83143
83144 2006-01-18  Simon Josefsson  <jas@extundo.com>
83145
83146         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
83147         modules/des-tests, modules/gc-arcfour-tests,
83148         modules/gc-arctwo-tests, modules/gc-des-tests,
83149         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
83150         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
83151         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
83152         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
83153         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
83154         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
83155         $(EXEEXT) to automake TESTS variable, for mingw32.
83156
83157 2006-01-17  Simon Josefsson  <jas@extundo.com>
83158
83159         * modules/socklen (Include): Need sys/socket.h.
83160
83161 2006-01-17  Bruno Haible  <bruno@clisp.org>
83162
83163         * modules/ssize_t (Include): Add <sys/types.h>.
83164
83165 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
83166
83167         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
83168         it's not portable and it doesn't work with cross-compiles.
83169         Problem reported by Bruno Haible.  Fix missing-$ typo in
83170         'test "gl_cv_ignore_unused_libraries" ...' that prevented
83171         -zignore from being used with Sun's C compiler.
83172
83173 2006-01-12  Simon Josefsson  <jas@extundo.com>
83174
83175         * lib/base64.c: Fix warning, reported by Bruno Haible
83176         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
83177
83178 2006-01-12  Bruno Haible  <bruno@clisp.org>
83179
83180         * modules/ldd: New file.
83181         * build-aux/ldd.sh.in: New file.
83182         * MODULES.html.sh (Support for building libraries and executables): Add
83183         ldd.
83184
83185 2006-01-12  Bruno Haible  <bruno@clisp.org>
83186
83187         * m4/ldd.m4: New file.
83188
83189 2006-01-12  Bruno Haible  <bruno@clisp.org>
83190
83191         * gnulib-tool (func_import, func_create_testdir): Don't go into an
83192         endless loop while replacing $auxdir with build-aux.
83193
83194 2006-01-11  Simon Josefsson  <jas@extundo.com>
83195
83196         * lib/stdint_.h (SIZE_MAX): Add missing (.
83197
83198 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
83199
83200         Sync from coreutils.
83201         * lib/md5.c: Fix commentary typos.
83202         (alignof, UNALIGNED_P): No need for a GCC-specific version.
83203         * lib/md5.h (__attribute__): Remove; unused.
83204         * lib/sha1.c: Fix commentary to match md5 better.
83205         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
83206         so that we don't need to worry about alignment.  All uses changed.
83207         This merges the 2005-10-28 md5 change into sha1.
83208
83209 2006-01-11  Jim Meyering  <jim@meyering.net>
83210
83211         Sync from coreutils.
83212         * lib/md5.c (OP): Fix spacing.
83213
83214 2006-01-11  Bruno Haible  <bruno@clisp.org>
83215
83216         Ensure automatic ordering between gl_LOCK and gl_ARGP.
83217         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
83218         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
83219
83220 2006-01-11  Bruno Haible  <bruno@clisp.org>
83221
83222         Ensure automatic ordering between gl_LOCK and gl_ARGP.
83223         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
83224         the "early" section as well.
83225
83226 2006-01-11  Bruno Haible  <bruno@clisp.org>
83227
83228         Avoid "ar: no archive members specified" error on MacOS X.
83229         * gnulib-tool (func_modules_add_dummy): New function.
83230         (func_import, func_create_testdir): Invoke it.
83231
83232 2006-01-11  Bruno Haible  <bruno@clisp.org>
83233
83234         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
83235         with $auxdir in AC_CONFIG_FILES statements.
83236
83237 2006-01-11  Bruno Haible  <bruno@clisp.org>
83238
83239         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
83240         Initialize also noinst_HEADERS to empty.
83241
83242 2006-01-11  Bruno Haible  <bruno@clisp.org>
83243
83244         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
83245         variables.
83246         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
83247         autoreconf.
83248
83249 2006-01-11  Bruno Haible  <bruno@clisp.org>
83250
83251         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
83252         overridable by the user.
83253         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83254
83255 2006-01-10  Simon Josefsson  <jas@extundo.com>
83256
83257         * modules/sys_socket: New file.
83258
83259 2006-01-10  Simon Josefsson  <jas@extundo.com>
83260
83261         * m4/sys_socket_h.m4: New file.
83262
83263 2006-01-10  Simon Josefsson  <jas@extundo.com>
83264
83265         * lib/socket_.h: New file.
83266
83267 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83268
83269         * modules/readutmp (Maintainer): Add myself.
83270
83271 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83272
83273         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
83274         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
83275         People who are still concerned with buggy memcmp implementations
83276         can invoke gl_FUNC_MEMCMP themselves.
83277
83278 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83279
83280         * lib/regex_internal.h (BITSET_WORD_BITS):
83281         Work around a bug in 64-bit PGC (before version 6.1-2), where the
83282         preprocessor mishandles large unsigned values as if they were signed.
83283         Problem reported by Claudio Fontana in
83284         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
83285
83286 2006-01-10  Jim Meyering  <jim@meyering.net>
83287
83288         Avoid the double-free (first in fts_read, second in fts_close) that
83289         would occur when an `active' directory is made inaccessible (e.g.,
83290         via chmod a-x) during a traversal.
83291         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
83292         before returning.  Reproduce this failure by
83293         mkdir -p a/b; cd a; chmod a-x . b
83294         Reported by Stavros Passas.
83295
83296         Sync from coreutils.
83297         * lib/sha1.c: Tweak grammar in a comment.
83298
83299 2006-01-10  Jim Meyering  <jim@meyering.net>
83300
83301         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
83302         Patch by Joerg Sonnenberger.
83303
83304 2006-01-10  Bruno Haible  <bruno@clisp.org>
83305
83306         * modules/readutmp: Depend on module free.
83307         * modules/strtok_r: Depend on module restrict.
83308
83309 2006-01-10  Bruno Haible  <bruno@clisp.org>
83310
83311         * modules/gettext (configure.ac): Add an invocation of
83312         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
83313
83314 2006-01-10  Bruno Haible  <bruno@clisp.org>
83315
83316         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
83317         Reported by Werner Lemberg <wl@gnu.org>.
83318
83319 2006-01-10  Bruno Haible  <bruno@clisp.org>
83320
83321         * lib/localcharset.c: Update from GNU gettext.
83322
83323 2006-01-10  Bruno Haible  <bruno@clisp.org>
83324
83325         * lib/argp.h (__const): Remove macro. Use const instead.
83326         * lib/argp-fmtstream.h (__const): Likewise.
83327         * lib/glob_.h (__const): Remove macro.
83328         * lib/glob-libc.h: Use const instead of __const.
83329
83330 2006-01-10  Bruno Haible  <bruno@clisp.org>
83331
83332         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
83333         variable.
83334         Needed to avoid an automake error regarding the 'gettext' module.
83335
83336 2006-01-09  Simon Josefsson  <jas@extundo.com>
83337
83338         * modules/inet_ntop (Depends-on): Add restrict.
83339
83340 2006-01-09  Simon Josefsson  <jas@extundo.com>
83341
83342         * modules/gc-rijndael-tests (License): Put under LGPL.
83343
83344         * modules/gc-des-tests (License): Likewise.
83345
83346         * modules/gc-arcfour-tests (License): Likewise.
83347
83348         * modules/gc-arctwo-tests (License): Likewise.
83349
83350         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
83351
83352         * modules/gc-hmac-sha1-tests (Files): Likewise.
83353
83354         * modules/gc-hmac-md5-tests (License): Likewise.
83355
83356         * modules/gc-sha1-tests (License): Likewise.
83357
83358         * modules/gc-md5-tests (License): Likewise.
83359
83360         * modules/gc-md4-tests (License): Likewise.
83361
83362         * modules/gc-md2-tests (License): Likewise.
83363
83364         * modules/gc-tests (License): Likewise.
83365
83366         * modules/des-tests (License): Likewise.
83367
83368         * modules/md4-tests (License): Likewise.
83369
83370         * modules/md2-tests (License): Likewise.
83371
83372 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83373
83374         Sync from coreutils:
83375
83376         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
83377         * modules/lib-ignore: New file.
83378         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
83379         chdir-safer.m4, lchmod.m4.
83380         * modules/openat: Add mkdirat.c, openat-priv.h.
83381
83382 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83383
83384         Sync from coreutils.
83385         * m4/lib-ignore.m4: New file.
83386         * m4/lchmod.m4: New file.
83387
83388 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83389
83390         Sync from coreutils.
83391         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
83392         for write access: POSIX says that must fail.
83393         * lib/fts.c (diropen): Likewise.
83394         * lib/save-cwd.c (save_cwd): Likewise.
83395         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
83396         well, for minor improvements on hosts that lack O_DIRECTORY.
83397         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
83398         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
83399         Fall back on chown if open failed with EACCES.
83400
83401         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
83402         Report an error at compile-time if only a 1-second nominal clock
83403         resolution is found.
83404
83405         * lib/lchmod.h: New file.
83406         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
83407         (make_dir_parents): Use lchown rather than chown, and
83408         lchmod rather than chmod.
83409
83410         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
83411         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
83412         "proc" reported by n0dalus.
83413
83414         * lib/mountlist.c: Include <limits.h>.
83415         (dev_from_mount_options)
83416         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
83417         New function.  It no longer assumes "dev=" has the System V meaning
83418         on Linux (since it doesn't).  It also parses "dev=" more carefully.
83419         (read_file_system_list)
83420         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
83421         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
83422         dev= in that case.
83423
83424         * lib/posixtm.h (PDS_PRE_2000): New macro.
83425         * lib/posixtm.c (year): Arg is now syntax_bits rather than
83426         allow_century.  All usages changed.  Reject dates outside the range
83427         1969-1999 if PDS_PRE_2000 is used.
83428
83429 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83430
83431         Sync from coreutils.
83432         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
83433         (Time of day items): Mention the possibility of leap seconds.
83434         Problem reported by Dr. David Alan Gilbert.
83435
83436 2006-01-09  Jim Meyering  <jim@meyering.net>
83437
83438         Sync from coreutils.
83439
83440         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
83441
83442         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
83443
83444         * lib/modechange.c (mode_compile): Reject an invalid mode string
83445         that starts with an octal digit.  From Andreas Gruenbacher.
83446
83447         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
83448         and dup to open_safer and dup_safer, respectively.
83449         (openat_permissive): Fix typo in comment.
83450
83451         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
83452         "gettext.h"; either no longer needed or are guaranteed by openat.h.
83453         (_): Remove; no longer needed.
83454         (openat): Renamed from rpl_openat; no need for rpl_openat
83455         since openat.h renames openat for us.
83456         Replace most of the body with a call to openat_permissive,
83457         to avoid duplicate code.
83458         Port to (probably hypothetical) environments were mode_t is
83459         wider than int.
83460         (openat_permissive): Require mode arg, so that we can check
83461         types better.  Put it just after flags.  Change cwd failure
83462         indicator from pointer-to-bool to pointer-to-errno-value.
83463         All callers changed.
83464         Invoke openat_save_fail and/or openat_restore_fail if
83465         cwd_errno is null, so that openat can call us.
83466         (openat_permissive, fdopendir, fstatat, unlinkat):
83467         Simplify errno handling to avoid some duplicate code,
83468         as it's OK to set errno on success.
83469         * lib/openat.h: Revamp code so that function macros depend on
83470         __OPENAT_PREFIX only, not also on AT_FDCWD.
83471         (openat_ro): Remove.  Caller changed to use openat_permissive.
83472         (openat_permissive): Now a macro, if not a function.
83473         (openat_restore_fail, openat_save_fail): Now always functions,
83474         since mkdirat needs them even if __OPENAT_PREFIX is defined.
83475
83476         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
83477         and openat.c.
83478         * lib/mkdirat.c: Include openat-priv.h.
83479         Remove definitions of macros defined therein.
83480         * lib/openat.c: Likewise.
83481
83482         * lib/mkdirat.c (mkdirat): New file and function.
83483         * lib/openat.h (mkdirat): Declare.
83484
83485         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
83486
83487         * lib/openat.h (openat_permissive): Declare.
83488         (openat_ro): Define.
83489
83490         * lib/openat.c (EXPECTED_ERRNO): New macro.
83491         (openat_permissive): New function -- used in remove.c rewrite.
83492         (all functions): Set errno just before returning, only if there
83493         was an actual failure.
83494         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
83495
83496         Emulate openat-family functions using Linux's procfs, if possible.
83497         Idea and some code based on Ulrich Drepper's glibc changes.
83498
83499         * lib/openat.c: (BUILD_PROC_NAME): New macro.
83500         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
83501         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
83502         before falling back on save_cwd and restore_cwd.
83503         (fdopendir, fstatat, unlinkat): Likewise.
83504
83505         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
83506         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
83507
83508         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
83509         as second argument to va_arg.  Otherwise, some versions of gcc
83510         warn that `if this code is reached, the program will abort'.
83511
83512 2006-01-09  Jim Meyering  <jim@meyering.net>
83513
83514         Sync from coreutils.
83515         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
83516         Require openat-priv.h.
83517
83518 2006-01-09  Bruno Haible  <bruno@clisp.org>
83519
83520         * modules/strnlen (Include): Use strnlen.h.
83521
83522 2006-01-09  Bruno Haible  <bruno@clisp.org>
83523
83524         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
83525
83526 2006-01-09  Bruno Haible  <bruno@clisp.org>
83527
83528         * lib/sysexit_.h (EX_OK): New macro.
83529         Suggested by Martin Lambers <marlam@marlam.de>.
83530
83531 2006-01-09  Bruno Haible  <bruno@clisp.org>
83532
83533         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
83534         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
83535
83536 2006-01-09  Bruno Haible  <bruno@clisp.org>
83537
83538         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
83539         numbers.
83540
83541 2006-01-09  Bruno Haible  <bruno@clisp.org>
83542
83543         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
83544         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
83545         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
83546         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
83547
83548 2006-01-09  Bruno Haible  <bruno@clisp.org>
83549
83550         * build-aux/javacomp.sh.in: New file, moved from lib/.
83551         * modules/javacomp-script (Files): Update.
83552         (configure.ac): Add AC_CONFIG_FILES invocation.
83553         (EXTRA_DIST): Remove variable.
83554
83555         * build-aux/javaexec.sh.in: New file, moved from lib/.
83556         * modules/javaexec (Files): Update.
83557         (configure.ac): Add AC_CONFIG_FILES invocation.
83558         (EXTRA_DIST): Remove javaexec.sh.in.
83559
83560         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
83561         * modules/csharpcomp-script (Files): Update.
83562         (configure.ac): Add AC_CONFIG_FILES invocation.
83563         (EXTRA_DIST): Remove variable.
83564
83565         * build-aux/csharpexec.sh.in: New file, moved from lib/.
83566         * modules/csharpexec (Files): Update.
83567         (configure.ac): Add AC_CONFIG_FILES invocation.
83568         (EXTRA_DIST): Remove csharpexec.sh.in.
83569
83570 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83571
83572         Sync from coreutils.
83573
83574         Add POSIX ACL support
83575         * lib/acl.h (copy_acl, set_acl): Add declarations.
83576         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
83577         systems other than Linux.
83578         (chmod_or_fchmod): New function: use fchmod when possible,
83579         and chmod otherwise.
83580         (file_has_acl): Add a POSIX ACL implementation, with a
83581         Linux-specific subcase.
83582         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
83583         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
83584         acls are unsupported.
83585         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
83586         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
83587         are unsupported.
83588
83589 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83590
83591         Sync from coreutils.
83592         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
83593
83594 2006-01-07  Bruno Haible  <bruno@clisp.org>
83595
83596         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
83597         gl_EARLY.
83598
83599 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83600
83601         * lib/strftime.c (tzname): Don't declare if it is already #defined.
83602         Problem reported for Mingw by Mark Junker.
83603
83604 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83605
83606         * README: Gnulib normally doesn't generate a tarball.
83607
83608 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
83609
83610         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
83611         long int, not int, for nanosecond counts, so that people who are
83612         used to POSIX struct timespec won't be surprised.  Reported by Jim
83613         Meyering.
83614
83615 2005-12-28  Bruno Haible  <bruno@clisp.org>
83616
83617         * build-aux/config.rpath: Update from GNU gettext.
83618
83619 2005-12-16  Jim Meyering  <jim@meyering.net>
83620
83621         * modules/fprintftime: New module.
83622         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
83623
83624 2005-12-16  Jim Meyering  <jim@meyering.net>
83625
83626         * m4/fprintftime.m4: New file.
83627
83628 2005-12-16  Jim Meyering  <jim@meyering.net>
83629
83630         * lib/fprintftime.c, lib/fprintftime.h: New files.
83631
83632 2005-12-15  Simon Josefsson  <jas@extundo.com>
83633
83634         * modules/socklen (configure.ac): Fix M4 macro name, to align with
83635         new m4/socklen.m4.
83636
83637 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83638
83639         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
83640         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
83641
83642 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83643
83644         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
83645         * lib/argp-help.c (fill_in_uparams): Check if the constructed
83646         struct uparams is valid. Fall back to the default values if it is
83647         not.
83648
83649 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83650
83651         * modules/argp (Files): Add argp-pin.c
83652         (Depends-on): dirname
83653         (lib_SOURCES): Add argp-pin.c
83654
83655 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83656
83657         * m4/argp.m4:  Check if program_invocation_name and
83658         program_invocation_short_name are declared and define appropriate
83659         macros if they are not.
83660
83661 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83662
83663         * lib/argp-help.c (__argp_base_name): New function
83664         (__argp_short_program_name): Rewrite using __argp_base_name
83665         * lib/argp-namefrob.h: Define program_invocation_name and
83666         program_invocation_short_name if requested
83667         (__argp_base_name): Add prototype
83668         * lib/argp-parse.c (argp_def): Use gettext wrappers
83669         (argp_default_parser): Use __argp_base_name
83670         * lib/argp-pin.c: New file. Defines program_invocation_name and
83671         program_invocation_short_name on systems that lack them.
83672
83673 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83674
83675         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
83676         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83677         porting problem reported by Georg Schwarz in
83678         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83679
83680 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83681
83682         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
83683         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83684         porting problem reported by Georg Schwarz in
83685         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83686
83687 2005-12-05  Bruno Haible  <bruno@clisp.org>
83688
83689         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
83690         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
83691         Reported by Mark Junker <mjscod@gmx.de>.
83692
83693 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
83694
83695         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
83696         Use implementation from Albert Chin, with some
83697         comments/corrections by Stepan Kasal and myself.
83698
83699 2005-12-02  Bruno Haible  <bruno@clisp.org>
83700
83701         * gnulib-tool (func_import): Accept GPLed build tool modules when
83702         --lgpl is given.
83703         * modules/csharpcomp-script: New file.
83704         * modules/csharpcomp: Depend on it.
83705         * modules/javacomp-script: New file.
83706         * modules/javacomp: Depend on it.
83707         Suggested by Simon Josefsson.
83708
83709 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
83710
83711         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
83712         statement, to work around an HP-UX 10.20 compiler bug reported by
83713         Peter O'Gorman.
83714
83715 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83716
83717         * modules/savedir (Depends-on): Add openat.
83718
83719 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83720
83721         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
83722         (uintmax_t) [defined uintmax_t]: Do not declare.
83723         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
83724         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
83725         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
83726         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
83727         sake of portability to weird hosts that C allows (though we don't
83728         know of any practical examples).
83729
83730         * lib/savedir.h (fdsavedir): New decl.
83731         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
83732         contains most of the former guts of savedir.
83733         (savedir): Use savedirstream.
83734         Include "openat.h".
83735
83736 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83737
83738         * modules/obstack (Files): Add m4/ulonglong.m4.
83739         Problem reported by Davide Angelocola.
83740
83741 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
83742
83743         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
83744         coreutils no longer futzes with rounding modes.
83745
83746 2005-11-14  Jim Meyering  <jim@meyering.net>
83747
83748         * lib/mkstemp-safer.c: Include <config.h>, required for possible
83749         replacement of mkstemp.
83750
83751 2005-11-10  Simon Josefsson  <jas@extundo.com>
83752
83753         * lib/readline.c: Remove EOL.
83754
83755 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83756
83757         * modules/gethrxtime (Depends-on): Add gettime.
83758
83759 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83760
83761         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
83762         or gettimeofday; no longer needed.
83763
83764 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83765
83766         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
83767         time business.
83768         (gethrxtime) [! (HAVE_NANOUPTIME
83769         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
83770         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
83771         our own approximation.
83772
83773 2005-11-08  Eric Blake  <ebb9@byu.net>
83774
83775         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83776
83777 2005-11-08  Eric Blake  <ebb9@byu.net>
83778
83779         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83780
83781 2005-11-04  Bruno Haible  <bruno@clisp.org>
83782
83783         * gnulib-tool: Implement --update mode.
83784
83785 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83786
83787         Fix porting problem reported by Theodoros V. Kalamatianos.
83788         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
83789         Don't assume that futimes failing means we must fail.
83790
83791 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83792
83793         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
83794         variables to suggest the intended function of the PATH_MAX check.
83795
83796 2005-10-30  Kean Johnston  <jkj@sco.com>
83797
83798         Trivial changes to support SCO systems.
83799         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
83800         as PATH_MAX.
83801         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
83802         where __ptr is null when no I/O is pending.
83803
83804 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83805
83806         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
83807         leave errno alone.  Problem reported by Dmitry V. Levin.
83808
83809 2005-10-28  Simon Josefsson  <jas@extundo.com>
83810
83811         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
83812         Test more.
83813
83814         * tests/test-gc-md2.c, tests/test-md2.c: New files.
83815
83816         * modules/md2, modules/md2-tests: New files.
83817
83818 2005-10-28  Simon Josefsson  <jas@extundo.com>
83819
83820         * m4/inet_ntop.m4: More tests.
83821
83822         * m4/gc-md2.m4, md2.m4: New file.
83823
83824 2005-10-28  Simon Josefsson  <jas@extundo.com>
83825
83826         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
83827         "restrict" keywords, as per POSIX.  Protect the function
83828         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
83829         Don't use K&R prototypes.  Check the sprintf return values.
83830         Re-define EAFNOSUPPORT if not present.  Indent.
83831
83832         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
83833         suggested by Bruno Haible <bruno@clisp.org>.
83834
83835         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
83836
83837         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
83838
83839         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
83840         libgcrypt).
83841
83842         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
83843
83844         * lib/md2.h, lib/md2.c: New files.
83845
83846 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
83847
83848         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
83849         errno alone.  Problem reported by Frederic Jolliton.
83850
83851 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
83852
83853         * modules/verify (License): Change from GPL to LGPL.  This is a
83854         tiny module and there are apparently near-equivalents that are
83855         under the BSD license.
83856
83857 2005-10-24  Simon Josefsson  <jas@extundo.com>
83858
83859         * modules/sha1: Relicense to LGPL.
83860
83861 2005-10-24  Simon Josefsson  <jas@extundo.com>
83862
83863         * lib/md4.h: Shrink buffer size, now that we changed the type.
83864
83865 2005-10-23  Simon Josefsson  <jas@extundo.com>
83866
83867         * gnulib-tool (func_import): Fix --tests-base.
83868
83869 2005-10-22  Simon Josefsson  <jas@extundo.com>
83870
83871         * modules/arcfour (Depends-on): Need stdint.
83872
83873 2005-10-22  Simon Josefsson  <jas@extundo.com>
83874
83875         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
83876         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
83877
83878 2005-10-22  Simon Josefsson  <jas@extundo.com>
83879
83880         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
83881         suggested by Bruno Haible <bruno@clisp.org>.
83882
83883 2005-10-22  Simon Josefsson  <jas@extundo.com>
83884
83885         * lib/crc.h: Include stddef.h, for size_t.
83886
83887 2005-10-22  Simon Josefsson  <jas@extundo.com>
83888
83889         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
83890         arcfour_context struct (simplify test vector testing in GNU
83891         Shishi).
83892
83893 2005-10-21  Simon Josefsson  <jas@extundo.com>
83894
83895         * modules/des, modules/des-tests: New files.
83896
83897         * modules/gc-des, modules/gc-des-tests: New files.
83898
83899         * tests/test-des.c, tests/test-gc-des.c: New file.
83900
83901 2005-10-21  Simon Josefsson  <jas@extundo.com>
83902
83903         * modules/arctwo, modules/arctwo-tests: New files.
83904
83905         * tests/test-arctwo.c: New file.
83906
83907         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
83908
83909         * tests/test-gc-arctwo.c: New file.
83910
83911 2005-10-21  Simon Josefsson  <jas@extundo.com>
83912
83913         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
83914         Bruno Haible <bruno@clisp.org>.
83915
83916         * m4/gc-des.m4: New file.
83917
83918 2005-10-21  Simon Josefsson  <jas@extundo.com>
83919
83920         * m4/arctwo.m4: New file.
83921
83922         * m4/gc-arctwo.m4: New file.
83923
83924 2005-10-21  Simon Josefsson  <jas@extundo.com>
83925
83926         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
83927         block.
83928
83929 2005-10-21  Simon Josefsson  <jas@extundo.com>
83930
83931         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
83932         <bruno@clisp.org>.
83933
83934         * lib/hmac-sha1.c (hmac_sha1): Likewise.
83935
83936         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
83937         Bruno Haible <bruno@clisp.org>.
83938
83939         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
83940         <bruno@clisp.org>.
83941
83942 2005-10-21  Simon Josefsson  <jas@extundo.com>
83943
83944         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
83945
83946 2005-10-21  Simon Josefsson  <jas@extundo.com>
83947
83948         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
83949
83950 2005-10-21  Simon Josefsson  <jas@extundo.com>
83951
83952         * lib/des.h, lib/des.c: New files.
83953
83954         * lib/gc-gnulib.c: Support DES.c
83955
83956 2005-10-21  Simon Josefsson  <jas@extundo.com>
83957
83958         * lib/arctwo.h, lib/arctwo.c: New files.
83959
83960         * lib/gc-gnulib.c: Support ARCTWO.
83961
83962 2005-10-21  Simon Josefsson  <jas@extundo.com>
83963
83964         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
83965         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83966
83967 2005-10-21  Simon Josefsson  <jas@extundo.com>
83968
83969         * gnulib-tool (func_import, func_create_testdir): Define automake
83970         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
83971         Makefile.am snippet),
83972         suggested by Bruno Haible <bruno@clisp.org>.
83973
83974         * modules/gc (Makefile.am): Use it.
83975
83976 2005-10-21  Bruno Haible  <bruno@clisp.org>
83977
83978         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
83979         patch.
83980
83981 2005-10-19  Simon Josefsson  <jas@extundo.com>
83982
83983         * tests/test-gc-rijndael.c: New file.
83984
83985         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
83986
83987 2005-10-19  Simon Josefsson  <jas@extundo.com>
83988
83989         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
83990         interface too.
83991
83992 2005-10-19  Simon Josefsson  <jas@extundo.com>
83993
83994         * tests/test-gc-arcfour.c: New file.
83995
83996         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
83997
83998 2005-10-19  Simon Josefsson  <jas@extundo.com>
83999
84000         * modules/gc-md4, modules/gc-md4-tests: New file.
84001
84002         * tests/test-gc-md4.c: New file.
84003
84004 2005-10-19  Simon Josefsson  <jas@extundo.com>
84005
84006         * m4/gc-md4.m4: New file.
84007
84008 2005-10-19  Simon Josefsson  <jas@extundo.com>
84009
84010         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
84011         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
84012         <kasal@ucw.cz>.
84013
84014 2005-10-19  Simon Josefsson  <jas@extundo.com>
84015
84016         * m4/gc-arcfour.m4: New file.
84017
84018         * m4/gc-rijndael.m4: New file.
84019
84020 2005-10-19  Simon Josefsson  <jas@extundo.com>
84021
84022         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
84023
84024 2005-10-19  Simon Josefsson  <jas@extundo.com>
84025
84026         * lib/gc-gnulib.c: Support ARCFOUR.
84027
84028 2005-10-19  Simon Josefsson  <jas@extundo.com>
84029
84030         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
84031         support.
84032
84033         * lib/gc.h: Add ECB enum type.
84034
84035         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
84036
84037 2005-10-18  Simon Josefsson  <jas@extundo.com>
84038
84039         * tests/test-md5.c: New file.
84040
84041         * modules/md5-tests: New file.
84042
84043 2005-10-18  Simon Josefsson  <jas@extundo.com>
84044
84045         * tests/test-md4.c: New file.
84046
84047         * modules/md4, modules/md4-tests: New files.
84048
84049 2005-10-18  Simon Josefsson  <jas@extundo.com>
84050
84051         * m4/md4.m4: New file.
84052
84053 2005-10-18  Simon Josefsson  <jas@extundo.com>
84054
84055         * lib/md4.h, lib/md4.c: New files, based on md5.?.
84056
84057 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
84058
84059         * gnulib-tool (func_create_testdir): Omit the second check whether
84060         BUILT_SOURCES in nonempty.
84061
84062 2005-10-17  Simon Josefsson  <jas@extundo.com>
84063
84064         * tests/test-rijndael.c: New file.
84065
84066 2005-10-17  Simon Josefsson  <jas@extundo.com>
84067
84068         * modules/sha1: Depend on stdint instead of md5.
84069
84070         * modules/md5: Depend on stdint, remove uint32_t.
84071
84072 2005-10-17  Simon Josefsson  <jas@extundo.com>
84073
84074         * modules/gc-sha1-tests: New file.
84075
84076         * tests/test-gc-sha1.c: New file.
84077
84078 2005-10-17  Simon Josefsson  <jas@extundo.com>
84079
84080         * m4/md5.m4: Remove call to uint32_t.m4.
84081
84082 2005-10-17  Simon Josefsson  <jas@extundo.com>
84083
84084         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
84085
84086         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
84087         md5.h.
84088
84089         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
84090
84091         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
84092
84093 2005-10-17  Simon Josefsson  <jas@extundo.com>
84094
84095         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
84096
84097 2005-10-17  Simon Josefsson  <jas@extundo.com>
84098
84099         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
84100
84101 2005-10-17  Simon Josefsson  <jas@extundo.com>
84102
84103         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
84104
84105         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
84106
84107 2005-10-17  Bruno Haible  <bruno@clisp.org>
84108
84109         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
84110         that it can also be used in a test.
84111
84112 2005-10-16  Bruno Haible  <bruno@clisp.org>
84113
84114         * gnulib-tool (func_emit_tests_Makefile_am): Also define
84115         TESTS_ENVIRONMENT, so that individual tests can augment it.
84116
84117         * gnulib-tool (func_create_testdir): Use an intermediate target for
84118         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
84119         macros, like $(ALLOCA_H), which cannot be passed through the command
84120         line.
84121
84122 2005-10-15  Simon Josefsson  <jas@extundo.com>
84123
84124         * modules/rijndael-tests: New file.
84125
84126         * modules/rijndael: New file.
84127
84128 2005-10-15  Simon Josefsson  <jas@extundo.com>
84129
84130         * m4/rijndael.m4: New file.
84131
84132 2005-10-15  Simon Josefsson  <jas@extundo.com>
84133
84134         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
84135
84136         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
84137
84138 2005-10-14  Simon Josefsson  <jas@extundo.com>
84139
84140         * tests/test-arcfour.c: New file.
84141
84142         * modules/arcfour, modules/arcfour-tests: New files.
84143
84144 2005-10-14  Simon Josefsson  <jas@extundo.com>
84145
84146         * m4/arcfour.m4: New file.
84147
84148 2005-10-14  Simon Josefsson  <jas@extundo.com>
84149
84150         * lib/arcfour.h, lib/arcfour.c: New files.
84151
84152 2005-10-14  Roland McGrath  <roland@redhat.com>
84153
84154         Import from libc.  [BZ #1331]
84155         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
84156         macro argument.
84157         Reported by Matej Vela <vela@debian.org>.
84158
84159 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
84160
84161         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
84162         include <wchar.h>; no longer needed.
84163
84164 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
84165
84166         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
84167
84168 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
84169         and  Ulrich Drepper  <drepper@redhat.com>
84170
84171         Import from libc.
84172         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
84173         instead of inline stream orientation test and two separate
84174         function calls.  Pay no attention to USE_IN_LIBIO.
84175
84176 2005-10-13  Simon Josefsson  <jas@extundo.com>
84177
84178         * modules/gc-hmac-md5-tests: New file.
84179
84180         * tests/test-gc-hmac-sha1.c: New file.
84181
84182         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
84183
84184         * modules/gc-hmac-md5-tests: New file.
84185
84186         * tests/test-gc-md5.c: New file.
84187
84188         * modules/gc-md5-tests: New file.
84189
84190 2005-10-13  Simon Josefsson  <jas@extundo.com>
84191
84192         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
84193         Move memory allocation outside of loop.
84194
84195 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
84196
84197         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
84198         intermediate directory is in a read-only file system.  Problem
84199         reported by Eric Blake.
84200
84201 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
84202
84203         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
84204
84205 2005-10-12  Simon Josefsson  <jas@extundo.com>
84206
84207         * tests/test-hmac-sha1.c: New file.
84208
84209         * modules/hmac-sha1-tests: New file.
84210
84211         * modules/hmac-sha1: New file.
84212
84213 2005-10-12  Simon Josefsson  <jas@extundo.com>
84214
84215         * modules/gc-sha1: New file.
84216
84217 2005-10-12  Simon Josefsson  <jas@extundo.com>
84218
84219         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
84220
84221         * tests/test-gc-pbkdf2-sha1.c: New file.
84222
84223 2005-10-12  Simon Josefsson  <jas@extundo.com>
84224
84225         * modules/gc-md5, modules/gc-hmac-md5: New files.
84226
84227         * modules/gc (Files): Remove md5, memxor and hmac files.
84228
84229 2005-10-12  Simon Josefsson  <jas@extundo.com>
84230
84231         * m4/gc-pbkdf2-sha1.m4: New file.
84232
84233         * m4/gc-hmac-sha1.m4: New file.
84234
84235         * m4/gc-sha1: New file.
84236
84237         * m4/hmac-sha1.m4: New file.
84238
84239 2005-10-12  Simon Josefsson  <jas@extundo.com>
84240
84241         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
84242
84243         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
84244
84245 2005-10-12  Simon Josefsson  <jas@extundo.com>
84246
84247         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
84248         suggested by Bruno Haible <bruno@clisp.org>.
84249
84250 2005-10-12  Simon Josefsson  <jas@extundo.com>
84251
84252         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
84253
84254 2005-10-12  Simon Josefsson  <jas@extundo.com>
84255
84256         * lib/gc-pbkdf2-sha1.c: New file.
84257
84258         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
84259
84260 2005-10-12  Simon Josefsson  <jas@extundo.com>
84261
84262         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
84263
84264         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
84265
84266 2005-10-12  Simon Josefsson  <jas@extundo.com>
84267
84268         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
84269         GC_USE_HMAC_MD5, respectively.
84270
84271         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
84272         (gc_md5): Fix typo.
84273
84274         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
84275
84276         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
84277
84278         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
84279
84280 2005-10-12  Bruno Haible  <bruno@clisp.org>
84281
84282         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
84283         Reported by Stepan Kasal <kasal@ucw.cz>.
84284
84285 2005-10-11  Simon Josefsson  <jas@extundo.com>
84286
84287         * tests/test-crc.c: New file.
84288
84289         * modules/crc, modules/crc-tests: New files.
84290
84291 2005-10-11  Simon Josefsson  <jas@extundo.com>
84292
84293         * m4/crc.m4: New file.
84294
84295 2005-10-11  Simon Josefsson  <jas@extundo.com>
84296
84297         * lib/gc.h: Add gc_hash and gc_hash_buffer.
84298
84299         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
84300
84301         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
84302
84303 2005-10-11  Simon Josefsson  <jas@extundo.com>
84304
84305         * lib/crc.h, lib/crc.c: New files.
84306
84307         * lib/gc.h (gc_hash_buffer): Add doc.
84308
84309 2005-10-11  Bruno Haible  <bruno@clisp.org>
84310
84311         * modules/c-strcasestr: New file.
84312         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
84313
84314 2005-10-11  Bruno Haible  <bruno@clisp.org>
84315
84316         * modules/c-strcase: New file.
84317         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
84318
84319 2005-10-11  Bruno Haible  <bruno@clisp.org>
84320
84321         * lib/strcasecmp.c: Include limits.h.
84322         (strcasecmp): Avoid integer overflow on exotic platforms.
84323         * lib/strncasecmp.c: Include limits.h.
84324         (strncasecmp): Avoid integer overflow on exotic platforms.
84325         Reported by Paul Eggert.
84326
84327 2005-10-11  Bruno Haible  <bruno@clisp.org>
84328
84329         * lib/c-strcasestr.h: New file, from GNU gettext.
84330         * lib/c-strcasestr.c: New file, from GNU gettext.
84331
84332 2005-10-11  Bruno Haible  <bruno@clisp.org>
84333
84334         * lib/c-strcase.h: New file, from GNU gettext.
84335         * lib/c-strcasecmp.c: New file, from GNU gettext.
84336         * lib/c-strncasecmp.c: New file, from GNU gettext.
84337
84338 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
84339
84340         * modules/mempcpy (License): GPL -> LGPL.
84341         * modules/strchrnul (License): Likewise.
84342         * modules/sysexits (License): Likewise.
84343
84344 2005-10-08  Simon Josefsson  <jas@extundo.com>
84345
84346         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
84347
84348 2005-10-07  Simon Josefsson  <jas@extundo.com>
84349
84350         * m4/memxor.m4: Remove gl_C_RESTRICT call.
84351
84352 2005-10-06  Simon Josefsson  <jas@extundo.com>
84353
84354         * tests/test-hmac-md5.c: New file.
84355
84356         * modules/hmac-md5-tests: New file.
84357
84358         * modules/hmac-md5: New file.
84359
84360 2005-10-06  Simon Josefsson  <jas@extundo.com>
84361
84362         * m4/hmac-md5.m4: New file.
84363
84364         * m4/memxor.m4: Require gl_C_RESTRICT.
84365
84366 2005-10-06  Simon Josefsson  <jas@extundo.com>
84367
84368         * lib/memxor.c (memxor): Avoid casts and warnings.
84369
84370 2005-10-06  Simon Josefsson  <jas@extundo.com>
84371
84372         * lib/hmac-md5.c: New file.
84373
84374         * lib/hmac.h: New file.
84375
84376 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
84377
84378         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
84379         promotes to int, not unsigned int, to catch the AIX 5.3
84380         compiler bug.
84381
84382 2005-10-05  Simon Josefsson  <jas@extundo.com>
84383
84384         * modules/memxor: New file.
84385
84386         * modules/iconv (Files): Move config.rpath to havelib, it is used
84387         there.
84388
84389         * modules/havelib (Files): Add config.rpath.
84390
84391 2005-10-05  Simon Josefsson  <jas@extundo.com>
84392
84393         * m4/memxor.m4: New file.
84394
84395 2005-10-05  Simon Josefsson  <jas@extundo.com>
84396
84397         * lib/memxor.c (memxor): Fix compiler error.
84398
84399         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
84400         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
84401
84402         * lib/memxor.h, lib/memxor.c: New files.
84403
84404         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
84405         we assume all systems have it, suggested by Jim Meyering
84406         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
84407         any systems lack sys/socket.h; mingw32 is known to lack it, but we
84408         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
84409         same reasons.
84410
84411 2005-10-05  Simon Josefsson  <jas@extundo.com>
84412
84413         * config/srclist.txt: Add glibc bug 1423 for md5.h.
84414
84415 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
84416
84417         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
84418         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
84419         needed, since the source code now assumes these .h files.
84420
84421 2005-10-05  Derek Price  <derek@ximbiot.com>
84422
84423         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
84424
84425 2005-10-05  Bruno Haible  <bruno@clisp.org>
84426
84427         * modules/stdint (License): Change to LGPL.
84428
84429 2005-10-04  Simon Josefsson  <jas@extundo.com>
84430
84431         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
84432         D. Baushke" <mdb@gnu.org>.
84433
84434 2005-10-04  Bruno Haible  <bruno@clisp.org>
84435
84436         * lib/verify.h (verify_true): Provide alternative definition for C++.
84437
84438 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
84439
84440         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
84441         (SSIZE_MAX): New macro, if not already defined.
84442         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
84443         than 2 GiB.
84444
84445 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84446
84447         Sync from coreutils.
84448         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
84449         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
84450         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
84451         ULLONG_MAX doesn't work with 2.7.2.1.
84452
84453 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84454
84455         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
84456         From Ben Pfaff.
84457
84458         * modules/exclude (Depends-on): Depend on verify.
84459         * modules/strtoimax (Depends-on): Likewise.
84460         * modules/utimecmp (Depends-on): Likewise.
84461
84462 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84463
84464         * lib/exclude.c: Include verify.h.
84465         (verify): Remove.  All callers changed to use verify.h's version.
84466         * lib/strtoimax.c: Likewise.
84467         * lib/utimecmp.c: Likewis.e
84468
84469         Sync from coreutils.
84470         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
84471         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
84472         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
84473         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
84474         bother returning ENOSYS if settimeofday or stime fails; just let
84475         them return whatever errno they want to return.
84476         * lib/utimens.c: Include unistd.h, for dup2.
84477         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
84478         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
84479
84480 2005-10-02  Jim Meyering  <jim@meyering.net>
84481
84482         Sync from coreutils.
84483         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
84484         from glibc-2.2.5 that fails for read-only files.
84485
84486 2005-10-02  Jim Meyering  <jim@meyering.net>
84487
84488         Sync from coreutils.
84489         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
84490         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
84491         `#if HAVE_CONFIG_H'.
84492         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
84493         Remove AT_FDCWD test.
84494         Do not consume the fd unless successful.
84495         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
84496         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
84497         block, so that we don't even try to compile it if settimeofday is
84498         available.  This works around a compilation failure on OSF1 V5.1,
84499         due to stime requiring a `long int*' while tv_sec is `int'.
84500
84501 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
84502
84503         Sync from coreutils.
84504         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
84505         against `yes', rather than just testing for nonempty.
84506
84507 2005-10-01  Simon Josefsson  <jas@extundo.com>
84508
84509         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
84510         and Darwin.
84511
84512         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
84513         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
84514         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
84515         freeaddrinfo and gai_strerror are declared by the POSIX headers.
84516         Check if struct addrinfo is declared.
84517
84518 2005-10-01  Simon Josefsson  <jas@extundo.com>
84519
84520         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
84521         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
84522         AI_* and EAI_* definitions.  Protect function declarations.
84523
84524 2005-10-01  Jim Meyering  <jim@meyering.net>
84525
84526         Sync from coreutils.
84527
84528         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
84529         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
84530         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
84531         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84532         in the inet and nsl libraries.  Required on Solaris 5.7.
84533
84534 2005-10-01  Jim Meyering  <jim@meyering.net>
84535
84536         Sync from coreutils.
84537         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84538         in the inet and nsl libraries.  Required on Solaris 5.7.
84539
84540 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
84541
84542         * lib/getdelim.c (getdelim): Remove unused variables.
84543
84544 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
84545
84546         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
84547         so that the code works even with ancient cpp.  Portability problem
84548         with GCC 2.7.2.1 reported by Thomas M.Ott.
84549
84550 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
84551
84552         * modules/regex (Depends-on): Add strcase.
84553
84554         * modules/gethostname (Licence): Change from GPL to LGPL, since
84555         gethostname.c is a trivial implementation of a standard library
84556         function.
84557         * modules/poll (License): Change from GPL to LGPL, since it's
84558         derived from LGPL code.
84559
84560 2005-09-27  Jim Meyering  <jim@meyering.net>
84561
84562         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
84563         HAVE_CONFIG_H.
84564
84565         * lib/intprops.h (signed_type_or_expr__): Define.
84566         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
84567         for unsigned types.
84568
84569 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
84570
84571         * lib/verify.h (verify_expr): Remove, replacing with:
84572         (verify_true): New macro that returns true instead of void.
84573         (verify_type__): Remove.
84574         (verify): Use verify_true rather than verify_type__.
84575
84576 2005-09-26  Bruno Haible  <bruno@clisp.org>
84577
84578         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
84579         is necessary.
84580         (lib_SOURCES): Remove mbchar.c.
84581         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
84582         (Files): Add m4/mbrtowc.m4.
84583         * modules/mbiter: Likewise.
84584         * modules/mbuiter: Likewise.
84585
84586 2005-09-26  Bruno Haible  <bruno@clisp.org>
84587
84588         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
84589         compile mbchar.c if they are not both present.
84590         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
84591         * m4/mbiter.m4 (gl_MBITER): Likewise.
84592         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
84593         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
84594         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
84595
84596 2005-09-25  Jim Meyering  <jim@meyering.net>
84597
84598         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
84599         also uses socklen_t.
84600
84601 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
84602
84603         * lib/utimens.c (ENOSYS): Define if not already defined.
84604         (futimens): Support having a null PATH if the file descriptor
84605         is nonnegative.
84606
84607         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
84608         Remove.
84609         (__attribute): Define to empty unless GCC 3.1 or later.
84610         This works around a core dump on OpenBSD 3.4, which has GCC
84611         2.95.3, which dumps core when given __attribute__(()).  It also
84612         simplifies other tests, since we really don't want to bother with
84613         worrying about which ancient version of GCC supported what.
84614         Original problem reported by Yoann Vandoorselaere, with part of
84615         the fix suggested by Derek Price.
84616
84617 2005-09-24  Jim Meyering  <jim@meyering.net>
84618
84619         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
84620         so we can once again use a positive bitfield width of 1 -- now we
84621         don't have to explain why we were using a bitfield width of 2.
84622
84623 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84624
84625         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
84626         and similarly for the other external symbols.  Problem reported
84627         by James Gallager.
84628
84629         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
84630         bug reported by Jim Meyering.
84631
84632         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
84633         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
84634         not needed, since socklen is a prerequisite module.
84635
84636 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84637
84638         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
84639         Problem reported by Eric Blake.
84640         (getaddrinfo): Initialize se so that it's not garbage.
84641         Redo internal storage allocation so that it doesn't make unportable
84642         assumptions about alignment.
84643         Fix a memory leak.
84644
84645         * lib/utimens.c (futimens): Use futimesat if available.
84646         Prefer it to futimes since it doesn't have the futimes bug.
84647
84648         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
84649         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
84650         Instead, declare a function that returns a pointer to an array,
84651         and use verify_type__ to declare the size of the array.
84652         Problem and germ of a solution reported by Bruno Haible.
84653         (verify_type__): Use 2, not 1, for bitfield size, to avoid
84654         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
84655
84656 2005-09-23  Jim Meyering  <jim@meyering.net>
84657
84658         Sync from coreutils.
84659         Correct build failure (socklen_t not defined) on at least
84660         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
84661         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
84662
84663 2005-09-23  Jim Meyering  <jim@meyering.net>
84664
84665         * modules/getaddrinfo (Depends-on): Add socklen.
84666
84667 2005-09-23  Bruno Haible  <bruno@clisp.org>
84668
84669         * tests/test-verify.c: New file.
84670
84671 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84672
84673         Sync from coreutils.
84674
84675         * modules/argmatch (Depends-on): Add verify.
84676         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
84677         unistd-safer.
84678         * modules/save-cwd (Depends-on): Likewise.
84679
84680         * modules/openat (Files): Add lib/openat-die.c.
84681         (Depends-on): Remove error, exitfail.
84682         Add dirname.
84683
84684         * modules/verify: New file.
84685         * MODULES.html.sh (Diagnostics <assert.h>): New section,
84686         with "verify" module.
84687
84688 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84689
84690         Sync from coreutils.
84691
84692         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
84693         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
84694         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
84695         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
84696         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
84697         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
84698         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
84699         Don't bother checking for string.h, stdlib.h, unistd.h.
84700         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
84701         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
84702         module's job.
84703         * m4/jm-macros.m4 (gl_MACROS): Likewise.
84704         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
84705
84706         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
84707         (gl_GETDATE): Use it.
84708
84709         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
84710
84711 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84712
84713         Sync from coreutils.
84714
84715         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
84716         stat-time.h.
84717         * lib/argmatch.h: Include verify.h
84718         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
84719         (ARGMATCH_ASSERT): Remove; unused.
84720         * lib/canonicalize.c: Assume STDC_HEADERS.
84721         * lib/exclude.c: Include "strcase.h".
84722         * lib/regex_internal.h [!defined _LIBC]: Likewise.
84723         * lib/getusershell.c: Include stdio--.h rather than stdio.h
84724         and stdio-safer.h.
84725         (getusershell): Call fopen, not fopen_safer.
84726         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
84727         Do not include unistd-safer.h.
84728         (save_cwd): Don't call fd_safer; no longer needed
84729         now that we include fcntl--.h.
84730
84731         * lib/getdate.y (relative_time): New type.
84732         (RELATIVE_TIME_0): New constant.
84733         (parser_control): Use relative_time instead of doing it ourselves.
84734         (%union): Add new relative_time rel member.
84735         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
84736         Now typeless.
84737         (relunit, relunit_snumber): Now of type rel.
84738         (zone, rel, relunit, get_date): Adjust to above changes.
84739
84740         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
84741         Do not include unistd-safer.h.
84742         (getloadavg): Don't call fd_safer; no longer needed
84743         now that we include fcntl--.h.
84744
84745         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
84746         (make_dir_parents): Treat ENOSYS like EEXIST.
84747
84748         Improve quality of diagnostics on restore_cwd failure.
84749         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
84750         (make_dir_parents): Last arg is now int * (for errno), not bool *.
84751         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
84752         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
84753         each time through the loop.  Do not diagnose restore_cwd failure;
84754         that is the caller's job (and perhaps the caller does not care).
84755
84756         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
84757         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
84758         If the file already exists but is not a directory, don't bother
84759         to try to make its parents.
84760         Close potential file descriptor leak if we can't chdir("/") (!).
84761         Don't always return true if chdir($PWD) fails; return true only
84762         if the requested action was done successfully (except for the
84763         chdir($PWD)).
84764         Don't log final directory unless we actually made it.
84765         Refactor to avoid duplicate code to fix up permissions.
84766         Don't attempt to fix up parent permissions if chdir($PWD) fails.
84767
84768         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
84769         to make it a bit faster and (I hope) clearer.
84770         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
84771         Fix bug in formats like %2N.
84772
84773         * lib/verify.h: New file.
84774
84775 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84776
84777         Sync from coreutils.
84778         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
84779
84780 2005-09-22  Jim Meyering  <jim@meyering.net>
84781
84782         Sync from coreutils.
84783
84784         * m4/lstat.m4 (gl_FUNC_LSTAT):
84785         Use AC_LIBSOURCES to require lstat.c and lstat.h.
84786         Remove obsolete comment.
84787         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
84788         * m4/xstrtod.m4: Likewise.
84789
84790         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
84791
84792 2005-09-22  Jim Meyering  <jim@meyering.net>
84793
84794         Sync from coreutils.
84795
84796         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
84797
84798         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
84799         the .tm_year member, since otherwise gcc-4.0 would now warn about
84800         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
84801
84802         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
84803         order to avoid an unsuppressible warning from gcc on 64-bit systems.
84804
84805         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
84806         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
84807         when run in a time zone for which daylight savings time is in effect
84808         for the starting date.
84809
84810         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
84811         stop us from restricting permissions of just-created absolute-named
84812         directories.
84813         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
84814         to restore initial working directory.
84815         * lib/mkdir-p.c (make_dir_parents): New parameter:
84816         different_working_dir, to tell caller if/when we change the working
84817         directory and are unable to return to the initial one.
84818         * lib/mkdir-p.h (make_dir_parents): Update prototype.
84819         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
84820         `return false'.  This fixes a bug introduced on 2004-07-30.
84821
84822         * lib/openat.c (fdopendir): Be sure to close the supplied
84823         file descriptor before returning.  This makes our replacement
84824         implementation a little closer to Solaris's, where fdopendir
84825         ties the file descriptor to the returned DIR* pointer.
84826         * lib/openat.c (unlinkat): New function.
84827         * lib/openat.h (unlinkat): Add prototype.
84828         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
84829         (openat_restore_fail): Rename from openat_restore_die.
84830         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
84831
84832         Provide an alternative to exiting immediately upon save_cwd or
84833         restore_cwd failure.  Now, an application can arrange e.g.,
84834         to perform a longjump in that case.
84835         * lib/openat.c: Include dirname.h.
84836         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
84837         (rpl_openat, fdopendir, fstatat): Call openat_save_die
84838         and openat_restore_die rather than calling error directly.
84839         Don't include "error.h" or "exitfail.h"; they're no longer needed.
84840
84841         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
84842         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
84843         define.
84844
84845         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
84846         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
84847                             int utc, int nanoseconds);
84848         Background:
84849         date should not have to allocate a megabyte of virtual memory to
84850         handle a format argument like +%1048575T.  When implemented with
84851         strftime, it must allocate such a buffer, use strftime to fill it
84852         in, print it, then free it.
84853         With fprintftime, it simply prints everything and exits.
84854         With no need for memory allocation, that's one fewer way to fail.
84855         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
84856         optional field width, not before, so we accept %9:z, not %:9z.
84857         (my_strftime): Be sure to use L_('x') for literals.
84858
84859         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
84860         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
84861         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
84862         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
84863         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
84864         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
84865         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
84866         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
84867         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
84868         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
84869         * lib/xgethostname.c, lib/xreadlink.c:
84870         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
84871
84872         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
84873         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
84874         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
84875         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84876         and don't include <sys/file.h>).
84877
84878 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
84879
84880         Sync from coreutils.
84881
84882         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
84883         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
84884         [!LDAV_DONE]: Avoid unused variable warning.
84885
84886 2005-09-21  Bruno Haible  <bruno@clisp.org>
84887
84888         * lib/unicodeio.h (unicode_to_mb): New declaration.
84889
84890 2005-09-20  Derek Price  <derek@ximbiot.com>
84891
84892         * lib/getaddrinfo.c: Don't include <netdb.h> included from
84893         getaddrinfo.h.
84894
84895 2005-09-20  Bruno Haible  <bruno@clisp.org>
84896
84897         * gnulib-tool: Remove trailing slashes from the values specified for
84898         --source-base, --m4-base, --tests-base, --aux-dir.
84899         Suggested by Simon Josefsson <jas@extundo.com>.
84900
84901 2005-09-20  Bruno Haible  <bruno@clisp.org>
84902
84903         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
84904         func_modules_to_filelist, func_import, func_create_testdir): Make all
84905         sorting results locale-independent, so that gnulib-cache.m4 doesn't
84906         change when gnulib-tool is invoked in a different locale.
84907
84908 2005-09-19  Simon Josefsson  <jas@extundo.com>
84909
84910         * m4/socklen.m4: Fix typo.
84911
84912 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84913
84914         Use a consistent style for including <config.h>.
84915         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
84916         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
84917         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
84918         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
84919         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
84920         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
84921         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
84922         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
84923         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
84924         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
84925         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
84926         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
84927         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
84928         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
84929         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
84930         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
84931         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
84932         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
84933         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
84934         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
84935         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
84936         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
84937         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
84938         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
84939         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
84940         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
84941         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
84942         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
84943         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
84944         lib/xstrtoumax.c, lib/yesno.c:
84945         Standardize inclusion of config.h.
84946         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
84947         lib/inttostr.h:  Removed inclusion of config.h from header files.
84948         * lib/inttostr.c:  Adjusted in-tree users.
84949         * lib/timespec.h: Remove superfluous warning to include config.h.
84950         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
84951         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
84952         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
84953         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
84954         config.h with HAVE_CONFIG_H.
84955
84956 2005-09-19  Jim Meyering  <jim@meyering.net>
84957
84958         * modules/pathmax (License): Change to LGPL.
84959
84960 2005-09-19  Derek Price  <derek@ximbiot.com>
84961
84962         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
84963
84964 2005-09-19  Bruno Haible  <bruno@clisp.org>
84965
84966         * gnulib-tool (import): Provide default for --tests-base.
84967
84968 2005-09-19  Bruno Haible  <bruno@clisp.org>
84969
84970         * doc/quote.texi: New file, extracted from gnulib.texi.
84971         * doc/ctime.texi: New file, extracted from gnulib.texi.
84972         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
84973         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
84974         * doc/gnulib.texi: Include them.
84975
84976 2005-09-18  Bruno Haible  <bruno@clisp.org>
84977
84978         Portability fix.
84979         * gnulib-tool (func_readlink): New function.
84980         (func_ln_if_changed): Use it.
84981
84982 2005-09-18  Bruno Haible  <bruno@clisp.org>
84983
84984         * gnulib-tool: Support --with-tests also with --import.
84985         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
84986         (func_import): Use variables $testsbase and $inctests. Emit a
84987         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
84988         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
84989         SUBDIRS += $testsdir.
84990         (func_create_testdir): Update.
84991
84992 2005-09-18  Bruno Haible  <bruno@clisp.org>
84993
84994         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
84995         instead of $dry_run.
84996         (func_cp_if_changed, func_mv_if_changed): Remove functions.
84997         (func_ln_if_changed): Don't handle dry-run here.
84998         (func_import): In dry-run mode, detect more precisely which actions
84999         would be performed, and don't use "...ing" verbs.
85000
85001 2005-09-18  Bruno Haible  <bruno@clisp.org>
85002
85003         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
85004         (func_import): Use join on two temporary files instead of three nested
85005         loops, in order to determine which files are new or old.
85006
85007 2005-09-18  Bruno Haible  <bruno@clisp.org>
85008
85009         * gnulib-tool (func_import): Comment out code that spits out the
85010         new files with --dry-run.
85011
85012 2005-09-18  Bruno Haible  <bruno@clisp.org>
85013
85014         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
85015
85016 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
85017
85018         * lib/stat-time.h: New file.
85019         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
85020         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
85021         in a different way.
85022         (timespec_cmp): New function.
85023         * lib/utimecmp.c: Include stat-time.h.
85024         (SYSCALL_RESOLUTION): Depend on whether various struct stat
85025         members exist, not on the obsolescent ST_MTIM_NSEC.
85026         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
85027
85028 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
85029
85030         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
85031
85032 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
85033
85034         * MODULES.html.sh (File system functions): Add stat-time.
85035         * modules/stat-time: New file.
85036         * modules/timespec (Files): Remove m4/st_mtim.m4; this
85037         is now done in a different way, by the stat-time module.
85038         * modules/utimecmp (Depends-on): Add stat-time.
85039
85040 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
85041
85042         * m4/st_mtim.m4: Remove.  Superseded by...
85043         * m4/stat-time.m4: New file.
85044         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
85045         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
85046
85047 2005-09-15  Derek Price  <derek@ximbiot.com>
85048
85049         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
85050
85051 2005-09-15  Derek Price  <derek@ximbiot.com>
85052
85053         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
85054         * lib/regex_internal.c: Ditto, using this...
85055         (__GNUC_PREREQ): ...new macro.
85056         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
85057         using...
85058         (__GNUC_PREREQ): ...this new macro.
85059
85060         * lib/strstr.h: Include string.h. Define strstr as a macro here.
85061
85062 2005-09-15  Derek Price  <derek@ximbiot.com>
85063             Paul Eggert  <eggert@cs.ucla.edu>
85064
85065         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
85066         changes, consolidating in...
85067         * lib/regex_internal.h: ...this file.
85068
85069 2005-09-13  Jim Meyering  <jim@meyering.net>
85070
85071         * lib/canon-host.c: Filter through gnu indent and reword comments
85072         slightly.
85073         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
85074
85075 2005-09-13  Derek Price  <derek@ximbiot.com>
85076
85077         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
85078         failure.
85079         Reported by Jim Meyering  <jim@meyering.net>.
85080
85081 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
85082
85083         * lib/base64.c: Typo.
85084         (base64_encode): Put b64str in initialized data section.
85085
85086 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
85087
85088         Merge glibc and coreutils changes into gnulib, plus a few
85089         extra fixes.
85090         * lib/md5.c: Use #error rather than a string.
85091         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
85092         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
85093         (__attribute__): Define to empty for non recent-GCC.
85094         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
85095         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
85096         Renamed from their non-__ counterparts, with new macros replacing
85097         them if not _LIBC.  Add __THROW attribute.
85098         (rol): Remove.
85099         (struct md5_ctx): Align buffer if using GCC.
85100         * lib/sha1.h (struct sha1_ctx): Likewise.
85101         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
85102         The old name was backwards.
85103         (NOTSWAP): Remove; not used.
85104         (rol): New macro, moved here from md5.h.
85105         (sha1_process_block): Remove a FIXME that doesn't make sense.
85106
85107 2005-09-12  Derek Price  <derek@ximbiot.com>
85108
85109         Return usable errors from canon-host.
85110         * lib/canon-host.h: New file.
85111         * lib/canon-host.c (canon_host): Wrap...
85112         (canon_host_r): ...this new function, which now relies exclusively on
85113         getaddrinfo.
85114         (ch_strerror): New function.
85115         (last_cherror): New global.
85116         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
85117         interface.
85118         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
85119         void *.
85120         (freeaddrinfo): Free ai->ai_canonname when set.
85121
85122 2005-09-12  Derek Price  <derek@ximbiot.com>
85123
85124         Make canon-host require getaddrinfo.
85125         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
85126         AC_LIBSOURCE canon-host.h.  Call...
85127         (gl_PREREQ_CANON_HOST): ...this new function, which requires
85128         gl_GETADDRINFO.
85129         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
85130
85131 2005-09-12  Derek Price  <derek@ximbiot.com>
85132
85133         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
85134         LGPL.
85135         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
85136
85137 2005-09-12  Derek Price  <derek@ximbiot.com>
85138
85139         * lib/gai_strerror.c: Include config.h when available.  Include
85140         getaddrinfo.h before other headers to test interface.
85141         Reported by Larry Jones <lawrence.jones@ugs.com>.
85142
85143 2005-09-12  Derek Price  <derek@ximbiot.com>
85144             Paul Eggert  <eggert@cs.ucla.edu>
85145
85146         * modules/glob (Files): Add glob-libc.h.
85147
85148 2005-09-12  Derek Price  <derek@ximbiot.com>
85149             Paul Eggert  <eggert@cs.ucla.edu>
85150
85151         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
85152         glob_.h, glob-libc.h.
85153         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
85154
85155 2005-09-12  Derek Price  <derek@ximbiot.com>
85156             Paul Eggert  <eggert@cs.ucla.edu>
85157
85158         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
85159         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
85160         protecting things that should be done only in gnulib contexts.
85161         * lib/glob_.h: New file, containing only the glob things needed for
85162         gnulib.
85163         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
85164         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
85165         (glob, globfree, glob_pattern_p): Now defined simply in terms of
85166         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
85167         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
85168         and to respect the namespace rules better.
85169
85170 2005-09-08  Simon Josefsson  <jas@extundo.com>
85171
85172         * modules/socklen: New file.
85173
85174 2005-09-08  Simon Josefsson  <jas@extundo.com>
85175
85176         * m4/socklen.m4: New file.
85177
85178 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85179
85180         * modules/utimens (Files): Add m4/utimbuf.m4, since
85181         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
85182         Reported by Sergey Poznyakoff.
85183
85184 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85185
85186         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
85187         definitions, since that's the preferred style in glibc.
85188         Fix a minor spacing issue, and update copyright notice to match
85189         glibc's.
85190
85191 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85192
85193         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
85194
85195 2005-09-06  Simon Josefsson  <jas@extundo.com>
85196
85197         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
85198         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
85199
85200 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
85201
85202         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
85203         warning.
85204
85205 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
85206
85207         * config/srclist.txt: Add glibc bug 1302.
85208
85209 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
85210
85211         Change bitset word type from unsigned int to unsigned long int,
85212         as this has better performance on typical 64-bit hosts.
85213         Port bitset code to hosts with unusual word sizes.
85214         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
85215         (build_collating_symbol):
85216         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
85217         argument is a bitset.  This is merely a style issue, but it makes
85218         it clearer that an entire array is expected.
85219         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
85220         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
85221         Port to the case where bitset_word is not the same as unsigned int.
85222         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85223         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
85224         Likewise.
85225         * lib/regexec.c (check_dst_limits_calc_pos_1,
85226         check_subexp_matching_top):
85227         (build_trtable, group_nodes_into_DFAstates):
85228         Likewise.
85229         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
85230         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
85231         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
85232         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
85233         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
85234         * lib/regcomp.c (optimize_subexps, lower_subexp):
85235         Work even if bitset_word has holes in its bitwise representation.
85236         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
85237         * lib/regexec.c (check_dst_limits_calc_pos_1,
85238         check_subexp_matching_top):
85239         Likewise.
85240         * lib/regex_internal.c (re_string_reconstruct):
85241         Don't assume UCHAR_MAX == 255.
85242         * lib/regex_internal.h (bitset_set_all): Likewise.
85243         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
85244         All uses changed.
85245         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
85246         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
85247         All uses changed.
85248         (BITSET_WORD_MAX): New macro.
85249         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
85250         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
85251         (bitset_empty, bitset_copy):
85252         Prefer sizeof (bitset) to multiplying it out ourselves.
85253         (bitset_not_merge): Remove; unused.
85254         (bitset_contain): Return bool, not unsigned int with one bit on.
85255         All callers changed.
85256         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
85257         alignment than re_node_set; do this by defining a new internal
85258         type struct dests_alloc and using it to allocate memory.
85259
85260 2005-09-05  Bruno Haible  <bruno@clisp.org>
85261
85262         * gnulib-tool (func_import): Fix comparison in handling of symbolic
85263         links.
85264
85265 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
85266
85267         * modules/size_max (Makefile.am): Add size_max.h
85268
85269 2005-09-04  Derek Price  <derek@ximbiot.com>
85270
85271         * gnulib-tool (func_import): Fix reversed $symbolic logic.
85272
85273 2005-09-03  Simon Josefsson  <jas@extundo.com>
85274
85275         * gnulib-tool: Fix typo.
85276
85277 2005-09-03  Simon Josefsson  <jas@extundo.com>
85278
85279         * config/srclist.txt: Add glibc bug 1293.
85280
85281 2005-09-03  Derek Price  <derek@ximbiot.com>
85282
85283         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
85284         From Larry Jones <lawrence.jones@ugs.com>.
85285
85286 2005-09-02  Simon Josefsson  <jas@extundo.com>
85287
85288         * modules/socklen: New file.
85289
85290 2005-09-02  Simon Josefsson  <jas@extundo.com>
85291
85292         * modules/havelib: New module.
85293
85294         * modules/gettext, modules/iconv, modules/lock, modules/readline:
85295         Use havelib.
85296
85297 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
85298
85299         Check for arithmetic overflow when calculating sizes, to prevent
85300         some buffer-overflow issues.  These patches are conservative, in the
85301         sense that when I couldn't determine whether an overflow was possible,
85302         I inserted a run-time check.
85303         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
85304         macros.
85305         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
85306         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
85307         (re_xnrealloc, re_x2nrealloc): New inline functions.
85308         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
85309         parse_bracket_exp):
85310         (build_equiv_class, build_charclass): Check for arithmetic overflow
85311         in size expression calculations.
85312         * lib/regex_internal.c (re_string_realloc_buffers):
85313         (build_wcs_upper_buffer, re_node_set_add_intersect):
85314         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
85315         (re_dfa_add_node, register_state): Likewise.
85316         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
85317         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
85318         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
85319         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
85320
85321 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
85322
85323         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
85324         m4/ulonglong.m4.  Problem reported by Martin Lambers.
85325
85326 2005-09-02  Bruno Haible  <bruno@clisp.org>
85327
85328         Support for lib vs. lib64 distinction on biarch platforms.
85329         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
85330         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
85331         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
85332
85333 2005-09-02  Bruno Haible  <bruno@clisp.org>
85334
85335         * gnulib-tool (import): In the other first-use case, provide defaults
85336         as well.
85337
85338 2005-09-02  Bruno Haible  <bruno@clisp.org>
85339
85340         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
85341         patches not yet found in the latest gettext release.
85342
85343 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85344
85345         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
85346         to avoid a collision with bits/local_lim.h in glibc.
85347         All uses changed.  Problem reported by Dmitry V. Levin in
85348         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
85349
85350         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
85351         bugs in int versus size_t comparisons.
85352         (re_string_context_at): Fix bug where the code assumed that
85353         Idx is signed.
85354
85355         Use bool where appropriate.
85356         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
85357         All callers changed.
85358         (calc_eclosure_iter): Likewise, for ROOT arg.
85359         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
85360         (build_charclass_op): Likewise, for NON_MATCH arg.
85361         * lib/regex_internal.c (re_string_allocate, re_string_construct):
85362         (re_string_construct_common): Likewise, for ICASE arg.
85363         * lib/regexec.c (re_search_2_stub, re_search_stub):
85364         Likewise, for RET_LEN arg.
85365         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
85366         (set_regs): Likewise, for FL_BACKTRACK arg.
85367         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
85368         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
85369         (calc_eclosure_iter, parse_bracket_exp):
85370         Use bool for internal variables that are booleans.
85371         * lib/regexec.c (re_search_internal, check_matching,
85372         proceed_next_node):
85373         (set_regs, build_sifted_states, sift_states_bkref):
85374         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
85375         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85376         (find_collation_sequence_value):
85377         Likewise.
85378         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
85379         (re_node_set_compare):
85380         Return bool, not int. All callers changed.
85381         * lib/regexec.c (check_halt_node_context, check_dst_limits):
85382         (build_trtable, check_node_accept): Likewise.
85383         * lib/regex_internal.h: Include stdbool.h.
85384
85385         Fix bugs uncovered when converting to bool.
85386         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
85387         failure instead of charging ahead blindly.
85388         * lib/regex_internal.c (register_state): Likewise.
85389         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
85390         for freeing internal storage.
85391         (group_nodes_into_DFA_states): Use unsigned int, not int, for
85392         bitset pieces used as boolean, to avoid undefined behavior
85393         on hosts that do int overflow checking.
85394
85395 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85396
85397         * config/srclist.txt: Add glibc bugs 1285-1287.
85398
85399 2005-09-01  Jim Meyering  <jim@meyering.net>
85400
85401         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
85402         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
85403         Require gl_STAT_MACROS, too.
85404
85405 2005-09-01  Bruno Haible  <bruno@clisp.org>
85406
85407         * gnulib-tool (import): In the first-use case, provide defaults.
85408
85409 2005-09-01  Bruno Haible  <bruno@clisp.org>
85410
85411         * gnulib-tool (func_import): Remove the .tmp files.
85412
85413 2005-09-01  Bruno Haible  <bruno@clisp.org>
85414
85415         * gnulib-tool (func_import): Fix handling of symbolic links.
85416
85417 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85418
85419         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
85420         old glibc regex code mishandles strings longer than 2**31 bytes.
85421         This patch fixes this when the regex code is used in gnulib
85422         (i.e., outside glibc).
85423
85424         This patch should not affect the use of the regex code inside
85425         glibc.  No doubt this problem also needs to be handled for glibc
85426         as well, but the result will be an incompatible change to the
85427         glibc ABI, and the old ABI will have to be supported too.  That
85428         can be the the subject for another patch.
85429
85430         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
85431         governing whether the rest of this patch is active.  By default,
85432         the macro is disabled and the patch has no effect.
85433         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
85434         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
85435         (struct re_pattern_buffer, re_search, re_search_2, re_match):
85436         (re_match_2, re_set_registers): Use the new types.
85437         * lib/regex_internal.h (Idx, re_hashval_t): New types.
85438         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
85439         New macros.
85440         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
85441         (re_string_context_at, bin_tree_t, re_dfastate_t):
85442         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
85443         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
85444         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
85445         (re_string_char_size_at, re_string_wchar_at):
85446         (re_string_elem_size_at):
85447         Use the new types and macros to port to 64-bit hosts.
85448         Use unsigned types for internal values, so that the code
85449         mostly works even for arrays larger than SSIZE_MAX.
85450         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
85451         (search_duplicated_node, calc_eclosure_iter, fetch_number):
85452         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
85453         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
85454         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
85455         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
85456         (calc_inveclosure, parse_dup_op, build_range_exp):
85457         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
85458         (fetch_number, create_token_tree, mark_opt_subexp):
85459         Likewise.
85460         * lib/regex_internal.c (re_string_construct_common,
85461         create_ci_newstate):
85462         (create_cd_newstate, re_string_allocate, re_string_construct):
85463         (re_string_realloc_buffers, build_wcs_upper_buffer):
85464         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85465         (re_string_reconstruct, re_string_peek_byte_case):
85466         (re_string_fetch_byte_case, re_string_context_at):
85467         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85468         (re_node_set_init_copy, re_node_set_add_intersect):
85469         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85470         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85471         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85472         (re_acquire_state, re_acquire_state_context, register_state):
85473         Likewise.
85474         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
85475         search_cur_bkref_entry):
85476         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
85477         (re_search_internal, re_search_2_stub, re_search_stub)
85478         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
85479         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
85480         (update_cur_sifted_state, check_dst_limits):
85481         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85482         (check_subexp_limits, sift_states_bkref, merge_state_array):
85483         (check_subexp_matching_top, get_subexp, get_subexp_sub):
85484         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
85485         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85486         (expand_bkref_cache, check_node_accept_bytes):
85487         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
85488         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
85489         (acquire_init_state_context, check_halt_node_context):
85490         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
85491         (sift_states_backward, clean_state_log_if_needed):
85492         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
85493         (find_recover_state, transit_state_sb, transit_state_mb):
85494         (transit_state_bkref, build_trtable, match_ctx_clean):
85495         Likewise.
85496         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
85497         to work around an assumption that REG_MISSING is negative.
85498
85499         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
85500         (seek_collating_symbol_entry) [defined _LIBC]:
85501         (lookup_collation_sequence_value) [defined _LIBC]:
85502         (build_range_exp, build_collating_symbol) [defined _LIBC]:
85503         Use prototypes rather than old-style function definitions.
85504         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
85505         (transit_state_sb) [0]:
85506         (find_collation_sequence_value) [defined _LIBC]: Likewise.
85507
85508         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
85509         rm_eo.
85510
85511         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
85512         (optimize_subexps, lower_subexp):
85513         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
85514         since the signed shift might overflow.  Use 1u<<31 instead.
85515         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85516         Likewise.
85517         * lib/regexec.c (check_dst_limits_calc_pos_1,
85518         check_subexp_matching_top): Likewise.
85519
85520         * lib/regcomp.c (optimize_subexps, lower_subexp):
85521         Use CHAR_BIT rather than 8, for clarity.
85522         * lib/regexec.c (check_dst_limits_calc_pos_1):
85523         (check_subexp_matching_top): Likewise.
85524         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
85525         have to worry about portability issues when shifting it left.
85526         Remove no-longer-needed test for table_size > 0.
85527         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
85528         in a word, as the resulting behavior is undefined.
85529         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
85530         in one case, a <= should have been an <, and in another case the
85531         whole test was missing.
85532         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
85533         the standard name CHAR_BIT.
85534         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
85535         this is not true on one's complement and signed-magnitude hosts.
85536
85537         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
85538         next_last_offset.
85539         (struct re_dfa_t): Remove unused member states_alloc.
85540         * lib/regcomp.c (init_dfa): Don't initialize unused members.
85541
85542 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85543
85544         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
85545         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
85546         and large-file glibc and in 32-bit large-file Solaris.
85547
85548 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85549
85550         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
85551         lengths fit in regoff_t; this isn't true if regoff_t is the same
85552         width as size_t.
85553         * lib/regex.c (re_search_internal): 5th arg is LAST_START
85554         (= START + RANGE) instead of RANGE.  This avoids overflow
85555         problems when regoff_t is the same width as size_t.
85556         All callers changed.
85557         (re_search_2_stub): Check for overflow when adding the
85558         sizes of the two strings.
85559         (re_search_stub): Check for overflow when adding START
85560         to RANGE; if it occurs, substitute the extreme value.
85561
85562 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85563
85564         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
85565
85566 2005-08-31  Jim Meyering  <jim@meyering.net>
85567
85568         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
85569         a pointer-to-const.
85570         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
85571         (register_state): Likewise.
85572         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
85573         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85574         (group_nodes_into_DFAstates): Likewise.
85575
85576 2005-08-31  Jim Meyering  <jim@meyering.net>
85577
85578         * check-module: Add a FIXME comment.
85579
85580 2005-08-31  Eric Blake  <ebb9@byu.net>
85581
85582         * modules/unistd-safer (Files): Add unistd--.h.
85583         * modules/stdio-safer (Files): Add stdio--.h.
85584
85585 2005-08-31  Derek Price  <derek@ximbiot.com>
85586
85587         * lib/getdelim.c (getdelim): Return EOF on EOF.
85588         Reported by Larry Jones <lawrence.jones@ugs.com>.
85589
85590 2005-08-31  Bruno Haible  <bruno@clisp.org>
85591
85592         Avoid unnecessary diffs in the generated lib/Makefile.am.
85593         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
85594         the generated files.
85595         (func_import): Don't set cmd.
85596
85597 2005-08-31  Bruno Haible  <bruno@clisp.org>
85598
85599         * lib/strstr.c: Include <stddef.h>, for NULL.
85600         * lib/strcasestr.c: Likewise.
85601         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
85602
85603 2005-08-31  Bruno Haible  <bruno@clisp.org>
85604
85605         * gnulib-tool: New option --macro-prefix.
85606         (func_import): Use macro_prefix.
85607         (import): Handle option --macro-prefix.
85608
85609 2005-08-31  Bruno Haible  <bruno@clisp.org>
85610
85611         * gnulib-tool (import): Rename most ac_* variables to cached_*.
85612         Also use new variables cached_lgpl, cached_libtool.
85613
85614 2005-08-31  Bruno Haible  <bruno@clisp.org>
85615
85616         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
85617         always instantiating them.
85618
85619 2005-08-31  Bruno Haible  <bruno@clisp.org>
85620
85621         * gnulib-tool (func_import): Read the previous cached settings
85622         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
85623         earlier added by gnulib but are now dropped. Warn when a gnulib file
85624         overwrites a non-gnulib file.
85625
85626 2005-08-31  Bruno Haible  <bruno@clisp.org>
85627
85628         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
85629         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
85630         projects that don't keep autogenerated files in CVS. Put into
85631         actioncmd only the specified modules, not the transitive closure.
85632
85633 2005-08-31  Bruno Haible  <bruno@clisp.org>
85634
85635         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
85636         Create directories that shall be filled.
85637         (import): Don't look for gl_* macros in configure.ac. Recurse across
85638         all directories containing a gnulib-cache.m4 files, if meaningful.
85639
85640 2005-08-31  Bruno Haible  <bruno@clisp.org>
85641
85642         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
85643         (import): Set seen_libtool when we see gl_LIBTOOL.
85644
85645 2005-08-31  Bruno Haible  <bruno@clisp.org>
85646
85647         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
85648         declaration macro definitions from generated gnulib.m4.
85649
85650 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
85651
85652         * lib/iconvme.h: Add prototype for iconv_alloc.
85653
85654 2005-08-29  Simon Josefsson  <jas@extundo.com>
85655
85656         * lib/iconvme.c: Fix errno.
85657
85658 2005-08-29  Bruno Haible  <bruno@clisp.org>
85659
85660         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
85661         that it works when the directory contains spaces.
85662
85663 2005-08-29  Bruno Haible  <bruno@clisp.org>
85664
85665         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
85666
85667 2005-08-29  Bruno Haible  <bruno@clisp.org>
85668
85669         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
85670         Emit more advice.
85671
85672 2005-08-29  Bruno Haible  <bruno@clisp.org>
85673         and Stepan Kasal  <kasal@ucw.cz>
85674
85675         * check-module: If more parameters are given, check each of them
85676         separately; add more exceptions, as noted by Jim Meyering.
85677         (check_module): New procedure.
85678         (%exempt_header): Now contains all exceptions.
85679
85680 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
85681
85682         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
85683
85684 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85685
85686         * lib/iconvme.c: Split iconv_string into iconv_alloc.
85687
85688 2005-08-28  Bruno Haible  <bruno@clisp.org>
85689
85690         * m4/gnulib-tool.m4: New file.
85691
85692 2005-08-27  Jim Meyering  <jim@meyering.net>
85693
85694         * modules/unistd-safer (Files): Add pipe-safer.c.
85695         * modules/fcntl-safer (Files): Add creat-safer.c.
85696
85697 2005-08-27  Jim Meyering  <jim@meyering.net>
85698
85699         * m4/stdlib-safer.m4: New file.  From coreutils.
85700         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
85701         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
85702         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
85703         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
85704         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
85705
85706 2005-08-27  Jim Meyering  <jim@meyering.net>
85707
85708         * lib/fopen-safer.c: Merge minor changes from coreutils.
85709         * lib/dup-safer.c: Likewise.
85710         * lib/fd-safer.c: Likewise.
85711
85712         Merge from coreutils.
85713         * lib/stdio--.h: New file.
85714         * lib/stdlib--.h: New file.
85715         * lib/mkstemp-safer.c: New file.
85716
85717         GNU tar needs these.
85718         * lib/pipe-safer.c: New file.
85719         * lib/creat-safer.c: New file.
85720         * lib/fcntl--.h (creat): Define to creat_safer.
85721         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
85722         * lib/unistd--.h (pipe): Define to pipe_safer.
85723         * lib/unistd-safer.h: Declare pipe_safer.
85724
85725 2005-08-26  Simon Josefsson  <jas@extundo.com>
85726
85727         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
85728         Haible <bruno@clisp.org>.
85729
85730 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
85731
85732         * lib/regex_internal.h: Remove all references to
85733         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
85734         or better.
85735         (bitset_not, bitset_merge, bitset_not_merge):
85736         (bitset_mask, re_string_allocate, re_string_construct):
85737         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
85738         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
85739         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
85740         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
85741         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85742         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85743         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
85744         (re_acquire_state_context):
85745         Remove unnecessary forward decls.
85746         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
85747         Put __attribute at function definition,
85748         now that the function decl has been removed.
85749         * lib/regex_internal.c (re_string_peek_byte_case):
85750         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
85751         Likewise.
85752
85753 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
85754
85755         * m4/regex.m4: Add AC_PREREQ(2.50).
85756         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
85757
85758 2005-08-25  Simon Josefsson  <jas@extundo.com>
85759
85760         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
85761         __fsetlocking.
85762
85763 2005-08-25  Simon Josefsson  <jas@extundo.com>
85764
85765         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
85766         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
85767         GLIBC specific code.
85768
85769 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85770
85771         Make regex safe for g++.  This fixes one real bug (an "err"
85772         that should have been "*err").  g++ problem reported by
85773         Sam Steingold.
85774         * lib/regex_internal.h (re_calloc): New macro, consistent with
85775         re_malloc etc.  All callers of calloc changed to use re_calloc.
85776         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
85777         not int.  All callers changed.
85778         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
85779         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
85780         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
85781         (find_recover_state): Change "err" to "*err"; this fixes what
85782         appears to be a real bug.
85783         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
85784         versus int.
85785
85786 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85787
85788         * modules/regex (Depends-on): Add malloc, since the code
85789         assumes that !malloc(0) means failure.
85790
85791 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85792
85793         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
85794
85795         alloca modernization/simplification for regex.
85796         * lib/regex.c: Remove portability cruft for alloca.  This no longer
85797         needs to be at the start of the file, and can be moved into
85798         regex_internal.h and simplified.
85799         * lib/regex_internal.h: Include <alloca.h>.
85800         (__libc_use_alloca) [!defined _LIBC]: New macro.
85801         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
85802         now works outside glibc.
85803
85804 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85805
85806         * config/srclist.txt: Add glibc bugs 1241, 1245.
85807
85808 2005-08-25  Jim Meyering  <jim@meyering.net>
85809
85810         * lib/open-safer.c: Include <config.h>.
85811         Otherwise, we'd lose LARGEFILE support in any file using
85812         e.g. "fcntl--.h"
85813
85814 2005-08-25  Bruno Haible  <bruno@clisp.org>
85815
85816         * m4/minmax.m4: Require autoconf 2.52.
85817         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
85818         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
85819         alternatives of translit over the alphabet.
85820         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
85821
85822 2005-08-24  Simon Josefsson  <jas@extundo.com>
85823
85824         * tests/test-getpass.c: New file.
85825
85826 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85827
85828         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
85829         for GNU regex features.
85830
85831 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85832
85833         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
85834         * lib/regex.h (regerror): Likewise.
85835
85836         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
85837         requires this.  (The code never needed it.)
85838
85839         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
85840         All uses of recently-renamed identifiers changed to use the new,
85841         POSIX-compliant names.  The code will build and run just fine
85842         without these changes, but it's better to eat our own dog food
85843         and use the standard-conforming names.
85844
85845         * lib/regex.h: Fix a multitude of POSIX name space violations.
85846         These changes have an effect only for programs that define
85847         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
85848         do not change anything for programs compiled in the normal way.
85849         Also, there is no effect on the ABI.
85850
85851         (_REGEX_SOURCE): New macro.
85852         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
85853         defined and _GNU_SOURCE is not; this fixes a name space violation.
85854
85855         Rename the following macros to obey POSIX requirements.
85856         The old names are still visible as macros if _REGEX_SOURCE is defined.
85857         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
85858         RE_BACKSLASH_ESCAPE_IN_LISTS.
85859         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
85860         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
85861         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
85862         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
85863         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
85864         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
85865         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
85866         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
85867         (REG_INTERVALS): renamed from RE_INTERVALS.
85868         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
85869         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
85870         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
85871         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
85872         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
85873         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
85874         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
85875         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
85876         RE_UNMATCHED_RIGHT_PAREN_ORD.
85877         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
85878         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
85879         (REG_DEBUG): renamed from RE_DEBUG.
85880         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
85881         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
85882         unusual, since we can't clash with the POSIX REG_ICASE.
85883         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
85884         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
85885         (REG_NO_SUB): renamed from RE_NO_SUB.
85886         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
85887         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
85888         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
85889         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
85890         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
85891         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
85892         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
85893         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
85894         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
85895         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
85896         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
85897         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
85898         RE_SYNTAX_POSIX_MINIMAL_BASIC.
85899         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
85900         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
85901         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
85902         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
85903         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
85904         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
85905         (REG_FIXED): Renamed from REGS_FIXED.
85906         (REG_NREGS): Renamed from RE_NREGS.
85907
85908         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
85909         of other REG_* macros, since POSIX says the user is allowed to
85910         #undef these macros selectively.
85911
85912         (reg_errcode_t): Update comment stating what other tables need
85913         to be consistent.
85914
85915         Rename the following enum values to obey POSIX requirements.
85916         The old names are still visible as macros.
85917         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
85918         is not defined, since GNU is supposed to be a superset of POSIX as
85919         much as possible, and since we want reg_errcode_t to be a signed
85920         type for implementation consistency.
85921         (_REG_NOERROR): Renamed from REG_NOERROR.
85922         (_REG_NOMATCH): Renamed from REG_NOMATCH.
85923         (_REG_BADPAT): Renamed from REG_BADPAT.
85924         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
85925         (_REG_ECTYPE): Renamed from REG_ECTYPE.
85926         (_REG_EESCAPE): Renamed from REG_EESCAPE.
85927         (_REG_ESUBREG): Renamed from REG_ESUBREG.
85928         (_REG_EBRACK): Renamed from REG_EBRACK.
85929         (_REG_EPAREN): Renamed from REG_EPAREN.
85930         (_REG_EBRACE): Renamed from REG_EBRACE.
85931         (_REG_BADBR): Renamed from REG_BADBR.
85932         (_REG_ERANGE): Renamed from REG_ERANGE.
85933         (_REG_ESPACE): Renamed from REG_ESPACE.
85934         (_REG_BADRPT): Renamed from REG_BADRPT.
85935         (_REG_EEND): Renamed from REG_EEND.
85936         (_REG_ESIZE): Renamed from REG_ESIZE.
85937         (_REG_ERPAREN): Renamed from REG_ERPAREN.
85938         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
85939         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
85940         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
85941         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
85942
85943         (_REG_RE_NAME, _REG_RM_NAME): New macros.
85944         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
85945         changed.  But support the old name if the new one is not defined
85946         and if _REGEX_SOURCE.
85947
85948         Change the following member names in struct re_pattern_buffer.
85949         The old names are still supported if !_REGEX_SOURCE.
85950         The new names are always supported, regardless of _REGEX_SOURCE.
85951         (re_buffer): Renamed from buffer.
85952         (re_allocated): Renamed from allocated.
85953         (re_used): Renamed from used.
85954         (re_syntax): Renamed from syntax.
85955         (re_fastmap): Renamed from fastmap.
85956         (re_translate): Renamed from translate.
85957         (re_can_be_null): Renamed from can_be_null.
85958         (re_regs_allocated): Renamed from regs_allocated.
85959         (re_fastmap_accurate): Renamed from fastmap_accurate.
85960         (re_no_sub): Renamed from no_sub.
85961         (re_not_bol): Renamed from not_bol.
85962         (re_not_eol): Renamed from not_eol.
85963         (re_newline_anchor): Renamed from newline_anchor.
85964
85965         Change the following member names in struct re_registers.
85966         The old names are still supported if !_REGEX_SOURCE.
85967         The new names are always supported, regardless of _REGEX_SOURCE.
85968         (rm_num_regs): Renamed from num_regs.
85969         (rm_start): Renamed from start.
85970         (rm_end): Renamed from end.
85971
85972         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
85973         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
85974         Prepend __ to parameter names.
85975
85976         Undo yesterday's changes.
85977
85978 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85979
85980         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
85981         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
85982         lib/regex.c.
85983
85984 2005-08-24  Jim Meyering  <jim@meyering.net>
85985
85986         Sync from coreutils.
85987         * m4/fcntl-safer.m4: New file.
85988
85989         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
85990         and object files for this module.
85991
85992 2005-08-24  Jim Meyering  <jim@meyering.net>
85993
85994         Sync from coreutils.
85995         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
85996
85997 2005-08-24  Jim Meyering  <jim@meyering.net>
85998
85999         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
86000         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
86001
86002 2005-08-24  Jim Meyering  <jim@meyering.net>
86003
86004         * modules/fcntl-safer: New module.
86005         * modules/fts (Depends-on): Add fcntl-safer.
86006         * MODULES.html.sh (File descriptor based Input/Output):
86007         Add fcntl-safer.
86008
86009 2005-08-24  Bruno Haible  <bruno@clisp.org>
86010
86011         Support for unit test modules.
86012         * modules/README: Mention tests modules.
86013         * modules/TEMPLATE-TESTS: New file.
86014         * gnulib-tool: New options --extract-tests-module, --with-tests and
86015         --tests-base (unused for the moment).
86016         (testsbase, inctests): New variables.
86017         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
86018         (func_verify_module): Exclude TEMPLATE-TESTS.
86019         (func_verify_nontests_module, func_verify_tests_module): New functions.
86020         (func_get_dependencies): Add implicit dependency for tests modules.
86021         (func_get_tests_module): New function.
86022         (func_modules_transitive_closure): When --with-tests was specified,
86023         include the unit tests as well, unless explicitly avoided.
86024         (func_emit_lib_Makefile_am): Ignore the tests modules here.
86025         (func_emit_tests_Makefile_am): New function.
86026         (func_create_testdir): When --with-tests was specified, emit a
86027         tests/ directory.
86028         * MODULES.html.sh (Future developments): Update.
86029
86030 2005-08-24  Bruno Haible  <bruno@clisp.org>
86031
86032         * modules/tls-tests: New file.
86033         * tests/test-tls.c: New file, from GNU gettext.
86034
86035 2005-08-24  Bruno Haible  <bruno@clisp.org>
86036
86037         * modules/lock-tests: New file.
86038         * tests/test-lock.c: New file, from GNU gettext.
86039
86040 2005-08-24  Bruno Haible  <bruno@clisp.org>
86041
86042         * lib/lock.h: Add multiple inclusion guard.
86043         * lib/tls.h: Add multiple inclusion guard.
86044
86045 2005-08-24  Bruno Haible  <bruno@clisp.org>
86046
86047         * gnulib-tool: Add support for the --aux-dir option to
86048         --create-testdir, --create-megatestdir, --test, --megatest.
86049         (func_create_testdir, func_create_megatestdir): Optionally emit a
86050         AC_CONFIG_AUX_DIR directive.
86051         (create-testdir, create-megatestdir, test, megatest): Provide a
86052         default value for $auxdir.
86053
86054 2005-08-24  Bruno Haible  <bruno@clisp.org>
86055
86056         * gnulib-tool (import): Use compound statement instead of subshell
86057         where possible.
86058
86059 2005-08-24  Bruno Haible  <bruno@clisp.org>
86060
86061         * gnulib-tool (import): Change --aux-dir default to "build-aux".
86062
86063 2005-08-24  Bruno Haible  <bruno@clisp.org>
86064
86065         * gnulib-tool (func_version): Update.
86066
86067 2005-08-24  Bruno Haible  <bruno@clisp.org>
86068
86069         * gnulib-tool (func_import, func_create_testdir,
86070         func_create_megatestdir): Quote all autoconf macro arguments.
86071
86072 2005-08-24  Bruno Haible  <bruno@clisp.org>
86073
86074         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
86075         option --force, because --force causes the aclocal.m4 of each
86076         subdirectory to be newer than the corresponding config.h.in.
86077
86078 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86079
86080         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
86081         All contents moved to gl_REGEX.
86082         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
86083         assume that it does.
86084
86085 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86086
86087         * lib/regex.h (REG_NOSYS)
86088         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
86089         Define, since POSIX requires it as of 2001.
86090         (_REG_ENOSYS)
86091         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
86092         New private symbol, used to keep the enum signed in all cases.
86093         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
86094         Youngman in
86095         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
86096
86097         * lib/regex_internal.c (re_string_skip_chars, register_state):
86098         (calc_state_hash):
86099         Remove forward decls; no longer needed now that we use prototypes.
86100         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
86101         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
86102         (clean_state_log_if_needed): Likewise.
86103
86104 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86105
86106         * config/srclist.txt: Add glibc bugs 1231-1233.
86107
86108 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86109
86110         Fix problems reported by Sam Steingold in
86111         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
86112         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
86113         assumed that reg_errcode_t is a signed type, which is not
86114         necessarily true if _XOPEN_SOURCE is not defined.
86115         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
86116         since some compilers warn about it otherwise.
86117
86118 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86119
86120         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
86121         (init_word_char, create_initial_state, duplicate_node_closure):
86122         (fetch_token, peek_token_bracket, build_range_exp):
86123         (build_collating_symbol): Remove forward decls; no longer needed
86124         now that we use prototypes.
86125
86126         * lib/regcomp.c:
86127         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
86128         (re_compile_fastmap_iter, regcomp, regerror, regfree):
86129         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
86130         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
86131         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
86132         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
86133         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
86134         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
86135         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
86136         (build_range_exp, build_collating_symbol, parse_bracket_exp):
86137         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
86138         (build_charclass, build_charclass_op, fetch_number, create_tree):
86139         (create_token_tree, mark_opt_subexp, duplicate_tree):
86140         Use prototypes rather than old-style definitions.
86141
86142         * lib/regex_internal.c:
86143         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
86144         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
86145         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
86146         (re_string_reconstruct, re_string_peek_byte_case):
86147         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
86148         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
86149         (re_node_set_init_copy, re_node_set_add_intersect):
86150         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
86151         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
86152         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
86153         (re_acquire_state, re_acquire_state_context, register_state):
86154         (create_ci_newstate, create_cd_newstate, free_state):
86155         Likewise.
86156         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
86157         re_search_2):
86158         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
86159         (re_search_internal, prune_impossible_nodes):
86160         (acquire_init_state_context, check_matching, static):
86161         (check_halt_node_context, check_halt_state_context, proceed_next_node):
86162         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
86163         (update_regs, sift_states_backward, build_sifted_states):
86164         (clean_state_log_if_needed, merge_state_array):
86165         (update_cur_sifted_state, add_epsilon_src_nodes):
86166         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
86167         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
86168         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
86169         (find_recover_state, check_subexp_matching_top, transit_state_mb):
86170         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
86171         (check_arrival, check_arrival_add_next_nodes):
86172         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
86173         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
86174         (check_node_accept_bytes, check_node_accept, extend_buffers):
86175         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
86176         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
86177         (sift_ctx_init):
86178         Likewise.
86179
86180         * lib/regex_internal.h:
86181         (re_string_allocate, re_string_construct, re_string_reconstruct):
86182         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
86183         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
86184         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
86185         (re_string_context_at, re_string_peek_byte_case):
86186         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
86187         is defined, since we now use prototypes always.
86188
86189         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
86190         C89 or better.  All uses removed.
86191
86192 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86193
86194         * config/srclist.txt: Add glibc bugs 1220-1227.
86195
86196 2005-08-20  Jim Meyering  <jim@meyering.net>
86197
86198         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
86199         of unused local, dfa.
86200
86201 2005-08-20  Bruno Haible  <bruno@clisp.org>
86202
86203         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
86204
86205 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86206
86207         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
86208         (re_node_set_insert_last, re_dfa_add_node):
86209         Rename local variables to avoid GCC shadowing warnings.
86210
86211 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86212
86213         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
86214         [defined lint]: Suppress bogus uninitialized-variable warnings.
86215
86216         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
86217         and let the caller return REG_ESPACE if out of space.  This
86218         removes an uninitialied-variable warning with GCC 4.0.1, and also
86219         avoids taking the address of a local variable.  All callers
86220         changed.
86221
86222 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86223
86224         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
86225         $LIBCSRC/posix/regexec.c.
86226         Add glibc bug 1217 for regcomp.c.
86227
86228 2005-08-19  Jim Meyering  <jim@meyering.net>
86229
86230         * lib/regexec.c (proceed_next_node): Redo local variables to
86231         avoid GCC shadowing warnings.
86232
86233 2005-08-18  Bruno Haible  <bruno@clisp.org>
86234
86235         * lib/strstr.c (strstr): Fix return value in multibyte case.
86236         * lib/strcasestr.c (strcasestr): Likewise.
86237
86238 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
86239
86240         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
86241
86242 2005-08-17  Jim Meyering  <jim@meyering.net>
86243
86244         Make the %s format (seconds since the epoch) work for a negative
86245         number and when used with a zero-padded field width, e.g. %015s.
86246
86247         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
86248         label so that it precedes the code to set `digits'.  Otherwise,
86249         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
86250         print `00-22'.  Now, it prints `-0022', as it should.
86251
86252 2005-08-17  Bruno Haible  <bruno@clisp.org>
86253
86254         * modules/strstr (Files): Add m4/mbrtowc.m4.
86255         (Depends-on): Add mbuiter.
86256
86257 2005-08-17  Bruno Haible  <bruno@clisp.org>
86258
86259         * modules/strcasestr: New file.
86260         * MODULES.html.sh (String handling, based on ANSI C 89): Add
86261         strcasestr.
86262
86263 2005-08-17  Bruno Haible  <bruno@clisp.org>
86264
86265         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
86266
86267 2005-08-17  Bruno Haible  <bruno@clisp.org>
86268
86269         * modules/mbuiter: New file.
86270         * MODULES.html.sh (Extended multibyte and wide character utilities):
86271         Add mbuiter.
86272
86273 2005-08-17  Bruno Haible  <bruno@clisp.org>
86274
86275         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
86276         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
86277
86278 2005-08-17  Bruno Haible  <bruno@clisp.org>
86279
86280         * m4/strcasestr.m4: New file.
86281
86282 2005-08-17  Bruno Haible  <bruno@clisp.org>
86283
86284         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
86285         * lib/strstr.c: Completely rewritten, with multibyte locale support.
86286
86287 2005-08-17  Bruno Haible  <bruno@clisp.org>
86288
86289         * lib/strcasestr.h: New file.
86290         * lib/strcasestr.c: New file.
86291
86292 2005-08-17  Bruno Haible  <bruno@clisp.org>
86293
86294         * lib/strcasecmp.c: Use mbuiter.h.
86295
86296 2005-08-17  Bruno Haible  <bruno@clisp.org>
86297
86298         * lib/mbuiter.h: New file.
86299
86300 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
86301
86302         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
86303         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
86304         and gl_GETOPT are both invoked via different paths (as happens
86305         with GNU tar CVS because it uses both argp and getopt), the former
86306         wins.
86307
86308 2005-08-16  Bruno Haible  <bruno@clisp.org>
86309
86310         * modules/tls: New file.
86311         * MODULES.html.sh (Multithreading): Add tls.
86312
86313 2005-08-16  Bruno Haible  <bruno@clisp.org>
86314
86315         * modules/strnlen1: New file.
86316         * MODULES.html.sh (String handling): Add strnlen1.
86317
86318 2005-08-16  Bruno Haible  <bruno@clisp.org>
86319
86320         * modules/strcase (Files): Add m4/mbrtowc.m4.
86321         (Depends-on): Add strnlen1, mbchar.
86322
86323 2005-08-16  Bruno Haible  <bruno@clisp.org>
86324
86325         * modules/mbiter: New file.
86326         * MODULES.html.sh (Extended multibyte and wide character utilities):
86327         Add mbiter.
86328
86329 2005-08-16  Bruno Haible  <bruno@clisp.org>
86330
86331         * modules/mbfile: New file.
86332         * MODULES.html.sh (Extended multibyte and wide character utilities):
86333         Add mbfile.
86334
86335 2005-08-16  Bruno Haible  <bruno@clisp.org>
86336
86337         * modules/mbchar: New file.
86338         * MODULES.html.sh (Extended multibyte and wide character utilities):
86339         New section.
86340
86341 2005-08-16  Bruno Haible  <bruno@clisp.org>
86342
86343         * m4/tls.m4: New file, from GNU gettext.
86344
86345 2005-08-16  Bruno Haible  <bruno@clisp.org>
86346
86347         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
86348         always.
86349         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
86350
86351 2005-08-16  Bruno Haible  <bruno@clisp.org>
86352
86353         * m4/mbiter.m4: New file.
86354
86355 2005-08-16  Bruno Haible  <bruno@clisp.org>
86356
86357         * m4/mbfile.m4: New file.
86358
86359 2005-08-16  Bruno Haible  <bruno@clisp.org>
86360
86361         * m4/mbchar.m4: New file.
86362
86363 2005-08-16  Bruno Haible  <bruno@clisp.org>
86364
86365         * lib/tls.h: New file, from GNU gettext.
86366         * lib/tls.c: New file, from GNU gettext.
86367
86368 2005-08-16  Bruno Haible  <bruno@clisp.org>
86369
86370         * lib/strnlen1.h: New file.
86371         * lib/strnlen1.c: New file.
86372
86373 2005-08-16  Bruno Haible  <bruno@clisp.org>
86374
86375         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
86376         (mbi_init): Update.
86377         (mbi_avail, mbi_advance): Let the iteration end before the terminating
86378         NUL byte, not after it.
86379
86380 2005-08-16  Bruno Haible  <bruno@clisp.org>
86381
86382         * lib/strcase.h (strcasecmp): Add note in comments.
86383         * lib/strncasecmp.c: Use code from strcasecmp.c.
86384         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
86385         (strcasecmp): Work correctly in multibyte locales.
86386
86387 2005-08-16  Bruno Haible  <bruno@clisp.org>
86388
86389         * lib/mbiter.h: New file.
86390
86391 2005-08-16  Bruno Haible  <bruno@clisp.org>
86392
86393         * lib/mbfile.h: New file.
86394
86395 2005-08-16  Bruno Haible  <bruno@clisp.org>
86396
86397         * lib/mbchar.h: New file.
86398         * lib/mbchar.c: New file.
86399
86400 2005-08-16  Bruno Haible  <bruno@clisp.org>
86401
86402         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
86403         the valid ones. Makes the comparison operations transitive:
86404         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
86405         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
86406
86407 2005-08-15  Simon Josefsson  <jas@extundo.com>
86408
86409         * modules/ssize_t (License): Change to 'unlimited'.
86410
86411         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
86412
86413 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
86414
86415         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
86416         Add comments for each pending glibc patch.
86417
86418 2005-08-15  Bruno Haible  <bruno@clisp.org>
86419
86420         * lib/regex.h (__restrict_arr): Don't define to __restrict if
86421         __cplusplus is defined.
86422
86423 2005-08-14  Jim Meyering  <jim@meyering.net>
86424
86425         Sync from coreutils.
86426
86427         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
86428         Use the hash-table-based cycle-detection code not just when
86429         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
86430         Reported by James Youngman in
86431         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
86432         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
86433         FTS_TIGHT_CYCLE_CHECK.
86434         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
86435         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
86436         once again.
86437         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
86438         * lib/fts.c (fd_safer): Remove decl.
86439         Include fcntl--.h rather than unistd-safer.h
86440         (fts_safe_changedir): Don't call fd_safer; no longer needed
86441         now that we include fcntl--.h.
86442
86443 2005-08-12  Simon Josefsson  <jas@extundo.com>
86444
86445         * modules/getndelim2: Use ssize_t module.
86446         * modules/getnline: Likewise.
86447         * modules/safe-read: Likewise.
86448         * modules/xreadlink: Likewise.
86449
86450         * modules/ssize_t: New file.
86451
86452 2005-08-12  Simon Josefsson  <jas@extundo.com>
86453
86454         * m4/readline.m4: Look for termcap, curses or ncurses if required.
86455
86456 2005-08-12  Simon Josefsson  <jas@extundo.com>
86457
86458         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86459         ssize_t.
86460
86461 2005-08-12  Simon Josefsson  <jas@extundo.com>
86462
86463         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
86464         readline, getdelim and check_version.
86465         (Support for systems lacking ISO C 99: Sizes of integer types):
86466         Add size_max.
86467
86468 2005-08-12  Bruno Haible  <bruno@clisp.org>
86469
86470         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
86471
86472 2005-08-11  Simon Josefsson  <jas@extundo.com>
86473
86474         * modules/readline: New file.
86475
86476         * modules/strnlen (Files): Add strnlen.h.
86477
86478 2005-08-11  Simon Josefsson  <jas@extundo.com>
86479
86480         * m4/readline.m4: New file.
86481
86482 2005-08-11  Simon Josefsson  <jas@extundo.com>
86483
86484         * lib/readline.h, readline.c: New file.
86485
86486 2005-08-11  Simon Josefsson  <jas@extundo.com>
86487
86488         * doc/gnulib.texi (Initial import, Finishing touches): Mention
86489         gl_AVOID.
86490
86491 2005-08-11  Bruno Haible  <bruno@clisp.org>
86492
86493         * lib/strnlen.h (strnlen): Change parameter name to match comment.
86494
86495 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
86496
86497         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
86498
86499 2005-08-10  Simon Josefsson  <jas@extundo.com>
86500
86501         * tests/test-iconvme.c: New file.
86502
86503 2005-08-10  Simon Josefsson  <jas@extundo.com>
86504
86505         * m4/strnlen.m4: New file.
86506
86507         * m4/strndup.m4: Don't check for strnlen declaration, done in
86508         strnlen.m4.
86509
86510 2005-08-10  Simon Josefsson  <jas@extundo.com>
86511
86512         * lib/strndup.c: Use strnlen.h.
86513
86514         * lib/strnlen.h: New file.
86515
86516 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
86517
86518         * README: Typos.
86519
86520 2005-08-02  Simon Josefsson  <jas@extundo.com>
86521
86522         * modules/readline: New file.
86523
86524 2005-08-02  Simon Josefsson  <jas@extundo.com>
86525
86526         * modules/getdelim: New file.
86527
86528         * modules/getline: Rewrite, don't use getndelim2.
86529
86530 2005-08-02  Simon Josefsson  <jas@extundo.com>
86531
86532         * m4/getline.m4: Separate out getdelim stuff into separate module.
86533
86534         * m4/getdelim.m4: New file.
86535
86536 2005-08-02  Simon Josefsson  <jas@extundo.com>
86537
86538         * lib/getline.h, getline.c: Rewrite.
86539
86540         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
86541
86542 2005-07-31  Bruno Haible  <bruno@clisp.org>
86543
86544         * lib/lock.h (gl_lock_initializer): New macro.
86545         (gl_lock_define_initialized): Use it.
86546         (gl_rwlock_initializer): New macro.
86547         (gl_rwlock_define_initialized): Use it.
86548         (gl_recursive_lock_initializer): New macro.
86549         (gl_recursive_lock_define_initialized): Use it.
86550
86551 2005-07-30  Karl Berry  <karl@gnu.org>
86552
86553         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
86554         Report from Ben Pfaff, regarding getopt.
86555
86556 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
86557
86558         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
86559         normal way.
86560         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
86561         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
86562         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
86563         (gl_GETOPT): Use the new macros.  Most of the implementation
86564         is moved to the new macros.  This is for programs like Emacs
86565         that don't want all the functionality of gl_GETOPT.
86566
86567 2005-07-26  Bruno Haible  <bruno@clisp.org>
86568
86569         * m4/lock.m4: Update from GNU gettext.
86570
86571 2005-07-26  Bruno Haible  <bruno@clisp.org>
86572
86573         * lib/lock.h: Update from GNU gettext.
86574         * lib/lock.c: Update from GNU gettext.
86575
86576 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
86577
86578         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
86579         obsolescent AC_TRY_RUN.  Include the default includes files, for
86580         'exit'.
86581
86582 2005-07-24  Bruno Haible  <bruno@clisp.org>
86583
86584         * modules/visibility: New file.
86585         * MODULES.html.sh (Misc): Add visibility.
86586
86587 2005-07-24  Bruno Haible  <bruno@clisp.org>
86588
86589         * m4/visibility.m4: New file.
86590
86591 2005-07-24  Bruno Haible  <bruno@clisp.org>
86592
86593         * doc/visibility.texi: New file.
86594
86595 2005-07-22  Bruno Haible  <bruno@clisp.org>
86596
86597         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
86598         $(ALLOCA_H), redundant through BUILT_SOURCES.
86599         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
86600         redundant through BUILT_SOURCES.
86601         * modules/byteswap (Makefile.am): Remove explicit dependency on
86602         $(BYTESWAP_H), redundant through BUILT_SOURCES.
86603         * modules/fnmatch (Makefile.am): Remove explicit dependency on
86604         $(FNMATCH_H), redundant through BUILT_SOURCES.
86605         * modules/getopt (Makefile.am): Remove explicit dependency on
86606         $(GETOPT_H), redundant through BUILT_SOURCES.
86607         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
86608         redundant through BUILT_SOURCES.
86609         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
86610         redundant through BUILT_SOURCES.
86611         * modules/stdbool (Makefile.am): Remove explicit dependency on
86612         $(STDBOOL_H), redundant through BUILT_SOURCES.
86613         * modules/stdint (Makefile.am): Remove explicit dependency on
86614         $(STDINT_H), redundant through BUILT_SOURCES.
86615         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
86616         Remove explicit dependency on $(SYSEXITS_H).
86617         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
86618
86619 2005-07-18  Simon Josefsson  <jas@extundo.com>
86620
86621         * lib/check-version.c (check_version): Accept identical versions too.
86622
86623 2005-07-18  Bruno Haible  <bruno@clisp.org>
86624
86625         * modules/lock: New file.
86626         * MODULES.html.sh (Multithreading): New section.
86627
86628 2005-07-18  Bruno Haible  <bruno@clisp.org>
86629
86630         * m4/lock.m4: New file, from GNU gettext.
86631
86632 2005-07-18  Bruno Haible  <bruno@clisp.org>
86633
86634         * lib/lock.h: New file, from GNU gettext.
86635         * lib/lock.c: New file, from GNU gettext.
86636
86637 2005-07-18  Bruno Haible  <bruno@clisp.org>
86638
86639         * lib/lock.h (gl_once_t): New type.
86640         (gl_once_define, gl_once): New macros.
86641         * lib/lock.c (fresh_once): New variable.
86642         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
86643         functions.
86644
86645 2005-07-16  Simon Josefsson  <jas@extundo.com>
86646
86647         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
86648         workaround, suggested by Bruno.
86649
86650 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86651
86652         * modules/xalloc (Depends-on): Add xalloc-die.
86653         * modules/xvasprintf (Depends-on): Add xalloc-die.
86654
86655 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86656
86657         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
86658         with a minor change.
86659
86660 2005-07-15  Bruno Haible  <bruno@clisp.org>
86661
86662         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
86663         When using lib/poll.c, define poll as rpl_poll.
86664
86665 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
86666
86667         * modules/argp (Depends-on): Remove unlocked-io.
86668
86669 2005-07-14  Derek Price  <derek@ximbiot.com>
86670
86671         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
86672         for glob symlink bug.
86673
86674 2005-07-14  Bruno Haible  <bruno@clisp.org>
86675
86676         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
86677         Instead, test for *_unlocked function declarations directly.
86678
86679 2005-07-11  Simon Josefsson  <jas@extundo.com>
86680
86681         * modules/size_max: New file.
86682
86683         * modules/xsize: Depend on size_max module for size_max.m4.
86684
86685 2005-07-11  Simon Josefsson  <jas@extundo.com>
86686
86687         * lib/size_max.h: New file.
86688
86689 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
86690
86691         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
86692         copyright symbol and the year.
86693         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
86694         (version_etc_va): Use parameterized copyright notice.
86695         Reword to conform to the current GNU coding standards.
86696
86697 2005-07-11  Karl Berry  <karl@gnu.org>
86698
86699         * doc/gnulib.texi (Quoting): new node.
86700         (Initial import): more info, from Patrice.
86701
86702 2005-07-11  Bruno Haible  <bruno@clisp.org>
86703
86704         * gnulib-tool (func_usage): Document option --avoid.
86705         (Command line options): Handle --avoid.
86706         (func_acceptable): New function.
86707         (func_modules_transitive_closure): Use it.
86708
86709 2005-07-11  Bruno Haible  <bruno@clisp.org>
86710
86711         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
86712         Reported by Jim Meyering.
86713
86714 2005-07-10  Bruno Haible  <bruno@clisp.org>
86715
86716         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
86717         Needed when size_t is smaller than 'unsigned int'.
86718         Reported by Paul Eggert.
86719
86720 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86721
86722         * modules/argp (Depends-on): Add unlocked-io
86723
86724 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86725
86726         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
86727         block of defines.
86728
86729 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
86730
86731         * config/srclist.txt: Comment out regcomp.c, since we have a porting
86732         fix now.
86733
86734 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
86735         and Paul Eggert  <eggert@cs.ucla.edu>
86736
86737         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
86738         in wint_t, not wchar_t.  Remove now-unnecessary cast.
86739
86740 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86741
86742         * modules/regex (Files): Add lib/regex_internal.c,
86743         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
86744         (Depends-on): Add extensions.
86745         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
86746
86747 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86748
86749         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
86750         pathconf.
86751         * m4/same.m4 (gl_SAME): Likewise.
86752         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
86753
86754         * m4/regex.m4: Adjust to new libc regex implementation.
86755         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
86756         all the .c and .h parts of (the new) regex.
86757         Quote the m4 stuff better.
86758         Check for RE_ICASE bug of old gnulib.
86759         Check for REG_STARTEND of recent libc.
86760         Rename local variables from jm_* to gl_*.
86761         Quote operand of "test -f".
86762         Say "recent enough" version of libc, not "version 2".
86763         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
86764         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
86765         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
86766         Remove check for btowc, isascii.
86767         Require AM_LANGINFO_CODESET.
86768
86769 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86770
86771         * lib/regex.c, regex.h: Sync from libc.
86772         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
86773         * lib/regexec.c:
86774         New files, synced from libc, except that regex_internal.h
86775         currently has a small porting fix.
86776
86777 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86778
86779         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
86780         regex_internal.c, regexec.c.
86781         Add regex_internal.h too, but as a comment, since the libc version
86782         is currently broken in gnulib mode.
86783
86784 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
86785
86786         Support programs like Emacs that use gnulib but not gettext.
86787         * MODULES.html.sh (Internationalization functions): Add gettext-h.
86788         * modules/gettext-h: New file.
86789         * modules/gettext (Files): Remove lib/gettext.h.
86790         (Depends-on): Add gettext-h.
86791         (Makefile.am): Remove lib_SOURCES.
86792         * modules/argmatch, modules/c-stack, modules/closeout:
86793         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
86794         * modules/execute, modules/file-type, modules/getaddrinfo:
86795         * modules/getopt, modules/human, modules/javacomp:
86796         * modules/javaexec, modules/mkdir-p, modules/obstack:
86797         * modules/openat, modules/pagealign_alloc, modules/pipe:
86798         * modules/quotearg, modules/regex, modules/rpmatch:
86799         * modules/unicodeio, modules/userspec, modules/version-etc:
86800         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
86801         * modules/xsetenv:
86802         Depend on gettext-h, not gettext.
86803
86804 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
86805
86806         * gnulib-tool (func_import): Add support for 'public domain' license.
86807         * modules/alloca, modules/atexit, modules/memmove:
86808         Now public domain, not GPL.
86809         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
86810         * modules/realloc, modules/strerror, modules/strtod:
86811         Now LGPL, not GPL.
86812
86813 2005-07-05  Bruno Haible  <bruno@clisp.org>
86814
86815         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
86816         autoconf CVS. Needed for mingw.
86817
86818 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86819
86820         Remove the dependency of the strftime module on the tzset module.
86821         * modules/strftime (Depends-on): Remove dependency on tzset.
86822
86823 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86824
86825         Remove the dependency of the strftime module on the tzset module.
86826         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
86827         gl_FUNC_TZSET_CLOBBER.
86828
86829 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86830
86831         Remove the dependency of the strftime module on the tzset module.
86832         * lib/strftime.c (my_strftime)
86833         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
86834         Copy the input structure, to work around some of the bug with
86835         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
86836         Solaris releases, you should also use the tzset module, but we won't
86837         require it as a dependency any more since we don't want LGPLed code
86838         to depend on GPLed code.
86839
86840 2005-07-02  Jim Meyering  <jim@meyering.net>
86841
86842         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
86843         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
86844         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
86845         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
86846
86847 2005-07-02  Jim Meyering  <jim@meyering.net>
86848
86849         * lib/backupfile.c (backup_args): Change a `0' to NULL.
86850
86851 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
86852
86853         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
86854         declares only 'struct timespec;' (!).
86855
86856 2005-07-01  Jim Meyering  <jim@meyering.net>
86857
86858         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
86859         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
86860         * lib/save-cwd.c, tempname.c:
86861         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
86862         and don't include <sys/file.h>).
86863
86864 2005-06-29  Jim Meyering  <jim@meyering.net>
86865
86866         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
86867         type name.  Use the variable name instead.
86868         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
86869         Likewise.
86870
86871 2005-06-28  Simon Josefsson  <jas@extundo.com>
86872
86873         * modules/check-version (Files): Add check-version.m4.
86874
86875 2005-06-28  Simon Josefsson  <jas@extundo.com>
86876
86877         * m4/check-version.m4: New file, suggested by Jim Meyering
86878         <jim@meyering.net>.
86879
86880 2005-06-28  Simon Josefsson  <jas@extundo.com>
86881
86882         * lib/check-version.h, lib/check-version.c: New files.
86883
86884 2005-06-28  Simon Josefsson  <jas@extundo.com>
86885
86886         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
86887         collision with global variable.  Better indentation.  Don't
86888         increment buffer pointer beyond buffer end.  Based on comments
86889         from Paul Eggert <eggert@cs.ucla.edu>.
86890
86891         * lib/base64.h: Indent.
86892
86893 2005-06-28  Simon Josefsson  <jas@extundo.com>
86894
86895         * doc/gnulib.texi (Library version handling): New section.
86896
86897 2005-06-28  Jim Meyering  <jim@meyering.net>
86898
86899         * check-module (find_included_lib_files): Hard-code another
86900         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
86901         but modules/fts-lgpl (correctly) does not list those files.
86902
86903         * modules/canonicalize (Files): Add lib/pathmax.h.
86904
86905 2005-06-25  Simon Josefsson  <jas@extundo.com>
86906
86907         * modules/check-version: New file.
86908
86909 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
86910
86911         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
86912         initializer of struct addrinfo, as an indication that we don't
86913         care how many members the structure has.
86914
86915 2005-06-24  Derek Price  <derek@ximbiot.com>
86916         and Bruno Haible  <bruno@clisp.org>
86917
86918         Remove stat module & update lstat.
86919         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
86920         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
86921         * m4/stat.m4: Remove this file.
86922
86923 2005-06-24  Derek Price  <derek@ximbiot.com>
86924         and Bruno Haible  <bruno@clisp.org>
86925
86926         Remove stat module & update lstat.
86927         * lib/stat.c: Remove this file...
86928         (slash_aware_lstat): ...moving this content and its support...
86929         * lib/lstat.c (rpl_lstat): ...into here.
86930         * lib/lstat.h: New file.
86931
86932 2005-06-24  Derek Price  <derek@ximbiot.com>
86933         and Bruno Haible  <bruno@clisp.org>
86934
86935         Remove stat module & update lstat.
86936         * config/srclist.txt (libc sources): Remove stat.
86937
86938 2005-06-24  Derek Price  <derek@ximbiot.com>
86939         and Bruno Haible  <bruno@clisp.org>
86940
86941         Remove stat module & update lstat.
86942         * MODULES.html.sh (stat): Remove.
86943         * MODULES.html: Regenerated.
86944         * modules/lstat (Description): Correct function name.
86945         (Files): Add "lstat.h".
86946         (Depends-on): Remove stat, add xalloc, stat-macros.
86947         * modules/stat: Remove this file.
86948         (Include): Add "lstat.h", remove <sys/stat.h>.
86949
86950 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86951
86952         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
86953         (ranged_convert): Don't save conversion in a temporary struct.
86954         This causes a warning with GCC 4.0.0, and anyway in the typical
86955         case it's not worth the extra 100 bytes or so of code.
86956         (ranged_convert, __mktime_internal): When calling a function via a
86957         pointer P, use P () rather than (*P) (), as we now assume C89 or
86958         better.
86959
86960 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86961
86962         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
86963         "who -r" failed to give output.  Problem reported by Tim Waugh.
86964
86965         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
86966         (xcalloc): Use it to avoid needless tests.
86967         Problem reported by Jim Meyering.
86968
86969 2005-06-20  Derek Price  <derek@ximbiot.com>
86970
86971         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
86972         unnecessary for Autoconfs > 2.59c.
86973
86974 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86975
86976         * lib/argp.h (__option_is_short): Check upper limit of
86977         __key. Isprint() requires its argument to have the value
86978         of an unsigned char or EOF.
86979
86980 2005-06-16  Jim Meyering  <jim@meyering.net>
86981
86982         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
86983         when either N or S is zero.
86984
86985 2005-06-16  Derek Price  <derek@ximbiot.com>
86986
86987         * m4/bison.m4: Declare YACC & YFLAGS precious.
86988
86989 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
86990
86991         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
86992         multibyte string or pattern, fall back on unibyte matching.
86993         Problem reported by James Youngman.
86994
86995 2005-06-08  Bruno Haible  <bruno@clisp.org>
86996
86997         * modules/csharpcomp: New file.
86998         * MODULES.html.sh (C#): Add csharpcomp.
86999
87000 2005-06-08  Bruno Haible  <bruno@clisp.org>
87001
87002         * m4/csharpcomp.m4: New file, from GNU gettext.
87003
87004 2005-06-08  Bruno Haible  <bruno@clisp.org>
87005
87006         * lib/csharpcomp.h: New file, from GNU gettext.
87007         * lib/csharpcomp.c: New file, from GNU gettext.
87008         * lib/csharpcomp.sh.in: New file, from GNU gettext.
87009
87010 2005-06-08  Bruno Haible  <bruno@clisp.org>
87011
87012         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
87013         warning on mingw.
87014
87015 2005-06-07  Derek Price  <derek@ximbiot.com>
87016
87017         Sync from CVS.
87018         * lib/glob_.h: Indent nested #ifdef.
87019
87020 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87021
87022         Sync from coreutils.
87023         Use "file name" when talking about file names, instead of "filename"
87024         or "path", as per the GNU coding standards.
87025         * lib/mkdir-p.c: Renamed from makepath.c.
87026         (make_dir_parents): Renamed from make_path.  All callers changed.
87027         * lib/mkdir-p.h: Likewise.  All includers changed.
87028         * lib/filenamecat.c: Renamed from path-concat.c.
87029         (file_name_concat): Renamed from path_concat.  All callers changed.
87030         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
87031         * lib/filenamecat.h: Likewise.  All includers changed.
87032         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
87033         in comments or local variable names.
87034         * lib/basename.c: Likewise.
87035         * lib/canonicalize.c, canonicalize.h: Likewise.
87036         * lib/dirname.c, dirname.h: Likewise.
87037         * lib/euidaccess.c: Likewise.
87038         * lib/exclude.c: Likewise
87039         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
87040         * lib/fsusage.c, fsuage.h: Likewise.
87041         * lib/fts.c, fts_.h: Likewise.
87042         * lib/getcwd.c: Likewise.
87043         * lib/getloadavg.c: Likewise.
87044         * lib/mkstemp.c: Likewise.
87045         * lib/mountlist.c, mountlist.h: Likewise.
87046         * lib/openat.c, openat.h: Likewise.
87047         * lib/readlink-stub.c: Likewise.
87048         * lib/readutmp.c, readutmp.h: Likewise.
87049         * lib/rename.c: Likewise.
87050         * lib/rmdir.c: Likewise.
87051         * lib/same.c: Likewise.
87052         * lib/savedir.c: Likewise.
87053         * lib/stripslash.c: Likewise.
87054         * lib/tempname.c: Likewise.
87055         * lib/xreadlink.c: Likewise.
87056         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
87057         All uses changed.
87058         * lib/exclude.h: Likewise.
87059
87060         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
87061         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87062         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
87063         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87064         * lib/pathmax.h: Include <limits.h> unconditionally, since other
87065         files have been getting away with it for years (MORE/BSD 4.3
87066         is extinct now).
87067         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
87068         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87069
87070         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
87071         Define to 256, not 255, as per modern POSIX.
87072
87073 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87074
87075         Sync from coreutils.
87076         Use "file name" when talking about file names, instead of "filename"
87077         or "path", as per the GNU coding standards.
87078         * MODULES.html.sh: mkdir-p renamed from makepath.
87079         filenamecat renamed from path-concat.
87080         * modules/filenamecat: Renamed from modules/path-concat.
87081         (Files): filenamecat.h and filenamecat.c renamed from
87082         path-concat.h and path-concat.c.
87083         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
87084         (Include): filenamecat.h, not path-concat.h.
87085         * modules/mkdir-p: Renamed from modules/makepath.
87086         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
87087         makepath.c.
87088         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
87089         (Include): mkdir-p.h, not makepath.h.
87090
87091 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87092
87093         Sync from coreutils.
87094         * m4/mkdir-p.m4: Renamed from makepath.m4.
87095         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
87096         Rename files from makepath.c to mkdir-p.c, and from
87097         makepath.h to mkdir-p.h.
87098         * m4/filenamecat.m4: Renamed from path-concat.m4.
87099         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
87100         Rename files from path-concat.c to filenamecat.c,
87101         and from path-concat.h to filenamecat.h.
87102         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
87103         "file name" in local variables or comments.
87104         * m4/rename.m4: Likewise.
87105
87106 2005-06-01  Bruno Haible  <bruno@clisp.org>
87107
87108         * modules/csharpexec: New file.
87109         * MODULES.html.sh (C#): New section.
87110
87111 2005-06-01  Bruno Haible  <bruno@clisp.org>
87112
87113         * m4/csharp.m4: New file, from GNU gettext.
87114         * m4/csharpexec.m4: New file, from GNU gettext.
87115
87116 2005-06-01  Bruno Haible  <bruno@clisp.org>
87117
87118         * lib/csharpexec.h: New file, from GNU gettext.
87119         * lib/csharpexec.c: New file, from GNU gettext.
87120         * lib/csharpexec.sh.in: New file, from GNU gettext.
87121
87122 2005-05-31  Derek Price  <derek@ximbiot.com>
87123             Paul Eggert  <eggert@cs.ucla.edu>
87124
87125         Sync from cvs.
87126         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
87127
87128 2005-05-31  Derek Price  <derek@ximbiot.com>
87129             Paul Eggert  <eggert@cs.ucla.edu>
87130
87131         Sync from cvs.
87132         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
87133
87134 2005-05-29  Derek Price  <derek@ximbiot.com>
87135
87136         * config/srclist.txt (glob_.h, glob.c): Add these files.
87137
87138 2005-05-29  Derek Price  <derek@ximbiot.com>
87139
87140         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
87141         * modules/glob: New file.
87142         * modules/getlogin_r: Add link to POSIX spec in description.
87143
87144 2005-05-29  Derek Price  <derek@ximbiot.com>
87145             Paul Eggert  <eggert@cs.ucla.edu>
87146
87147         * m4/glob.m4: New file.
87148
87149 2005-05-29  Derek Price  <derek@ximbiot.com>
87150             Paul Eggert  <eggert@cs.ucla.edu>
87151
87152         * lib/glob_.h, lib/glob.c: New files.
87153
87154 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87155
87156         * modules/fts (Files): Remove m4/inttypes-pri.m4.
87157         * modules/fts-lgpl (Depends-on): Remove gettext.
87158
87159 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87160
87161         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
87162         and don't require gt_INTTYPES_PRI.
87163
87164 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87165
87166         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
87167
87168         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
87169         the configuration hassle isn't worth it.
87170         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
87171         (LONGEST_MODIFIER, PRIuMAX): Remove.
87172
87173 2005-05-27  Bruno Haible  <bruno@clisp.org>
87174
87175         * lib/getlogin_r.h: Remove second include of <stddef.h>.
87176
87177 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
87178
87179         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
87180         _POSIX_PTHREAD_SEMANTICS for Solaris.
87181
87182 2005-05-25  Derek Price  <derek@ximbiot.com>
87183
87184         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
87185
87186 2005-05-25  Derek Price  <derek@ximbiot.com>
87187             Paul Eggert  <eggert@cs.ucla.edu>
87188
87189         * modules/getlogin_r, m4/getlogin_r.m4: New files.
87190         * lib/getlogin_r.c, getlogin_r.h: New files.
87191
87192 2005-05-25  Bruno Haible  <bruno@clisp.org>
87193             Derek Price  <derek@ximbiot.com>
87194
87195         * lib/getlogin_r.h: Simplify API documentation.
87196
87197 2005-05-23  Derek Price  <derek@ximbiot.com>
87198
87199         * modules/minmax (Files): Add m4/minmax.m4.
87200         (configure.ac): Add gl_MINMAX.
87201
87202 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
87203
87204         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
87205         so that unistd-safer.h (GPL'ed code) need not be included.
87206
87207 2005-05-22  Bruno Haible  <bruno@clisp.org>
87208
87209         * m4/minmax.m4: New file.
87210         Based on a patch by Derek Price <derek@ximbiot.com>.
87211
87212 2005-05-22  Bruno Haible  <bruno@clisp.org>
87213
87214         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
87215         (INT64_MIN): Fix definition.
87216         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
87217
87218         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
87219         NEED_SIGNED_INT_TYPES.
87220
87221         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
87222         HAVE_SYSTEM_INTTYPES.
87223
87224 2005-05-22  Bruno Haible  <bruno@clisp.org>
87225
87226         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
87227         Also include <sys/param.h> if it defines MIN, MAX.
87228         Based on a patch by Derek Price <derek@ximbiot.com>.
87229
87230 2005-05-21  Jim Meyering  <jim@meyering.net>
87231
87232         * modules/fts (Files): Add m4/inttypes-pri.m4.
87233         (Depends-on): Add lstat and remove gettext.  Alphabetize.
87234
87235 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87236
87237         New fts module.
87238         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
87239         (setup_dir, free_dir): New functions.
87240         (enter_dir, leave_dir): Define trivial
87241         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
87242         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
87243         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
87244         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
87245         Move to fts-cycle.c.
87246         (fts_open): Use setup_dir.
87247         (fts_close): Use free_dir.
87248         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
87249         This adds a label and some gotos, but the alternatives were messier.
87250         Check for memory allocation failure when entering a dir.
87251         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
87252         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
87253         (FTS): New member fts_cycle, that is a union that contains the
87254         old active_dir_ht and cycle_state.  All uses changed to mention
87255         fts_cycle.ht and fts_cycle.state.
87256         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
87257         fts.c, with the following changes:
87258         (setup_dir, free_dir): New functions.
87259         (enter_dir): Now returns bool.  Return true if successful, false
87260         if memory exhausted.  All callers changed.
87261         Do not bother partly cleaning up on
87262         memory allocation failure; that is free_dir's job.
87263         However, free ad if hash_insert fails, to avoid memory leak.
87264         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
87265         fts->fts_options to see which union member to use.
87266
87267 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87268
87269         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
87270         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
87271
87272 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87273
87274         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
87275
87276 2005-05-20  Jim Meyering  <jim@meyering.net>
87277
87278         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
87279         Now a macro, to pacify GCC.
87280
87281 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
87282
87283         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
87284         of -1.
87285
87286 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
87287
87288         * lib/chown.c (rpl_chown): Return -1 on failure.
87289
87290 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
87291
87292         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
87293         Don't check for stddef.h.
87294         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
87295         don't use its results.
87296         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
87297         since we include them unconditionally.  Don't require
87298         AM_STDBOOL_H, since stdbool is a prerequisite.
87299         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
87300         since we assume C89 or better.
87301         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
87302         as we don't use their results.
87303         Don't check for fchdir, memmove, memset, strrchr, as we use
87304         them unconditionally.
87305         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
87306         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
87307
87308 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
87309
87310         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
87311         Include <stddef.h> unconditionally, since we assume C89 now.
87312         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
87313         * lib/fts.c: Include fts_.h first, to check interface.
87314         Do not include intprops.h; no longer needed.
87315         Include cycle-check.h and hash.h, since fts_.h no longer does.
87316         Remove unnecessary casts of closedir to void.
87317         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
87318         decide whether to decrement nlinks.
87319         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
87320         (FTS): Use struct hash_table * instead of Hash_table, so that
87321         we no longer need to include hash.h here.
87322
87323 2005-05-18  Jim Meyering  <jim@meyering.net>
87324
87325         * modules/dirfd (License): Change to LGPL.  Most of the code
87326         is already in the public domain.
87327
87328 2005-05-18  Jim Meyering  <jim@meyering.net>
87329
87330         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
87331         Reported by Yoann Vandoorselaere.
87332
87333 2005-05-17  Jim Meyering  <jim@meyering.net>
87334
87335         * m4/fts.m4: New file, from coreutils.
87336
87337 2005-05-17  Jim Meyering  <jim@meyering.net>
87338
87339         * lib/fts.c, lib/fts_.h: New files, from coreutils.
87340
87341 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87342
87343         Sync from coreutils.
87344         * m4/unlinkdir.m4: New file.
87345
87346 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87347
87348         Sync from coreutils.
87349         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
87350         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
87351         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
87352         White space changes only.
87353         * lib/makepath.c (make_path): Port to hosts where leading "//" is
87354         special.
87355         * lib/yesno.c: Include getline.h, not ctype.h.
87356         (yesno): Don't remove leading white space; POSIX doesn't allow it.
87357         Use getline to remove arbitrary restriction on response length.
87358
87359 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87360
87361         * config/srclist-update: Spell out "Street" in FSF postal
87362         mail address; this is the style the FSF seems to prefer.
87363
87364         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
87365         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
87366         this updates FSF postal mail address.
87367
87368         Sync from coreutils.
87369         * modules/unlinkdir: New file.
87370         * modules/yesno (Depends-on): Add getline.
87371         * MODULES.html.sh (File system functions): Add unlinkdir.
87372
87373 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87374
87375         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
87376         lib/strsep.h:
87377         Change the initial comment to refer to GPL, not LGPL.
87378         gnulib-tool will change it to LGPL as needed.
87379
87380         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
87381         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
87382         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
87383         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
87384         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
87385         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
87386         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
87387         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
87388         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
87389         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
87390         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
87391         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
87392         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
87393         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
87394         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
87395         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
87396         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
87397         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
87398         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
87399         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
87400         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
87401         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
87402         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
87403         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
87404         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
87405         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
87406         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
87407         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
87408         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
87409         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
87410         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
87411         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
87412         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
87413         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
87414         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
87415         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
87416         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
87417         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
87418         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
87419         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
87420         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
87421         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
87422         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
87423         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
87424         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
87425         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
87426         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
87427         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
87428         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
87429         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
87430         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
87431         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
87432         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
87433         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
87434         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
87435         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
87436         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
87437         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
87438         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
87439         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
87440         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
87441         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
87442         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
87443         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
87444         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
87445         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
87446         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
87447         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
87448         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
87449         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
87450         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
87451         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
87452         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
87453         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
87454         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
87455         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
87456         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
87457         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
87458         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
87459         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
87460         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
87461         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
87462         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
87463         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
87464         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
87465         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
87466         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
87467         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
87468         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
87469         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
87470         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
87471         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
87472         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
87473         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
87474         lib/yesno.c, lib/yesno.h:
87475         Update FSF postal mail address.
87476
87477 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87478
87479         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
87480         tests/test-memmem.c, tests/test-stpncpy.c:
87481         Update FSF postal mail address.
87482
87483 2005-05-13  Bruno Haible  <bruno@clisp.org>
87484
87485         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
87486         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
87487         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
87488         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
87489         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
87490         Add support for 64-bit integers in the MSVC compiler.
87491
87492 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87493
87494         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
87495
87496 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
87497
87498         * gnulib-tool (func_import): Sort and uniquify recommended includes.
87499
87500 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
87501
87502         * doc/getdate.texi (General date syntax): Don't say that date
87503         date --iso-8601=ns generates acceptable dates; it doesn't yet.
87504         Problem reported by Nic Ferrier.
87505
87506 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87507
87508         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
87509         specified in ai_socktype. Fix invalid ai_protocol
87510         check. ai_protocol is usually set to 0 or depending on
87511         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
87512         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
87513         ai_socktype / ai_protocol in the returned addrinfo structure.
87514
87515 2005-05-10  Simon Josefsson  <jas@extundo.com>
87516
87517         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
87518         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
87519
87520 2005-05-10  Karl Berry  <karl@gnu.org>
87521
87522         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
87523         (from http://www.gnu.org/licenses).
87524         * doc/COPYING.LIB: also rename to COPYING.LESSER.
87525         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
87526         fdl.texi suffices.
87527
87528 2005-05-10  Karl Berry  <karl@gnu.org>
87529
87530         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
87531         (COPYING.DOC): remove.
87532
87533         * config/srclist-update: new FSF address.
87534
87535 2005-05-10  Derek Price  <derek@ximbiot.com>
87536
87537         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
87538         possible.
87539
87540 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87541             Bruno Haible  <bruno@clisp.org>
87542
87543         * modules/inet_ntop: New file.
87544         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87545         inet_ntop.
87546
87547 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87548             Bruno Haible  <bruno@clisp.org>
87549
87550         * m4/inet_ntop.m4: New file.
87551
87552 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87553             Bruno Haible  <bruno@clisp.org>
87554
87555         * lib/inet_ntop.h: New file.
87556         * lib/inet_ntop.c: New file, from glibc with modifications.
87557
87558 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
87559
87560         * modules/time_r (License): Change to LGPL.
87561         * modules/extensions (License): Change to LGPL.  Actually,
87562         the license is more permissive than that, but currently gnulib-tool
87563         doesn't know how to handle more-permissive licenses.
87564
87565         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
87566         Problem reported by Dave Love.
87567
87568 2005-05-08  Jim Meyering  <jim@meyering.net>
87569
87570         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
87571         blank.
87572
87573 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
87574
87575         * modules/argmatch (Depends-on): Add stdbool.
87576         * modules/backupfile (Depends-on): Likewise.
87577         * modules/chdir-long (Depends-on): Likewise.
87578         * modules/closeout (Depends-on): Likewise.
87579         * modules/cycle-check (Depends-on): Likewise.
87580         * modules/dirname (Depends-on): Likewise.
87581         * modules/fnmatch (Depends-on): Likewise.
87582         * modules/fsusage (Depends-on): Likewise.
87583         * modules/fwriteerror (Depends-on): Likewise.
87584         * modules/getcwd (Depends-on): Likewise.
87585         * modules/getloadavg (Depends-on): Likewise.
87586         * modules/hard-locale (Depends-on): Likewise.
87587         * modules/makepath (Depends-on): Likewise.
87588         * modules/mountlist (Depends-on): Likewise.
87589         * modules/nanosleep (Depends-on): Likewise.
87590         * modules/posixtm (Depends-on): Likewise.
87591         * modules/quotearg (Depends-on): Likewise.
87592         * modules/readtokens (Depends-on): Likewise.
87593         * modules/readtokens0 (Depends-on): Likewise.
87594         * modules/readutmp (Depends-on): Likewise.
87595         * modules/save-cwd (Depends-on): Likewise.
87596         * modules/strftime (Depends-on): Likewise.
87597         * modules/userspec (Depends-on): Likewise.
87598         * modules/utimecmp (Depends-on): Likewise.
87599         * modules/xgetcwd (Depends-on): Likewise.
87600         * modules/xnanosleep (Depends-on): Likewise.
87601         * modules/xstrtod (Depends-on): Likewise.
87602         * modules/yesno (Depends-on): Likewise.
87603
87604 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
87605
87606         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
87607         needless checks.
87608
87609 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87610
87611         Merge from coreutils.  Among other things,
87612         add bulletproofing for cases where stdin, stdout, or stderr are closed.
87613         * lib/fd-safer.c: New file.
87614         * lib/fcntl-safer.h, open-safer.c: Remove.
87615         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
87616         * lib/dup-safer.c: Include unistd-safer.h first.
87617         Don't include errno.h.
87618         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
87619         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
87620         * lib/file-type.c: Rely on file-type.h change.
87621         * lib/getloadavg.c: Include unistd-safer.h.
87622         (getloadavg): Use safer open.
87623         * lib/getusershell.c: Include "stdio-safer.h".
87624         (getusershell): Use safer fopen.
87625         * lib/long-options.c (long_options): Use NULL rather than 0.
87626         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
87627         'free'.
87628         * lib/modechange.c: Likewise.
87629         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
87630         (MODE_DONE): New constant.
87631         (struct mode_change): Remove 'next' member.
87632         (make_node_op_equals): New function; like the old one of the
87633         same name, except it allocates an array.
87634         (mode_compile, mode_create_from_ref): Use it.
87635         (mode_compile): Allocate result as an array, not a linked list.
87636         Parse octal string ourself, so that we catch mistakes like "+0".
87637         (mode_adjust): Arg is an array, not a linked list.
87638         * lib/modechange.c: Include stat-macros.h, xalloc.h.
87639         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
87640         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
87641         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
87642         Remove.  This is now stat-macros.h's job.
87643         (talloc): Remove.  All callers replaced by xalloc, so that
87644         our invokers don't have to worry about reporting memory failures.
87645         (make_node_op_equals): Remove.
87646         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87647         New constants.
87648         (struct mode_change): Moved here from modechange.h.
87649         (mode_append_entry): Remove.
87650         (mode_compile): Remove MASKED_OPS arg, since it encouraged
87651         apps to have incorrect behavior.  Use simpler algorithm for head
87652         and tail.  Don't futz with umask; that's now the job of mode_adjust.
87653         Detect more invalid usages rather than having somewhat-random behavior.
87654         Don't insert an "a=" action, as that leads to incorrect behavior.
87655         (mode_compile, mode_create_from_ref): Return NULL on error instead
87656         of an enum, since now there's only one way to have an error.  All
87657         callers changed.
87658         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
87659         at the correct time.  Simplify calculation of "+u" and its ilk.
87660         Don't mishandle "+X".
87661         (mode_free): Remove "register" and localize decls.
87662         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87663         (struct mode_change): Move to modechange.c; callers don't
87664         need to see this stuff.
87665         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
87666         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
87667         (mode_change, mode_adjust): Reflect the new signatures noted above.
87668         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
87669         that might redefine system include files.
87670         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
87671         (my_usleep): Use NULL rather than (void *) 0.
87672         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
87673         Use siginterrupt to specify that system calls should be interrupted.
87674         (rpl_nanosleep): Move initialization of suspended closer to call of
87675         my_usleep.
87676         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
87677         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
87678         (desirable_utmp_entry): New function.
87679         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
87680         using x2nrealloc, to simplify logic.
87681         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
87682         size calculation.  Do not assume utmp file is a regular file.
87683         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
87684         (READ_UTMP_CHECK_PIDS): New constant.
87685         * lib/save-cwd.c: Include unistd-safer.h.
87686         (save_cwd): Use fd_safer.
87687         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
87688         [!_LIBC] Include "stat-macros.h" instead.
87689         * lib/unistd-safer.h (fd_safer): New decl.
87690
87691 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87692
87693         * modules/getloadavg (Depends-on): Add unistd-safer.
87694         * modules/getusershell (Depends-on): Add stdio-safer.
87695         * modules/lstat (Depends-on): Remove xalloc.
87696         * modules/mkstemp (Depends-on): Add stat-macros.
87697         * modules/modechange (Depends-on): Remove xstrtol.
87698         Add stat-macros, xalloc.
87699         * modules/save-cwd (Depends-on): Add unistd-safer.
87700         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
87701         * modules/unistd-safer (Files): Add lib/fd-safer.c
87702         (Makefile.am): Remove lib_SOURCES.
87703
87704         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
87705         Remove fcntl-safer; unistd-safer supersedes it.
87706
87707 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87708
87709         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
87710         AC_HEADER_STAT.
87711         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
87712         (gl_PREREQ_CHOWN): Remove.
87713         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
87714         it.  Don't require AC_HEADER_STAT.
87715         (gl_PREREQ_LSTAT): Remove.
87716         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
87717         Don't require AC_HEADER_STAT.
87718         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
87719         (gl_PREREQ_RMDIR): Remove.
87720         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
87721         mention stat-macros.h or AC_HEADER_STAT, since we'll make
87722         the stat-macros module a prerequisite.
87723         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
87724         * m4/filemode.m4 (gl_FILEMODE): Likewise.
87725         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
87726         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
87727         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
87728         variable names.
87729         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
87730         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
87731         variable prefixes.
87732         * m4/fcntl-safer.m4: Remove.
87733         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
87734         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
87735         Invoke gl_PREREQ_FD_SAFER.
87736         (gl_PREREQ_FD_SAFER): New macro.
87737         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
87738         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
87739         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
87740         Remove duplicate call to AC_LIBOBJ(readutmp).
87741         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
87742
87743         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
87744         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
87745
87746 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87747
87748         * MODULES.html.sh (Misc): Add byteswap.
87749
87750 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87751
87752         * modules/getcwd (Depends-on): Add extensions.
87753         * modules/openat (Depends-on): Likewise.
87754
87755 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87756
87757         * modules/byteswap: New file.
87758
87759 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87760
87761         * m4/byteswap.m4: New file.
87762
87763 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87764
87765         * lib/byteswap_.h: New file.
87766
87767 2005-04-25  Karl Berry  <karl@gnu.org>
87768
87769         * m4/gettext.m4: Update from GNU gettext 0.14.4.
87770
87771 2005-04-25  Albert Chin  <china@thewrittenword.com>
87772
87773         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
87774         Toolkit C bug.
87775
87776 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
87777
87778         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
87779         (func_ln_if_changed): Remove forcibly for no error message
87780         in case file does not exist.
87781
87782 2005-04-19  Simon Josefsson  <jas@extundo.com>
87783
87784         * gnulib-tool (Options): Make --symlink mean --symbolic.
87785
87786 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
87787
87788         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
87789
87790 2005-04-16  Simon Josefsson  <jas@extundo.com>
87791
87792         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
87793
87794 2005-04-15  Simon Josefsson  <jas@extundo.com>
87795
87796         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
87797
87798 2005-04-15  Simon Josefsson  <jas@extundo.com>
87799
87800         * gnulib-tool: Rename --symlink to --symbolic.
87801
87802 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
87803
87804         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
87805         symbolic links to files instead of copying/moving.  Add --aux-dir,
87806         specifying directory relative --dir where auxiliary build tools
87807         are placed.
87808
87809 2005-04-14  Bruno Haible  <bruno@clisp.org>
87810
87811         * modules/allocsa (License): Change to LGPL.
87812         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
87813
87814 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
87815
87816         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
87817         that "UTC +1 second" continues to work.  Problem reported
87818         by Dmitry V. Levin.
87819         (relunit_snumber): New rule.
87820         (relunit): Use it.
87821
87822 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
87823
87824         * lib/getdate.y (universal_time_zone_table): New constant.
87825         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
87826         universal_time_zone_table.
87827         (lookup_zone): Prefer universal_time_zone_table to
87828         local_time_zone_table, so that "GMT" time stamps are allowed in
87829         London during the summer.  Problem reported by Ian Abbott.
87830
87831 2005-04-12  Jim Meyering  <jim@meyering.net>
87832
87833         * lib/human.c (humblock): Set *options even when returning due to
87834         xstrtoumax conversion failure.  Thanks to a used-uninitialized
87835         warning from gcc-4.
87836
87837 2005-04-09  Jim Meyering  <jim@meyering.net>
87838
87839         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
87840         -Wuninitialized: initialize tm0.tm_year.
87841
87842 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
87843
87844         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
87845         count, since there's no maximum.  All uses changed.
87846         Add member dsts_seen.
87847         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
87848         not being INT_MAX.
87849         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
87850         Use pc_rels_seen to decide whether a date is absolute.
87851
87852         * lib/getdate.y (number): Don't overwrite year.
87853         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
87854         check.
87855
87856 2005-04-02  Simon Josefsson  <jas@extundo.com>
87857
87858         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
87859         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
87860
87861 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
87862
87863         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
87864         where no absolute path name can be longer than PATH_MAX.
87865
87866 2005-03-27  Jim Meyering  <jim@meyering.net>
87867
87868         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
87869
87870 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
87871
87872         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
87873         "one's complement" -> "ones' complement" in comment, as per Knuth.
87874         "value of type" -> "type or expression" in comment.
87875         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
87876
87877 2005-03-26  Jim Meyering  <jim@meyering.net>
87878
87879         Comment nits.
87880         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
87881         Correct typos: s/or/of/.
87882
87883 2005-03-26  Jim Meyering  <jim@meyering.net>
87884
87885         * modules/check-include-files: Move to ../ and rename to...
87886         * check-module: ...this.
87887
87888 2005-03-25  Jim Meyering  <jim@meyering.net>
87889
87890         * modules/xvasprintf (Files): Add xalloc.h.
87891
87892 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
87893
87894         * modules/gettext (Files): config/config.rpath ->
87895         build-aux/config.rpath
87896         * modules/iconv (Files): Likewise.
87897         Problem reported by Oskar Liljeblad.
87898
87899 2005-03-23  Jim Meyering  <jim@meyering.net>
87900
87901         * modules/check-include-files: New script to check for
87902         missing dependencies, multiple includes, etc.
87903
87904         * modules/c-strtold (Depends-on): Add xalloc.
87905         * modules/c-strtod (Depends-on): Add xalloc.
87906         * modules/hash (Depends-on): Add xalloc.
87907         (Files): Remove lib/xalloc.h.
87908
87909         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
87910         * modules/userspec (Files): Add lib/inttostr.h.
87911
87912 2005-03-23  Jim Meyering  <jim@meyering.net>
87913
87914         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
87915
87916 2005-03-22  Jim Meyering  <jim@meyering.net>
87917
87918         * modules/stat-macros: New module.
87919         * modules/canonicalize, modules/euidaccess, modules/file-type,
87920         * modules/filemode, modules/lchown, modules/makepath,
87921         * modules/rmdir, modules/stat: Depend on new stat-macros module
87922         rather than listing lib/stat-macros.h manually.
87923         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
87924
87925 2005-03-22  Jim Meyering  <jim@meyering.net>
87926
87927         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
87928
87929 2005-03-22  Bruno Haible  <bruno@clisp.org>
87930
87931         * config/srclist.txt: Replace target directory 'config' with
87932         'build-aux'.
87933         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
87934         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
87935         ../build-aux/.
87936
87937 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
87938
87939         * modules/chdir-long (Depends-on): Add mempcpy.
87940
87941         * modules/acl, modules/backupfile, modules/c-strtod,
87942         modules/c-strtold, modules/canon-host, modules/canonicalize,
87943         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
87944         modules/exclude, modules/exitfail, modules/file-type,
87945         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
87946         modules/getdate, modules/getline, modules/getpagesize,
87947         modules/getpass, modules/getugroups, modules/group-member,
87948         modules/hard-locale, modules/hash, modules/human, modules/idcache,
87949         modules/inttostr, modules/long-options, modules/makepath,
87950         modules/md5, modules/memcasecmp, modules/memcoll,
87951         modules/modechange, modules/mountlist, modules/path-concat,
87952         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
87953         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
87954         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
87955         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
87956         modules/strftime, modules/strndup, modules/strverscmp,
87957         modules/timespec, modules/unlocked-io, modules/userspec,
87958         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
87959         modules/yesno:
87960         Remove lib_SOURCES line from Makefile.am section, as this is now
87961         done automatically by the corresponding Autoconf macro.
87962
87963 2005-03-21  Jim Meyering  <jim@meyering.net>
87964
87965         Changes imported from coreutils.
87966
87967         * lib/cycle-check.c: Don't include xalloc.h.
87968
87969         * lib/path-concat.c: Don't include assert.h.
87970         (path_concat): Remove assertion that would have triggered
87971         for ABASE starting with more than one slash.
87972         Reported by Andreas Schwab.
87973
87974         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
87975         properly when ABASE is an absolute file name.
87976         Correct the description of this function.
87977         Include <assert.h>.
87978         Add an assertion and a test driver.
87979         This fixes a bug introduced on 2004-07-02.
87980         Andreas Schwab reported the resulting failure of cp --parents:
87981         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
87982
87983 2005-03-21  Jim Meyering  <jim@meyering.net>
87984
87985         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
87986         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
87987
87988 2005-03-21  Jim Meyering  <jim@meyering.net>
87989         and  Paul Eggert  <eggert@cs.ucla.edu>
87990
87991         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
87992         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
87993         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
87994         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
87995         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
87996         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
87997         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
87998         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
87999         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
88000         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
88001         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
88002         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
88003         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
88004         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
88005         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
88006         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
88007         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
88008         for these modules.
88009
88010 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
88011
88012         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
88013         (which shouldn't happen), generate nothing instead of returning 0
88014         immediately, so that nstrftime (NULL, ...) doesn't return 0.
88015
88016 2005-03-16  Bruno Haible  <bruno@clisp.org>
88017
88018         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
88019         HAVE_LONGLONG_64BIT.
88020
88021 2005-03-16  Bruno Haible  <bruno@clisp.org>
88022
88023         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
88024         HAVE_LONGLONG_64BIT.
88025
88026 2005-03-16  Bruno Haible  <bruno@clisp.org>
88027
88028         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
88029         HAVE_LONGLONG_64BIT.
88030
88031 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
88032
88033         * lib/strftime.c (my_strftime): Prepend space to format so that we can
88034         reliably distinguish strftime failure from empty output on POSIX
88035         hosts.
88036
88037 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
88038
88039         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
88040         (iconv_string): Don't guess a size-zero buffer, as that might cause
88041         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
88042         result would be 'too large', where 'too large' is (heuristically)
88043         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
88044         overflow concerns.  This will prevent some unwanted malloc failures
88045         when the inputs are very large.
88046
88047 2005-03-15  Karl Berry  <karl@gnu.org>
88048
88049         * config/srclist.txt (config.rpath): from gettext.
88050         * config/config.rpath: update.
88051
88052 2005-03-15  Bruno Haible  <bruno@clisp.org>
88053
88054         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
88055         to 'negate'.
88056
88057         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
88058         variable.
88059
88060         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
88061         results.
88062
88063 2005-03-14  Simon Josefsson  <jas@extundo.com>
88064
88065         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
88066         <fx@gnu.org>.
88067
88068 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
88069
88070         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
88071         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
88072         intprops.h.
88073         * lib/strtol.c: Likewise.
88074
88075 2005-03-14  Jim Meyering  <jim@meyering.net>
88076
88077         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
88078         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
88079         to be nonzero so that we (and caller) can detect the difference
88080         between a valid zero-length expansion and an error return, even
88081         when the underlying strftime fails before writing anything into
88082         that location.
88083
88084 2005-03-14  Bruno Haible  <bruno@clisp.org>
88085
88086         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
88087         Update from GNU gettext 0.14.3.
88088
88089 2005-03-10  Jim Meyering  <jim@meyering.net>
88090
88091         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
88092
88093 2005-03-10  Jim Meyering  <jim@meyering.net>
88094
88095         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
88096         so that this module works on systems without fchdir.
88097
88098 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
88099
88100         Factor int-properties macros into a single file, except for
88101         glibc-related files.
88102         * lib/intprops.h: New file.
88103         * lib/getloadavg.c: Include it instead of limits.h.
88104         (INT_STRLEN_BOUND): Remove.
88105         * lib/human.c: Include intprops.h.
88106         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
88107         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
88108         302/1000.
88109         * lib/inttostr.h: Include intprops.h instead of limits.h.
88110         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
88111         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
88112         for consistency with intprops.h.
88113         (time_t_is_integer, twos_complement_arithmetic): Use them.
88114         * lib/sig2str.h: Include <signal.h>, intprops.h.
88115         (INT_STRLEN_BOUND): Remove.
88116         * lib/strftime.c (TYPE_SIGNED): Remove.
88117         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
88118         * lib/strtol.c: Adjust comments to match intprops.h.
88119         * lib/userspec.c: Include intprops.h.
88120         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
88121         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
88122         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
88123         instead of rolling our own expressions.
88124         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
88125
88126         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
88127         instead of int.
88128         (my_strftime): Do not mishandle years close to INT_MAX, by doing
88129         the right thing even if adding 1900 would overflow.  Similarly
88130         for tm_mon + 1 and tm_yday + 1.
88131         Make %Y always equivalent to %C%y, and similarly for %G and %g.
88132         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
88133         (DO_SIGNED_NUMBER): New macro.
88134         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
88135
88136 2005-03-07  Bruno Haible  <bruno@clisp.org>
88137
88138         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
88139
88140 2005-03-07  Bruno Haible  <bruno@clisp.org>
88141
88142         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
88143
88144 2005-03-04  Derek R. Price  <derek@ximbiot.com>
88145
88146         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
88147         (func_import): Only replace files via --import when they have actually
88148         changed.
88149
88150 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88151
88152         * m4/mmap-anon.m4: New file.
88153         * m4/pagealign_alloc.m4: New file.
88154
88155 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88156             Bruno Haible  <bruno@clisp.org>
88157
88158         * modules/pagealign_alloc: New file.
88159         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
88160
88161 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88162             Bruno Haible  <bruno@clisp.org>
88163
88164         * lib/pagealign_alloc.h: New file.
88165         * lib/pagealign_alloc.c: New file.
88166
88167 2005-03-03  Bruno Haible  <bruno@clisp.org>
88168
88169         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
88170         Use an all-permissive copyright notice, recommended by RMS.
88171
88172 2005-03-02  Bruno Haible  <bruno@clisp.org>
88173
88174         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
88175         of AIX, the replacement has to be done only after <string.h> is
88176         included, therefore not in config.h. stpncpy.h does the replacement,
88177         and stpncpy.c uses it.
88178
88179 2005-03-02  Bruno Haible  <bruno@clisp.org>
88180
88181         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
88182         stpncpy.c uses it.
88183
88184 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88185
88186         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
88187         The workaround isn't strictly needed for POSIX conformance, and
88188         it's too much of a pain to configure and maintain.  We'll ask
88189         people to fix their kernels instead.
88190         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
88191         (NANOSLEEP_BUG_WORKAROUND): Remove.
88192         (xnanosleep): Remove the workaround.
88193
88194 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88195
88196         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
88197         Reported by Derek Price.
88198         (Include): Add "timespec.h".
88199
88200         * modules/xnanosleep (Depends-on): Remove gethrxtime.
88201
88202 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88203
88204         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
88205         to detect nanosleep bug.
88206
88207 2005-03-01  Bruno Haible  <bruno@clisp.org>
88208
88209         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
88210
88211 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
88212
88213         * modules/gethrxtime: New file.
88214         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
88215         (Depends-on): Add gethrxtime.
88216         (configure.ac): Add gl_XNANOSLEEP.
88217         (Makefile.am): Remove lib_SOURCES line.
88218
88219 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
88220
88221         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
88222         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
88223
88224 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
88225
88226         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
88227         * lib/timespec.h (gettime): Return void, since it always
88228         succeeds now.  All uses changed.
88229         * lib/gettime.c (gettime): Likewise.
88230         [HAVE_NANOTIME]: Prefer nanotime.
88231         Assume gettimeofday succeeds, as POSIX requires.
88232         Assime time () succeeds, since other code already does.
88233         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
88234         (timespec_subtract): Remove.
88235         (NANOSLEEP_BUG_WORKAROUND): New constant.
88236         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
88237         things considerably.  Use it only on GNU/Linux hosts, since the
88238         workaround shouldn't be needed elsewhere.
88239
88240 2005-02-24  Bruno Haible  <bruno@clisp.org>
88241
88242         * modules/gettext (Files): Add m4/glibc2.m4.
88243
88244 2005-02-24  Bruno Haible  <bruno@clisp.org>
88245
88246         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
88247         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
88248         * m4/progtest.m4:
88249         Update from GNU gettext 0.14.2.
88250         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
88251
88252 2005-02-24  Bruno Haible  <bruno@clisp.org>
88253
88254         * lib/localcharset.c: Update from GNU gettext 0.14.2.
88255         * lib/config.charset: Update from GNU gettext 0.14.2.
88256
88257 2005-02-24  Bruno Haible  <bruno@clisp.org>
88258
88259         * lib/gettext.h: Update from GNU gettext 0.14.2.
88260
88261 2005-02-23  Simon Josefsson  <jas@extundo.com>
88262
88263         * m4/iconvme.m4: New file.
88264
88265 2005-02-23  Jim Meyering  <jim@meyering.net>
88266
88267         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
88268         change.
88269         Thanks to Bruno Haible for catching it.
88270
88271 2005-02-22  Simon Josefsson  <jas@extundo.com>
88272
88273         * modules/iconvme: New file.
88274
88275         * MODULES.html.sh: Add iconvme.
88276
88277 2005-02-22  Simon Josefsson  <jas@extundo.com>
88278
88279         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
88280
88281 2005-02-22  Simon Josefsson  <jas@extundo.com>
88282
88283         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
88284
88285 2005-02-22  Jim Meyering  <jim@meyering.net>
88286
88287         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
88288         s/ifndef/ifdef/.
88289
88290 2005-02-20  Neil Conway  <neilc@samurai.com>
88291
88292         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
88293         returned by OSX/Darwin if the specified buffer is not large
88294         enough for the hostname.
88295
88296 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88297
88298         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
88299         pass it to _help, otherwise the latter coredumps trying to
88300         dereference state.root_argp.
88301
88302 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88303
88304         * modules/chdir-long (Depends-on): Add memrchr.
88305         * modules/memrchr (Files): Add lib/memrchr.h.
88306         (Include): "memrchr.h".
88307
88308 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88309
88310         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
88311
88312 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88313
88314         * lib/memrchr.h: New file.
88315         * lib/chdir-long.c: Include it.
88316         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
88317         Don't bother including stddef.h.
88318
88319 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
88320
88321         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
88322         inclusion.
88323         Include <sys/types.h>, for dev_t.
88324         (ME_DUMMY, ME_REMOTE): Move from here....
88325         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
88326         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
88327         Dmitry V. Levin.
88328         Include mountlist.h first, to test the interface.
88329
88330 2005-01-29  Bruno Haible  <bruno@clisp.org>
88331
88332         * lib/progname.c (program_name): Initialize.
88333         Needed when linking statically on MacOS X.
88334
88335 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
88336
88337         Sync from coreutils.
88338         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
88339         (Depends-on): Add c-strtod.
88340         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
88341
88342 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
88343
88344         Sync from coreutils.
88345         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
88346
88347         Remove files that are specific to coreutils.
88348         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
88349
88350 2005-01-28  Bruno Haible  <bruno@clisp.org>
88351
88352         * modules/javacomp: New file.
88353         * MODULES.html.sh (Java): Add javacomp.
88354
88355 2005-01-28  Bruno Haible  <bruno@clisp.org>
88356
88357         * m4/javacomp.m4: New file, from GNU gettext.
88358
88359 2005-01-28  Bruno Haible  <bruno@clisp.org>
88360
88361         * lib/javacomp.sh.in: New file, from GNU gettext.
88362         * lib/javacomp.h: New file, from GNU gettext.
88363         * lib/javacomp.c: New file, from GNU gettext.
88364
88365 2005-01-26  Simon Josefsson  <jas@extundo.com>
88366
88367         * lib/gai_strerror.c: Use GPL in header.
88368
88369 2005-01-26  Bruno Haible  <bruno@clisp.org>
88370
88371         * modules/javaexec: New file.
88372         * MODULES.html.sh (Java): Add javaexec.
88373
88374 2005-01-26  Bruno Haible  <bruno@clisp.org>
88375
88376         * m4/javaexec.m4: New file, from GNU gettext.
88377
88378 2005-01-26  Bruno Haible  <bruno@clisp.org>
88379
88380         * lib/javaexec.sh.in: New file, from GNU gettext.
88381         * lib/javaexec.h: New file, from GNU gettext.
88382         * lib/javaexec.c: New file, from GNU gettext.
88383
88384 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88385
88386         * modules/lchown (Depends-on): Remove lchown.h
88387
88388 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88389
88390         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
88391         must be defined if the header file was not found, in order
88392         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
88393
88394 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88395
88396         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
88397         initializers for struct pentry_state.
88398         (__argp_error): Check return value of __asprintf
88399         (__argp_failure): Translate error message
88400
88401         * lib/argp-parse.c: Removed braces around the expansion of N_()
88402
88403 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
88404
88405         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
88406         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
88407         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
88408         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
88409         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
88410         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
88411         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
88412         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
88413         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
88414         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
88415         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
88416         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
88417         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
88418         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
88419         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
88420         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
88421         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
88422         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
88423         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
88424         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
88425         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
88426         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
88427         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
88428         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
88429         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
88430         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
88431         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
88432         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
88433         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
88434         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
88435         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
88436         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
88437         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
88438         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
88439         xstrtol.m4, xstrtoumax.m4, yesno.m4:
88440         Use an all-permissive copyright notice, recommended by RMS.
88441
88442 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
88443
88444         * modules/chdir-long (Depends-on): Remove mempcpy.
88445
88446 2005-01-21  Jim Meyering  <jim@meyering.net>
88447
88448         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
88449         same value as for Solaris 9.
88450
88451         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
88452         component length.  This included changing the parameter to be
88453         of type `char *' rather than `char const *'.
88454         * lib/chdir-long.h (chdir_long): Update prototype.
88455
88456         * lib/openat.c (fdopendir, fstatat): New functions.
88457         * lib/openat.h: Include headers required for use of DIR and struct
88458         stat.
88459         [AT_SYMLINK_NOFOLLOW]: Define.
88460         (fdopendir, fstatat): Add prototypes.
88461
88462 2005-01-21  Bruno Haible  <bruno@clisp.org>
88463
88464         * modules/classpath: New file.
88465         * MODULES.html.sh (Java): Add classpath.
88466
88467 2005-01-21  Bruno Haible  <bruno@clisp.org>
88468
88469         * lib/classpath.h: New file, from GNU gettext.
88470         * lib/classpath.c: New file, from GNU gettext.
88471
88472 2005-01-20  Simon Josefsson  <jas@extundo.com>
88473
88474         * modules/version-etc-fsf: New file.
88475
88476 2005-01-20  Simon Josefsson  <jas@extundo.com>
88477
88478         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
88479         * lib/version-etc.c: Remove version_etc_copyright.
88480         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
88481         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
88482
88483 2005-01-20  Simon Josefsson  <jas@extundo.com>
88484
88485         * lib/base64.h (isbase64): Add.
88486
88487         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
88488         using a unsigned prototype, don't inline.
88489         (base64_decode): Use it.
88490
88491 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88492
88493         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
88494         it.
88495
88496 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88497
88498         * lib/save-cwd.c (save_cwd): Remove code to support the case
88499         where fchdir is missing or flaky.
88500
88501 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88502
88503         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
88504
88505 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
88506
88507         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
88508         AC_LIBSOURCES now does this.
88509         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
88510         with new ullong_max module.
88511
88512 2005-01-19  Bruno Haible  <bruno@clisp.org>
88513
88514         * modules/sh-quote: New file.
88515         * MODULES.html.sh (Executing programs): Add sh-quote.
88516
88517 2005-01-19  Bruno Haible  <bruno@clisp.org>
88518
88519         * lib/sh-quote.h: New file, from GNU gettext.
88520         * lib/sh-quote.c: New file, from GNU gettext.
88521
88522 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88523
88524         Merge from coreutils.
88525         * m4/ullong_max.m4: New file.
88526         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
88527         (gl_MACROS): Assume localeconv exists.
88528
88529 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88530
88531         Merge changes from coreutils, as described below in several
88532         changelogs dated today.
88533
88534         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
88535         (O_DIRECTORY): Remove; not needed here, since "." must be
88536         a directory.  All uses removed.
88537         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
88538         universal on Suns, and we also need to test for IRIX.
88539         Revamp code to use 'if' rather than '#if'.
88540         Avoid unnecessary comparison of cwd->desc to 0.
88541
88542         * lib/utimens.c (futimens): Robustify the previous patch, by checking
88543         for known valid error numbers rather than observed invalid ones.
88544
88545 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88546
88547         * modules/ullong_max: New file.
88548
88549         * modules/chdir-long, modules/openat: New files.
88550         * modules/save-cwd (Depends-on): Depend on chdir-long.
88551         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
88552
88553 2005-01-18  Jim Meyering  <jim@meyering.net>
88554
88555         Merge from coreutils.
88556         * m4/chdir-long.m4, m4/openat.m4: New files.
88557         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
88558         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
88559         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
88560         is sane and DOES follow symlinks.  Besides, testing 20 different
88561         systems found no broken chown implementations.
88562         Prompted by a change in rsync's copy of this macro.
88563         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
88564
88565         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
88566
88567         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
88568         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
88569         NULL-means-set-to-current-time semantics.
88570         Remove temporary file immediately, rather than waiting
88571         for configure's at-exit trap code to do it.
88572
88573 2005-01-18  Jim Meyering  <jim@meyering.net>
88574
88575         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88576
88577         * lib/utimens.c (futimens): Account for the fact that futimes
88578         can also fail with errno == ENOSYS or errno == ENOENT.
88579         Patch from Dmitry V. Levin.
88580
88581         Change the name of the robust chdir function from chdir to chdir_long.
88582         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
88583         (restore_cwd): Use chdir_long, not chdir.
88584         * lib/chdir-long.c: Renamed from chdir.c.
88585         * lib/chdir-long.h: Renamed from chdir.h.
88586         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
88587         Hurd.
88588
88589 2005-01-18  Bruno Haible  <bruno@clisp.org>
88590
88591         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
88592         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
88593         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
88594         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
88595         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
88596         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
88597         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
88598         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
88599         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
88600         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
88601         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
88602         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
88603         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
88604         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
88605         Use an all-permissive copyright notice, recommended by RMS.
88606
88607 2005-01-18  Bob Proulx  <bob@proulx.com>
88608
88609         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
88610         simplify offsetof() macro construct to avoid compile failure with
88611         native HP-UX 11.0 ANSI C compiler.
88612
88613 2005-01-17  Bruno Haible  <bruno@clisp.org>
88614
88615         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
88616         redundant because stpncpy.m4 takes care of it.
88617
88618 2005-01-17  Bruno Haible  <bruno@clisp.org>
88619
88620         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
88621
88622 2005-01-17  Bruno Haible  <bruno@clisp.org>
88623
88624         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
88625         used.
88626
88627 2005-01-17  Bruno Haible  <bruno@clisp.org>
88628
88629         * lib/fwriteerror.h (fwriteerror): Change specification to include
88630         fclose.
88631         * lib/fwriteerror.c: Include <stdbool.h>.
88632         (fwriteerror): At the end, close the file stream. Record whether
88633         stdout was already closed.
88634
88635 2005-01-17  Bruno Haible  <bruno@clisp.org>
88636
88637         * lib/execute.c (environ): Declare if needed.
88638         * lib/pipe.c (environ): Likewise.
88639         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
88640
88641 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88642
88643         * modules/argp: Depend on vsnprintf
88644
88645 2005-01-10  Jim Meyering  <jim@meyering.net>
88646
88647         * modules/closeout (Depends-on): Add atexit.
88648
88649 2005-01-06  Bruno Haible  <bruno@clisp.org>
88650
88651         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
88652
88653 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
88654
88655         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
88656         definitions to be after all include files, to avoid collisions.
88657         Problem reported by Bob Proulx.
88658
88659 2005-01-04  Jim Meyering  <jim@meyering.net>
88660
88661         Changes imported from coreutils.
88662         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
88663         as the mkstemp template, use a temporary directory and an
88664         8.3-friendly template to avoid trouble on systems like DJGPP.
88665         Reported by Juan M. Guerrero via Stepan Kasal.
88666         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
88667         close. Remove the temporary directory right away, rather than waiting
88668         for configure's at-exit trap code to do it.
88669         Suggestion from Stepan Kasal.
88670
88671 2005-01-01  Simon Josefsson  <jas@extundo.com>
88672
88673         * gnulib-tool: Print #include directives when --import'ing.
88674
88675 2004-12-28  Simon Josefsson  <jas@extundo.com>
88676
88677         * tests/test-base64.c: Include required header files.  Remove
88678         unused variables.
88679
88680 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88681
88682         * modules/error (Depends-on): Remove gettext.
88683
88684 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88685
88686         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
88687         not needed.  This removes a dependency on the gettext module.
88688         [defined _LIBC]: Do not include <libintl.h>; not needed.
88689
88690 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88691
88692         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
88693         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
88694
88695 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88696
88697         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
88698         HAVE_DECL_STRTOLD.
88699
88700 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88701
88702         * modules/getdate (Depends-on): Remove alloca-opt.
88703
88704 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88705
88706         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
88707
88708 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88709
88710         * lib/argp-parse.c: Include <stddef.h>.
88711         (alignof, alignto): New macros.
88712         (parser_init): Don't assume that void * is aligned sufficiently
88713         for struct option.
88714
88715         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
88716         need to extend the stack.
88717         (YYINITDEPTH): New macro, so that the initial stack isn't overly
88718         large.
88719
88720 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88721
88722         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
88723
88724 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88725
88726         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
88727         (2004-10-24) change.  Apparently this was a false alarm.
88728
88729         * modules/getdate: Depend on alloca-opt, not alloca.
88730
88731 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88732
88733         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
88734         Remove now-obsolete comment about AIX.
88735         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
88736         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
88737         (YYMAXDEPTH): New macro.
88738
88739 2004-12-18  Simon Josefsson  <jas@extundo.com>
88740
88741         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
88742
88743 2004-12-18  Bruno Haible  <bruno@clisp.org>
88744
88745         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
88746
88747 2004-12-18  Bruno Haible  <bruno@clisp.org>
88748
88749         * lib/fatal-signal.c (fatal_signals): Make non-const.
88750         (init_fatal_signals): New function.
88751         (uninstall_handlers, install_handlers): Ignore signals that were set to
88752         SIG_IGN.
88753         (at_fatal_signal): Call init_fatal_signals.
88754         (init_fatal_signal_set): Likewise. Ignore signals that were set to
88755         SIG_IGN.
88756         Reported by Paul Eggert.
88757
88758 2004-12-18  Bruno Haible  <bruno@clisp.org>
88759
88760         * doc/alloca.texi: New file.
88761         * doc/alloca-opt.texi: New file.
88762
88763 2004-12-17  Jim Meyering  <jim@meyering.net>
88764
88765         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
88766         Otherwise, install-sh could exit with improper exit status when
88767         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
88768
88769 2004-12-16  Simon Josefsson  <jas@extundo.com>
88770
88771         * tests/test-base64.c: Add license.
88772
88773 2004-12-15  Stepan Kasal  <address@hidden>
88774
88775         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
88776
88777 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
88778
88779         * modules/getcwd (Files): Add m4/d-ino.m4.
88780         Suggested by Mark D. Baushke.
88781
88782 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88783
88784         * lib/getdate.y (textint): New member "negative".
88785         (time_zone_hhmm): New function.
88786         Expect 14 shift-reduce conflicts, not 13.
88787         (o_colon_minutes): New rule.
88788         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
88789         (yylex): Set the "negative" member of signed numbers.
88790
88791 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88792
88793         * doc/getdate.texi (Time of day items, Time zone items):
88794         Describe new formats +00:00, UTC+00:00.
88795
88796 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
88797
88798         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
88799         spurious "-l"s.  Problem reported by Stepan Kasal.
88800
88801 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
88802
88803         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
88804         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
88805
88806 2004-12-04  Simon Josefsson  <jas@extundo.com>
88807
88808         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
88809         Vandoorselaere <yoann@prelude-ids.org>.
88810
88811 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88812
88813         Changes imported from coreutils.
88814         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
88815         exist.
88816         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
88817
88818 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88819
88820         Changes imported from coreutils.
88821         * lib/hard-locale.c: Assume <locale.h> exists.
88822         Include "strdup.h".
88823         (GLIBC_VERSION): New macro.
88824         (hard_locale): Assume setlocale exists.
88825         Rewrite to avoid #ifdef.
88826         Use strdup rather than malloc + strcpy.
88827         * lib/human.c: Assume <locale.h> exists.
88828         (human_readable): Assume localeconv exists.
88829
88830 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88831
88832         * modules/hard-locale (Depends-on): Add strdup.
88833
88834 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
88835
88836         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
88837         convert T2, not T.  (Imported from libc.)
88838
88839 2004-11-30  Simon Josefsson  <jas@extundo.com>
88840
88841         * modules/restrict (License): Change to LGPL.
88842
88843 2004-11-30  Simon Josefsson  <jas@extundo.com>
88844
88845         * m4/restrict.m4: Add copyright and copying conditions.
88846
88847 2004-11-30  Simon Josefsson  <jas@extundo.com>
88848
88849         * m4/base64.m4: New file.
88850
88851 2004-11-30  Simon Josefsson  <jas@extundo.com>
88852
88853         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
88854         base64.
88855
88856         * tests/test-base64.c: New file.
88857
88858         * modules/base64: New file.
88859
88860 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88861
88862         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
88863         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
88864
88865         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
88866
88867 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88868
88869         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
88870         (__getcwd.c): Don't restore errno; glibc doesn't.
88871         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
88872         first, falling back to our code only if its results look suspicious.
88873         Ensure that the resulting buffer is only as large as necessary.
88874
88875         * lib/readutmp.c: Include readutmp.h first.
88876         Include <errno.h>, since readutmp.h no longer does that.
88877         * lib/readutmp.h: Don't include <errno.h>,
88878         <sys/param.h>, <time.h>; not needed to establish interface.
88879         (errno): Remove decl.
88880         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
88881         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
88882         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
88883
88884 2004-11-28  Simon Josefsson  <jas@extundo.com>
88885
88886         * lib/base64.h, base64.c: New file.
88887
88888 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
88889
88890         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
88891
88892 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
88893
88894         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
88895         (Depends-on): Remove pathmax, same.  Add mempcpy.
88896         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
88897         (Makefile.am): Append getcwd.h to lib_SOURCES.
88898         (Include): Add getcwd.h.
88899         (Maintainer): Change from Jim Meyering to "all, glibc",
88900         since getdate now uses intended-for-glibc code.
88901         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
88902         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
88903
88904 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88905
88906         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
88907         HP's ANSI C compiler.
88908         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
88909         Declaring int functions causes warnings on some modern systems and
88910         shouldn't be needed to compile on ancient ones.
88911         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
88912         defined.
88913
88914         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
88915         with the following changes.
88916         (__set_errno): Parenthesize properly.
88917         Include <stdbool.h>.
88918         (MIN, MAX, MATCHING_INO): New macros.
88919         (__getcwd): Define with prototype, not K&R form.
88920         Use heuristics to allocate default buffer on stack if possible.
88921         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
88922         behavior, and to avoid the PATH_MAX limit when computing
88923         ../../../../...
88924         Use MATCHING_INO to compare inode number to file.
88925         Check for arithmetic overflow in size calculations.
88926         Fix bug in reallocation of dot array that caused getcwd to fail
88927         on directories nested deeper than 75.
88928         Be more careful about saving errno on error.
88929         Do not use realloc; use only free+malloc, as this is a bit
88930         more flexible and avoids a needless copy operation.
88931         Do not inspect st_dev and st_ino for symbolic links; POSIX
88932         doesn't specify the latter.
88933         Check for closedir errors.
88934         Avoid needless casts.
88935         Use "#ifdef weak_alias" around weak_alias, to be like other
88936         glibc code.
88937         The following changes to getcwd.c have effect only when used in
88938         gnulib; they have no effect inside glibc proper.
88939         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
88940         as alloca isn't used.
88941         (alloca, __alloca): Likewise.
88942         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
88943         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88944         unconditionally, as gnulib assumes C89 or better.
88945         Do not include <sys/param.h>.
88946         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
88947         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
88948         better.
88949         (NULL) [!defined NULL]: Remove; we assume C89 or better.
88950         Include <dirent.h> in a way that is compatible with modern Autoconf.
88951         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
88952         New macros, if not already defined.
88953         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
88954         Use "_LIBC", not "defined _LIBC", for consistency.
88955         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
88956         a mempcpy module.
88957         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
88958         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
88959         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
88960         credit only to Jim Meyering and adjust the copyright dates.
88961         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
88962         <stdlib.h>, <unistd.h>, "pathmax.h".
88963         Instead, include "xgetcwd.h" (first) and "getcwd.h".
88964         (INITIAL_BUFFER_SIZE): Remove.
88965         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
88966
88967 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88968
88969         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
88970         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
88971         Use the _ONCE methods, for efficiency.
88972         Check for fcntl.h.  In test program, include <errno.h>
88973         and <fcntl.h> if available.  Remove old K&R cruft from
88974         test program.  Check for common errors in GNU/Linux,
88975         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
88976         don't do AC_LIBOBJ, as that's getcwd.m4's job.
88977         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
88978         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
88979         name accordingly.
88980         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
88981         accommodate new getcwd.c.
88982         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
88983         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
88984         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
88985         that's all we need now.
88986
88987 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88988
88989         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
88990         argp-parse.c depends on getopt internals, that means we should
88991         always use our getopt, to be on the safe side.
88992         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
88993         order not to spoil the result of an eventual previous invocation
88994         of gl_GETOPT_SUBSTITUTE.
88995
88996 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88997
88998         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
88999         redefinition warnings. To avoid them, include the defines
89000         in `#if !defined __need_getopt ... #endif'. The only place
89001         where __getopt_argv_const is used is in definitions
89002         of getopt_long and getopt_long_only below, which are as well
89003         protected by `#ifndef __need_getopt'.
89004         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
89005         __need_getopt after including <stdio.h> and <unistd.h> These
89006         headers might have defined it.
89007
89008 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
89009
89010         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
89011
89012 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
89013
89014         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
89015         (futimens): New function, which uses futimes if available.
89016         (futimens, utimens): Support timespec==NULL, with same semantics
89017         as utime and utimens.
89018         * lib/utimens.h (futimens): New decl.
89019
89020 2004-11-23  Jim Meyering  <jim@meyering.net>
89021
89022         * lib/getopt_.h: Remove trailing blanks.
89023
89024 2004-11-23  Jim Meyering  <jim@meyering.net>
89025
89026         * lib/__fpending.c: Add comment.
89027
89028 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
89029
89030         * modules/canonicalize (Depends-on): Add xreadlink.
89031         Problem reported by James Youngman.
89032
89033 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
89034
89035         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
89036         New macros.
89037         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
89038         optopt): Use them instead of invoking ## directly; otherwise, the
89039         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
89040
89041 2004-11-19  Bruno Haible  <bruno@clisp.org>
89042
89043         * lib/strtok_r.c: Move comments from here...
89044         * lib/strtok_r.h: ... to here.
89045
89046 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
89047
89048         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
89049         implementations that mishandle size_t overflow.
89050
89051 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
89052
89053         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
89054         might fail.  Problem reported by Yoann Vandoorselaere.
89055         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
89056         implementations that mishandle size_t overflow.
89057
89058 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89059
89060         * modules/canon-host (Depends-on): Add strdup.
89061
89062 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89063
89064         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
89065
89066 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89067
89068         * lib/canon-host.c: Include "strdup.h".
89069         (canon_host): Use getaddrinfo if available, so that IPv6 works.
89070         Use strdup instead of malloc/strcpy to duplicate strings.
89071
89072         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
89073         (human_space_before_unit): New constant.
89074         * lib/human.c (human_readable): Support it.
89075
89076         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
89077         (xgetcwd): Set errno correctly when failing.
89078         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
89079         the failure is actually due to a PATH_MAX problem.
89080
89081         Further getopt changes to make it more likely that glibc will
89082         buy the changes back.
89083         * lib/getopt.c (POSIXLY_CORRECT): New constant.
89084         (getopt): Use it, so to preserve glibc semantic
89085         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
89086         when compiling for libc.
89087         * lib/getopt_.h (__getopt_argv_const): Bring it back.
89088         (getopt_long, getopt_long_only): Use it.
89089
89090         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
89091         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
89092         (getopt): Argv is now char * const *, as per standard.
89093         (_getopt_internal_r, _getopt_internal): Argv is now char **,
89094         not char *__getopt_argv_const *.
89095         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
89096         _getopt_long_only_r): Likewise.
89097         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
89098         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
89099         _getopt_long_r, _getopt_long_only_r): Likewise.
89100         * lib/getopt_.h (__getopt_argv_const): Remove.
89101         (getopt): Argv is now char * const *, as per standard.
89102
89103         * lib/getdate.y (tORDINAL): New token.
89104         (day, relunit): Allow it for relative times.
89105         (relative_time_table): Use tORDINAL for ordinals.
89106
89107 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89108
89109         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
89110         Document that "second" isn't allowed as an ordinal number.
89111
89112 2004-11-16  Jim Meyering  <jim@meyering.net>
89113
89114         * modules/closeout (Depends-on): Add fpending.
89115
89116 2004-11-15  Jim Meyering  <jim@meyering.net>
89117
89118         * lib/closeout.c: Include "__fpending.h" once again.
89119         Include <stdbool.h>.
89120         (close_stdout): Don't fail just because stdout was closed initially,
89121         since some programs don't write to stdout in the normal course of
89122         operation (other than --version and --help), and we don't want this
89123         function to make e.g. `touch file >&-' fail.
89124         But do fail if it was closed and someone has tried to write to it.
89125         E.g., `printf foo >&-' must fail.
89126
89127 2004-11-13  Jim Meyering  <jim@meyering.net>
89128
89129         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
89130
89131 2004-11-12  Simon Josefsson  <jas@extundo.com>
89132
89133         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
89134         small doc fix is still pending.
89135
89136 2004-11-11  Simon Josefsson  <jas@extundo.com>
89137
89138         * modules/strtok_r: New file.
89139
89140         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89141         strtok_r.
89142
89143 2004-11-11  Simon Josefsson  <jas@extundo.com>
89144
89145         * m4/strtok_r.m4: New file.
89146
89147         * m4/getopt.m4: Replace opterr.
89148
89149 2004-11-11  Simon Josefsson  <jas@extundo.com>
89150
89151         * lib/strtok_r.h, strtok_r.c: New file.
89152
89153 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
89154
89155         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
89156         of replacing opterr, getopt, etc.  This should handle the
89157         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
89158
89159 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
89160
89161         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
89162         we can stop lying to compilers about the constness of argv when we
89163         are compiled outside glibc.
89164         (getopt, getopt_long, getopt_long_only): Use it.
89165         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
89166         _getopt_internal, getopt): Likewise.
89167         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
89168         _getopt_long_only_r): Likewise.
89169         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
89170         _getopt_long_r, _getopt_long_only_r): Likewise.
89171
89172         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
89173         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
89174         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
89175         the other external symbols.
89176         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
89177         declaration, since the above renaming now works around collisions.
89178
89179 2004-11-11  Jim Meyering  <jim@meyering.net>
89180
89181         * lib/linebreak.c: Remove trailing blanks.
89182         * lib/alloca_.h: Likewise.
89183         * lib/acosl.c: Likewise.
89184         * lib/euidaccess.c: Likewise.
89185         * lib/allocsa.h: Likewise.
89186
89187 2004-11-10  Simon Josefsson  <jas@extundo.com>
89188
89189         * m4/getaddrinfo.m4: New file.
89190
89191 2004-11-10  Simon Josefsson  <jas@extundo.com>
89192
89193         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
89194
89195 2004-11-10  Simon Josefsson  <jas@extundo.com>
89196
89197         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89198         getaddrinfo.
89199
89200         * modules/getaddrinfo: New file.
89201
89202 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
89203
89204         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
89205
89206 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
89207
89208         * lib/mktime.c (SHR): New macro, which is a portable
89209         substitute for >> that should work even on Crays.
89210         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
89211         Problem reported by Mark D. Baushke in
89212         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
89213         * lib/getdate.y (SHR): Likewise.
89214         (tm_diff): Use it.
89215         * lib/strftime.c (SHR): Likewise.
89216         (tm_diff): Use it.
89217         * lib/quotearg.c (struct quoting_options): Use unsigned int for
89218         quote_these_too, so that right shifts are well defined.  All uses
89219         changed.
89220
89221 2004-11-10  Jim Meyering  <jim@meyering.net>
89222
89223         Ensure that no close failure goes unreported.
89224         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
89225         return early when it seems there's nothing to flush.
89226         Don't include __fpending.h.
89227
89228 2004-11-10  Jim Meyering  <jim@meyering.net>
89229
89230         * modules/closeout (Depends-on): Remove fpending.
89231
89232 2004-11-10  Jim Meyering  <jim@meyering.net>
89233
89234         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
89235
89236 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89237
89238         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
89239         gl_FUNC_STRFTIME.
89240         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
89241         and AC_REQUIRE when possible, to avoid duplicate checks.
89242         Check for <wchar.h>.
89243
89244 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89245
89246         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
89247
89248 2004-11-09  Bruno Haible  <bruno@clisp.org>
89249
89250         * m4/sockpfaf.m4: New file.
89251
89252 2004-11-05  Bruno Haible  <bruno@clisp.org>
89253
89254         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
89255         Reported by Mark D. Baushke <mdb@cvshome.org>.
89256
89257 2004-11-04  Bruno Haible  <bruno@clisp.org>
89258
89259         2004-09-11  Bruno Haible  <bruno@clisp.org>
89260                 * allocsa.valgrind: New file.
89261         2004-02-06  Bruno Haible  <bruno@clisp.org>
89262                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
89263                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
89264                 Reported by Christopher Seip <chris.seip@hp.com>.
89265
89266 2004-11-04  Bruno Haible  <bruno@clisp.org>
89267
89268         * modules/allocsa (Files): Add lib/allocsa.valgrind.
89269         (Makefile.am): Distribute it.
89270
89271 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
89272
89273         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
89274         with errno == ERANGE if the buffer is too small.
89275         Problem reported by Mark D. Baushke.
89276
89277 2004-11-03  Albert Chin  <china@thewrittenword.com>
89278             Paul Eggert  <eggert@cs.ucla.edu>
89279
89280         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
89281         equivalent, substitute $ac_type for equivalent type rather than
89282         blindly using uint32_t *always* which won't work if uint32_t is not
89283         available.  Define _UINT32_T to work around typedef of uint32_t if
89284         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
89285         2.5.1.
89286
89287 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89288
89289         * m4/jm-macros.m4: Sync from coreutils.
89290         (gl_MACROS): Check for mbrlen, for pathchk.
89291         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
89292
89293 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89294
89295         * lib/xreadlink.c (MAXSIZE): New macro.
89296         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
89297         size does not exceed MAXSIZE.  Avoid cast.
89298         As suggested by Mark D. Baushke in
89299         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
89300         if readlink fails with buffer size just under MAXSIZE, try again
89301         with MAXSIZE.
89302
89303 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89304
89305         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
89306
89307 2004-11-02  Derek R. Price  <derek@ximbiot.com>
89308         and  Paul Eggert  <eggert@cs.ucla.edu>
89309
89310         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
89311         (get_date): Overparenthesize to avoid GCC warning.
89312
89313 2004-11-02  Bruno Haible  <bruno@clisp.org>
89314
89315         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
89316         returns void.
89317
89318 2004-11-02  Bruno Haible  <bruno@clisp.org>
89319
89320         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
89321         function returns void.
89322
89323 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
89324
89325         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
89326         fflush_unlocked, flockfile, funlockfile, funlockfile,
89327         fputs_unlocked, putc_unlocked.
89328
89329 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
89330
89331         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89332         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
89333         already declared.
89334
89335 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89336
89337         * modules/getdate (Files): Add doc/getdate.texi.
89338         (Depends-on): Add setenv, xalloc.
89339
89340 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89341
89342         * lib/getdate.y: Add support for TZ="foo" within a date string.
89343         Fix some bugs near time_t boundaries.  Reject dates with
89344         out-of-range components, e.g., "Sept 31".
89345         Include <stdlib.h>, "setenv.h", "xalloc.h".
89346         (ISDIGIT_LOCALE): Remove; unused.
89347         Note that the TZ and time functions used here are not reentrant.
89348         (mktime_ok, get_tz): New functions.
89349         (TZBUFSIZE): New constant.
89350         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
89351         This requires that we sometimes generate our own TZ="XXX..." setting.
89352
89353 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89354
89355         * doc/getdate.texi: New file, from coreutils with modifications for
89356         the new TZ parsing.
89357
89358 2004-10-27  Derek R. Price  <derek@ximbiot.com>
89359
89360         * lib/mktime.c (not_equal_tm): Remove redundant check.
89361
89362 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89363
89364         * modules/regex (lib_SOURCES): Add regex.c.
89365         Reported by James Youngman in
89366         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
89367
89368 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89369
89370         * lib/getdate.y: Use Bison 1.875 features, and some minor
89371         code cleanups.  This change does not affect semantics.
89372         Don't include <stdlib.h>; no longer needed.
89373         Don't include unlocked-io.h; only the "#if TEST" code uses
89374         stdio, and performance isn't crucial there.
89375         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
89376         Bison 1.875 features as described below.
89377         All uses of "PC." replaced by "pc->".
89378         (YYSTYPE): Add a forward declaration.
89379         (yylex, yyerror): Use full prototypes in forward decls.
89380         Use "%pure-parser" rather than obsolescent "%pure_parser".
89381         Use %parse-param and %lex-param instead of obsolescent
89382         YYPARSE_PARAM and YYLEX_PARAM.
89383         (meridian_table, month_and_day_table, time_units_table,
89384         relative_time_table, time_zone_table, military_table,
89385         lookup_zone, lookup_word, get_date):
89386         Use NULL instead of 0 where appropriate.
89387         (to_hour): Avoid abort (), to avoid a dependency on
89388         stdlib.h.
89389         (yyerror, yylex): Now accepts parser_control * arg.
89390         (main) [TEST]: Use '\0' rather than 0 for char.
89391
89392 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89393
89394         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
89395
89396 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89397
89398         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
89399         It's now the caller's responsibility to handle the case where
89400         !HAVE_GETPAGESIZE && !defined getpagesize.
89401
89402         * lib/mktime.c (leapyear): Arg is long int, not int.
89403
89404 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
89405
89406         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
89407
89408 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
89409
89410         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
89411         missing.  Problem reported by James Youngman.
89412
89413 2004-10-16  Simon Josefsson  <jas@extundo.com>
89414
89415         * gnulib-tool: Fix comments.  Fix parse problem.
89416         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
89417
89418 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
89419
89420         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
89421         implementation of getopt_long.  Problem reported by Alexander Taler in:
89422         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
89423
89424 2004-10-15  Bruno Haible  <bruno@clisp.org>
89425
89426         * gnulib-tool: Untabify. Initialize supplied_libname.
89427         (func_usage): More homogenous output.
89428         (func_modules_transitive_closure, func_modules_to_filelist,
89429         func_emit_lib_Makefile_am): New functions.
89430         (func_import): New function, extracted from big case statement. Use
89431         func_get_license, func_modules_transitive_closure,
89432         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
89433         opt_lgpl. Don't use test -a, as it's not portable.
89434         (func_create_testdir): Use func_modules_transitive_closure,
89435         func_modules_to_filelist, func_emit_lib_Makefile_am.
89436
89437 2004-10-15  Bruno Haible  <bruno@clisp.org>
89438
89439         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
89440
89441 2004-10-15  Bruno Haible  <bruno@clisp.org>
89442
89443         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
89444         the portions belonging to each module.
89445         Suggested by Derek Robert Price <derek@ximbiot.com>.
89446
89447 2004-10-12  Simon Josefsson  <jas@extundo.com>
89448
89449         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89450         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
89451         to real functions.
89452
89453 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89454
89455         * modules/vsnprintf: New file.
89456
89457 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89458
89459         * m4/vsnprintf.m4: New file.
89460
89461 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89462
89463         * lib/vsnprintf.h: New file.
89464         * lib/vsnprintf.c: New file.
89465
89466 2004-10-11  Bruno Haible  <bruno@clisp.org>
89467
89468         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
89469         vsnprintf.
89470
89471 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
89472
89473         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
89474
89475 2004-10-07  Bruno Haible  <bruno@clisp.org>
89476
89477         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
89478         fits into the provided buffer.
89479
89480 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
89481
89482         * lib/diacrit.c, diacrit.h: Add GPL notice.
89483
89484         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
89485         notice.
89486         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
89487         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
89488         This avoids a potential constant-folding bug.
89489
89490 2004-10-05  Bruno Haible  <bruno@clisp.org>
89491
89492         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
89493         for the declaration of strsep.
89494
89495 2004-10-05  Bruno Haible  <bruno@clisp.org>
89496
89497         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
89498
89499 2004-10-04  Simon Josefsson  <jas@extundo.com>
89500
89501         * modules/memmem: New file.
89502         * tests/test-memmem.c: New file.
89503         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
89504
89505 2004-10-04  Simon Josefsson  <jas@extundo.com>
89506
89507         * m4/memmem.m4: New file.
89508
89509 2004-10-04  Simon Josefsson  <jas@extundo.com>
89510
89511         * lib/memmem.h: New file.
89512         * lib/memmem.c: New file, taken from glibc.
89513
89514 2004-10-04  Simon Josefsson  <jas@extundo.com>
89515
89516         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
89517         '#ifdef USE_UNLOCKED_IO'.
89518
89519 2004-10-04  Simon Josefsson  <jas@extundo.com>
89520
89521         * config/srclist.txt: Add memmem from glibc.
89522
89523 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89524
89525         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
89526
89527         * modules/argmatch, modules/argp, modules/closeout, modules/error,
89528         modules/exclude, modules/getdate, modules/getline,
89529         modules/getndelim2, modules/getpass, modules/getpass-gnu,
89530         modules/getusershell, modules/linebuffer, modules/md5,
89531         modules/mountlist, modules/posixtm, modules/readtokens,
89532         modules/readutmp, modules/regex, modules/sha1,
89533         modules/version-etc, modules/yesno:
89534         Remove dependency on unlocked-io.
89535
89536 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89537
89538         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
89539
89540         * m4/unlocked-io.m4: Add copyright notice.
89541         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
89542
89543 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89544
89545         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
89546         * lib/xmalloc.c (xmemdup): Likewise.
89547         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
89548         XFREE): Remove these long-obsolescent macros.
89549         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
89550         * lib/xstrdup.c: Remove.
89551
89552         * lib/regex.c (re_comp): Cast gettext return value to char *,
89553         Problem reported by Martin Neitzel via Mark D. Baushke.
89554
89555 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89556
89557         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
89558         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
89559         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
89560         regex.c, sha1.c, version-etc.c, yesno.c:
89561         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
89562         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
89563         the includer's responsibility.
89564
89565         Sync from coreutils.
89566
89567         * lib/modechange.c (mode_compile): Don't decrement a pointer that
89568         points to the start of a string, as the C Standard says the
89569         resulting behavior is undefined.
89570
89571         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
89572         simple -> simple_backups, numbered_existing ->
89573         numbered_existing_backups, numbered -> numbered_backups
89574         to avoid shadowing problems.  All uses changed.
89575         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
89576         * lib/backupfile.c (check_extension, numbered_backup):
89577         Rename locals to avoid shadowing 'basename'.
89578         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
89579         once.
89580
89581         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
89582         * lib/.cvsignore: Add getopt.h.
89583
89584 2004-10-04  Bruno Haible  <bruno@clisp.org>
89585
89586         * modules/README: New file.
89587         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
89588         not a module.
89589
89590 2004-10-02  Jim Meyering  <jim@meyering.net>
89591
89592         * lib/dirfd.h, getpagesize.h: Add copyright notice.
89593
89594 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89595
89596         * modules/strsep: New file.
89597
89598 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89599
89600         * m4/strsep.m4: New file.
89601
89602 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89603
89604         * lib/strsep.h: New file.
89605         * lib/strsep.c: New file.
89606
89607 2004-10-01  Simon Josefsson  <jas@extundo.com>
89608
89609         * lib/snprintf.c (snprintf): Handle size==0.
89610
89611 2004-10-01  Simon Josefsson  <jas@extundo.com>
89612             Bruno Haible  <bruno@clisp.org>
89613
89614         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
89615         (snprintf): Declare 'args'.
89616
89617 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
89618
89619         * lib/snprintf.c: Remove comments as to why each header is needed.
89620
89621 2004-10-01  Bruno Haible  <bruno@clisp.org>
89622
89623         * MODULES.html.sh: Add strsep.
89624
89625 2004-09-30  Simon Josefsson  <jas@extundo.com>
89626
89627         * modules/snprintf: New file.
89628
89629 2004-09-30  Simon Josefsson  <jas@extundo.com>
89630
89631         * m4/snprintf.m4: New file.
89632
89633 2004-09-30  Simon Josefsson  <jas@extundo.com>
89634
89635         * lib/snprintf.h, lib/snprintf.c: New files.
89636
89637 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89638
89639         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
89640         (hol_entry_help): Never translate an empty string.
89641         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
89642         * lib/argp.h (OPTION_NO_TRANS): New option.
89643
89644 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89645
89646         * modules/argp (Maintainer): Replace Simon Josefsson
89647         by Sergey Poznyakoff.
89648
89649 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89650
89651         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
89652         changes merged back into glibc.
89653
89654 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89655
89656         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
89657
89658 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
89659
89660         * lib/xvasprintf.c: Include xalloc.h.
89661         (xvasprintf): Use xalloc_die, not xmalloc_die.
89662
89663 2004-09-29  Bruno Haible  <bruno@clisp.org>
89664
89665         * modules/alloca-opt: New file, derived from modules/alloca.
89666         * modules/allocsa: Depend on alloca-opt instead of alloca.
89667         * modules/setenv: Likewise.
89668         * modules/vasnprintf: Likewise.
89669         * MODULES.html.sh: Add alloca-opt.
89670
89671 2004-09-28  Simon Josefsson  <jas@extundo.com>
89672
89673         * gnulib-tool: New parameter --lgpl, to asseert that modules are
89674         LGPL, and to replace license template from GPL to LGPL.
89675
89676 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89677
89678         * modules/dummy: Change license to LGPL.
89679
89680 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89681
89682         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
89683
89684 2004-09-24  Simon Josefsson  <jas@extundo.com>
89685
89686         * modules/minmax (License): Change from GPL to LGPL.
89687
89688 2004-09-23  Simon Josefsson  <jas@extundo.com>
89689
89690         * gnulib-tool (--import): Typo.
89691
89692 2004-09-23  Simon Josefsson  <jas@extundo.com>
89693
89694         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
89695
89696 2004-09-22  Bruno Haible  <bruno@clisp.org>
89697
89698         * modules/*: Add 'License' field.
89699         * gnulib-tool: Accept --extract-license option.
89700         (func_get_license): New function.
89701
89702 2004-09-21  Bruno Haible  <bruno@clisp.org>
89703
89704         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
89705         Reported by Simon Josefsson.
89706
89707 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89708
89709         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
89710         gl_AC_TYPE_LONG_LONG.
89711
89712 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89713
89714         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
89715
89716 2004-09-18  Simon Josefsson  <jas@extundo.com>
89717         and  Paul Eggert  <eggert@cs.ucla.edu>
89718
89719         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
89720         calls with autoreconf.  Define GL_LIB.
89721
89722 2004-09-14  Karl Berry  <karl@gnu.org>
89723
89724         * config/srclist.txt: unsync setenv.c, sigh.
89725
89726 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89727
89728         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
89729         Problem reported by Bruno Haible in:
89730         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
89731
89732 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89733
89734         * config/srclist.txt: Comment out argp-pvh.c.
89735
89736 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
89737
89738         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
89739         in case some system header has #define'd it.  Problem reported by
89740         Soeren D. Schulze in
89741         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
89742
89743 2004-09-09  Karl Berry  <karl@gnu.org>
89744
89745         * regex.[ch]: delete from the root.  These were supposed to be
89746                 synced with emacs cvs, but this has not happened for about
89747                 a year, and anyway nothing else uses emacs regex.[ch].
89748                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
89749                 lib/regex[.ch] is untouched.
89750
89751 2004-09-09  Bruno Haible  <bruno@clisp.org>
89752
89753         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
89754
89755 2004-09-09  Bruno Haible  <bruno@clisp.org>
89756
89757         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
89758         modifications.
89759         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
89760
89761 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89762
89763         * modules/xvasprintf: New file.
89764         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
89765
89766 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89767
89768         * lib/xvasprintf.h: New file.
89769         * lib/xvasprintf.c: New file.
89770         * lib/xasprintf.c: New file.
89771
89772 2004-09-08  Bruno Haible  <bruno@clisp.org>
89773
89774         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
89775
89776 2004-09-08  Bruno Haible  <bruno@clisp.org>
89777
89778         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
89779         length is > INT_MAX.
89780         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
89781         more.
89782
89783 2004-09-08  Bruno Haible  <bruno@clisp.org>
89784
89785         * lib/stdint_.h: New file, taken from GNU clisp.
89786
89787 2004-09-08  Bruno Haible  <bruno@clisp.org>
89788             Oskar Liljeblad  <oskar@osk.mine.nu>
89789
89790         * modules/stdint: New file.
89791         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
89792
89793 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89794
89795         Import from coreutils.
89796         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
89797         strings on unbounded length.  alloca's performance benefits aren't
89798         that important here.
89799         (V_STRDUP): Remove.
89800         (parse_with_separator): New function, with most of the internals
89801         of the old parse_user_spec.  Allow user to omit both user and group,
89802         for compatibility with FreeBSD.
89803         Clone only the user name, not the entire spec.
89804         Do not set *uid, *gid unless entirely successful.
89805         Avoid memory leak in some failing cases.
89806         Fix regression for USER.GROUP reported by Dmitry V. Levin in
89807         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
89808         (parse_user_spec): Rewrite to use parse_with_separator.
89809
89810 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89811
89812         * modules/userspec: Don't depend on alloca.
89813
89814 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89815
89816         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
89817
89818 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
89819
89820         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
89821         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
89822         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
89823
89824 2004-08-16  Simon Josefsson  <jas@extundo.com>
89825
89826         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
89827         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
89828         Add --dry-run for --import.
89829         Let user provided command line parameters override configure.ac
89830         settings.
89831
89832 2004-08-12  Simon Josefsson  <jas@extundo.com>
89833
89834         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
89835         as discussed with Paul Eggert in threads rooted at
89836         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
89837         and
89838         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
89839         Before, the test was empty, and relied on ELIDE_CODE in source
89840         code.)
89841         (gl_PREREQ_GETOPT): New macro.
89842         (gl_GETOPT): Use them.
89843
89844 2004-08-12  Simon Josefsson  <jas@extundo.com>
89845
89846         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
89847         * lib/getopt_.h: Renamed from getopt.h.
89848
89849 2004-08-12  Simon Josefsson  <jas@extundo.com>
89850
89851         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
89852         Change default library name from libfoo to libgnu.
89853         Now, if you have a configure.ac that says:
89854                 gl_SOURCE_BASE(gl)
89855                 gl_M4_BASE(gl/m4)
89856                 gl_MODULES(error getopt etcetera)
89857                 gl_INIT
89858         you can import all you need by running:
89859                 ../gnulib/gnulib-tool --import
89860
89861         * modules/getopt (Files): Rename getopt.h to getopt_.h.
89862         (Makefile.am): Rewrite, use logic from argz.
89863         (Include): Use <getopt.h> instead of "getopt.h".
89864
89865 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89866
89867         * modules/argp (Files): Add m4/unlocked-io.m4.
89868         (Depends-on): Add extensions.
89869
89870 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89871
89872         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
89873         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
89874         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
89875         Check for program_invocation_name, program_invocation_short_name,
89876         flockfile, funlockfile, features.h, _getopt_long_only_r.
89877
89878 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89879
89880         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
89881         its complicated substitute.
89882         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
89883         and program_invocation_name.
89884         (__argp_basename) [!_LIBC]: Remove; the only use was
89885         replaced by its body.
89886         (__argp_short_program_name): Change condition from
89887         !defined __argp_short_program_name to
89888         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
89889         to match argp-namefrob.h.
89890         (__argp_failure): Don't assume strerror_r returns char *.
89891         * lib/argp-parse.c (N_): Define unconditionally.
89892         (argp_default_options): Fill out initializers with 0 to avoid
89893         gcc warnings.
89894
89895 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89896
89897         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
89898         getopt1.c.
89899
89900 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89901
89902         Merge from coreutils.
89903
89904         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
89905
89906         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
89907         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
89908
89909 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89910
89911         Merge from coreutils.
89912
89913         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
89914         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
89915         for Reliant Unix 5.43.
89916
89917         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
89918         (union fooround): Use uintmax_t, not long int.
89919         The rest is a merge from libc:
89920         [defined _LIBC]: Include <shlib-compat.h>.
89921         (_obstack) [defined _LIBC]: Remove after 2.3.4.
89922
89923         * lib/settime.c (settime): Recode to avoid warning with
89924         Sun Forte C 6U2.
89925
89926         * lib/strverscmp.c: Convert to UTF-8.
89927
89928 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89929
89930         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
89931         m4/uintmax_t.m4.
89932
89933 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89934
89935         * modules/xalloc-die: New file.
89936         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
89937
89938         * modules/md5 (Files): Add m4/uint32_t.m4.
89939         * modules/sha1: Renamed from modules/sha.
89940         (Files):
89941         Rename lib/sha.h to lib/sha1.h.
89942         Rename lib/sha.c to lib/sha1.c.
89943         Rename m4/sha.m4 to m4/sha1.m4.
89944         (lib_SOURCES): Likewise.
89945         (configure.ac): Rename gl_SHA to gl_SHA1.
89946         (Include): sha.h -> sha1.h.
89947
89948 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89949
89950         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
89951         * m4/sha1.m4: Renamed from sha.m4.
89952         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
89953
89954 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89955
89956         * lib/obstack.h (obstack_empty_p):
89957         Don't assume that chunk->contents is suitably aligned.
89958         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
89959         Likewise. Problem reported by Benno in
89960         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
89961
89962         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
89963         readable.  This could be improved further but it'd take some work.
89964
89965 2004-08-08  Simon Josefsson  <jas@extundo.com>
89966
89967         * modules/xgethostname (Depends-on): Remove exit and error (not
89968         used).
89969
89970         * modules/getpass-gnu: Add getpass.h.
89971         (Depends-on): Add stdbool.
89972         * modules/getpass: Add getpass.h.
89973
89974 2004-08-08  Simon Josefsson  <jas@extundo.com>
89975
89976         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
89977         Check getpass declaration.
89978
89979 2004-08-08  Simon Josefsson  <jas@extundo.com>
89980
89981         * lib/xgethostname.c: Don't include error.h (not used).
89982
89983         * lib/getpass.h: Add.
89984         * lib/getpass.c: Include getpass.h first.
89985
89986 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
89987
89988         * lib/xalloc-die.c: New file.
89989         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
89990         All uses removed.
89991         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
89992         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
89993         xalloc-die.c.
89994         (_, N_, xalloc_die): Move to xalloc-die.c.
89995         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
89996         so that we needn't mess with xalloc_msg_memory_exhausted.
89997
89998         * lib/sha1.h: Renamed from sha.h.
89999         (SHA1_H): Renamed from _SHA_H.
90000         (sha1_ctx): Renamed from sha_ctx.
90001         (sha1_init_ctx): Renamed from sha_init_ctx.
90002         (sha1_process_block): Renamed from sha_process_block.
90003         (sha1_process_bytes): Renamed from sha_process_bytes.
90004         (sha1_finish_ctx): Renamed from sha_finish_ctx.
90005         (sha1_read_ctx): Renamed from sha_read_ctx.
90006         (sha1_stream): Renamed from sha_stream.
90007         (sha1_buffer): Renamed from sha_buffer.
90008         * lib/sha1.c: Likewise; renamed from sha.c.
90009         Do not include <sys/types.h>.
90010         Include <stddef.h> rather than <stdlib.h>.
90011
90012 2004-08-08  Bruno Haible  <bruno@clisp.org>
90013
90014         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
90015         FILESYSTEM_PREFIX_LEN.
90016         * lib/progreloc.c: Likewise.
90017         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
90018
90019 2004-08-06  Simon Josefsson  <jas@extundo.com>
90020
90021         * modules/progname (Depends-on): Don't depend on stdbool.
90022
90023 2004-08-06  Simon Josefsson  <jas@extundo.com>
90024
90025         * modules/getsubopt: New file.
90026         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
90027         getsubopt.
90028
90029 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
90030
90031         More merge from coreutils.
90032
90033         * m4/utimens.m4, m4/utimecmp.m4: New files.
90034         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
90035         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
90036         prereq.m4, sha.m4: Import changes from coreutils.
90037
90038 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
90039
90040         More merge from coreutils.
90041         * modules/raise, modules/readtokens0, modules/utimens:
90042         * modules/utimecmp, module/xnanosleep: New files.
90043         * modules/strftime: Add lib/strftime.h.
90044         Change include from <time.h> to "strftime.h".
90045         * modules/yesno: Add lib/yesno.h.
90046         * modules/backupfile: Remove lib/addext.c.
90047         * modules/euidaccess: Add stat-macros.h.
90048         * modules/canonicalize, modules/euidaccess,
90049         modules/filemode, modules/lchown, modules/makepath,
90050         modules/rmdir, modules/stat: Likewise.
90051
90052 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
90053
90054         Merge from tar.
90055         * lib/argp-help.c (make_hol, hol_append): Don't assume that
90056         SIZE_MAX is a valid preprocessor constant.
90057         (__argp_basename): Change from "#ifndef _LIBC"
90058         to "#ifndef __argp_short_program_name", so that
90059         we don't compile these functions for tar.
90060
90061         More merges from coreutils.
90062         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
90063         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
90064         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
90065         * lib/addext.c: Remove; no longer needed.
90066         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
90067         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
90068         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
90069         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
90070         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
90071         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
90072         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
90073         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
90074         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
90075         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
90076         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
90077         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
90078         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
90079         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
90080         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
90081         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
90082         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
90083         Import changes from coreutils.
90084
90085 2004-08-05  Simon Josefsson  <jas@extundo.com>
90086
90087         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
90088
90089 2004-08-05  Simon Josefsson  <jas@extundo.com>
90090
90091         * m4/getsubopt.m4: New file.
90092
90093 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90094
90095         Merge from coreutils.
90096
90097         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
90098         * m4/getcwd-path-max.m4: New files.
90099
90100         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
90101         FILESYSTEM_PREFIX_LEN ->
90102         FILE_SYSTEM_PREFIX_LEN.
90103         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
90104         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
90105         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
90106         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
90107
90108         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
90109         prerequisite modules now handle the DOS stuff.
90110         Don't check for unistd.h.
90111
90112 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90113
90114         Merge from coreutils.
90115
90116         * lib/.gdb-history: Remove; this doesn't belong here.
90117
90118         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
90119         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
90120         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
90121         * lib/getcwd.c: New files.
90122
90123         * lib/dirname.h: Include <stdbool.h>.
90124         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
90125         for consistency with POSIX terminology.  All uses changed.
90126         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
90127         (strip_trailing_slashes): Use bool for booleans.
90128         * lib/stripslash.c (strip_trailing_slashes): Likewise.
90129
90130         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
90131         sometimes returns a positive errno value even when it succeeds.
90132         (print_errno_message) [!LIBC]: Fall back on strerror if
90133         __strerror_r fails.
90134
90135         * lib/path-concat.c (mempcpy): Don't define if a system header defines
90136         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
90137         (longest_relative_suffix): New function.
90138         (path_concat): Use it.  Assume first argument is not NULL.
90139         Port to DOS.  Omit redundant separators.
90140         Report an error instead of returning NULL.
90141         Use mempcpy instead of memcpy.
90142         (xpath_concat): Remove: not declared or used.
90143
90144         * lib/same.h: Include <stdbool.h>
90145         (same_name): Return bool, not int.
90146         * lib/same.c (same_name): Likewise.
90147         (errno): Don't declare; we assume C89 or better now.
90148
90149         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
90150         if not already defined.
90151
90152         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
90153         * lib/dup-safer.c (errno): Likewise.
90154
90155 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90156
90157         Merge from coreutils.
90158         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
90159         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
90160         * modules/path-concat: Don't depend on strdup.
90161
90162 2004-08-03  Simon Josefsson  <jas@extundo.com>
90163
90164         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
90165         * lib/progname.h: Don't include stdbool.h.
90166
90167 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90168
90169         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
90170         * MODULES.html.sh (func_all_modules): Remove fatal.
90171
90172 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90173
90174         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
90175
90176 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90177
90178         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
90179         working.
90180
90181 2004-08-02  Simon Josefsson  <jas@extundo.com>
90182
90183         * lib/getsubopt.h: New file, with comments from Bruno Haible.
90184         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
90185         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
90186
90187 2004-08-01  Simon Josefsson  <jas@extundo.com>
90188
90189         * lib/xgetdomainname.c: Include stdlib.h, for free().
90190
90191 2004-07-19  Bruno Haible  <bruno@clisp.org>
90192
90193         * MODULES.html.sh (func_all_modules): Add dummy.
90194
90195 2004-07-16  Simon Josefsson  <jas@extundo.com>
90196
90197         * modules/dummy: New file.
90198
90199 2004-07-16  Simon Josefsson  <jas@extundo.com>
90200
90201         * lib/dummy.c: New file.
90202
90203 2004-07-16  Bruno Haible  <bruno@clisp.org>
90204
90205         * lib/backupfile.h: Add extern "C" for C++.
90206         * lib/closeout.h: Likewise.
90207         * lib/copy-file.h: Likewise.
90208         * lib/findprog.h: Likewise.
90209         * lib/full-write.h: Likewise.
90210         * lib/pathname.h: Likewise.
90211         * lib/progname.h: Likewise.
90212         * lib/stpcpy.h: Likewise.
90213         * lib/stpncpy.h: Likewise.
90214         * lib/strcase.h: Likewise.
90215         * lib/strstr.h: Likewise.
90216         * lib/xalloc.h: Likewise.
90217
90218         * lib/mbswidth.h: Add extern "C" for C++.
90219         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
90220
90221 2004-07-13  Robert Millan  <robertmh@gnu.org>
90222
90223         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
90224
90225 2004-07-09  Simon Josefsson  <jas@extundo.com>
90226
90227         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
90228         failed without this.)
90229
90230 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
90231
90232         * modules/chown (Files): Add lib/fchown-stub.c, since
90233         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
90234
90235 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
90236
90237         * lib/fchown-stub.c: New file.
90238
90239 2004-06-24  Jim Meyering  <jim@meyering.net>
90240
90241         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
90242
90243 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90244
90245         * modules/argz: Omit "#include".
90246
90247         * MODULES.html.sh (func_all_modules): Add calloc, to match
90248         2004-06-01 addition of calloc module.
90249
90250 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90251
90252         * m4/argz.m4: New file, which is autoupdated from libtool.
90253
90254 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90255
90256         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
90257         libtool.
90258
90259 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90260
90261         * config/srclist-update: Don't insist on "USA." before the
90262         close-comment, as libtool omits the period and puts the */ on a
90263         separate line.
90264         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
90265         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
90266
90267 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
90268
90269         * modules/argz: New file.
90270         * MODULES.html.sh (func_all_modules): Add argz.
90271
90272 2004-06-12  Jim Meyering  <jim@meyering.net>
90273         and  Paul Eggert  <eggert@cs.ucla.edu>
90274
90275         * modules/hash (Files): Add lib/xalloc.h.
90276         * modules/pipe (Depends-on): Add wait-process.
90277         * modules/stat (Depends-on): Add xalloc.
90278         * modules/userspec (Files): Add lib/userspec.h.
90279         * modules/xstrto
90280
90281         Upgrade from gettext-0.13.
90282         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
90283         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
90284         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
90285
90286 2004-06-10  Jim Meyering  <jim@meyering.net>
90287
90288         * lib/calloc.c: New file.
90289
90290 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
90291
90292         * lib/getdate.y (yylex): Allow space between sign and number.
90293         Problem reported by Dan Jacobson.
90294
90295 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
90296
90297         Merge from coreutils CVS.
90298
90299         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
90300         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
90301         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
90302         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
90303         xstrtol.m4: Fix copyright date and/or serial number.
90304
90305         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
90306         See if we need an fchown replacement.
90307         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
90308         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
90309         and use the replacement function if we detect either defect.
90310
90311         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
90312         gl_UTIMECMP.
90313
90314 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
90315         and  Jim Meyering  <jim@meyering.net>
90316
90317         Merge from coreutils CVS.
90318
90319         * lib/stat-macros.h: New file, with contents from file-type.h
90320         and coreutils' system.h.
90321         * lib/file-type.c: Include "stat-macros.h".
90322         * lib/file-type.h (file_type): Move all macro definitions to new file,
90323         stat-macros.h.
90324
90325         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
90326         Wrap old code with this conditional.
90327         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
90328         function that does not dereference symlinks.
90329         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
90330
90331         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
90332         dependency problems.
90333         (xreadlink): Accept new arg SIZE, for efficiency.
90334         All decls and uses changed.
90335         * lib/xreadlink.h: Include <stddef.h>, for size_t.
90336
90337         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
90338         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
90339
90340         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
90341         sysexits.h.
90342
90343 2004-06-01  Jim Meyering  <jim@meyering.net>
90344
90345         * m4/calloc.m4: New file.
90346
90347 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
90348
90349         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
90350         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
90351         Also, fix a typo in a diagnostic.
90352
90353 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
90354
90355         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
90356         or AC_FUNC_REALLOC.
90357
90358 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
90359
90360         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
90361         macros to be defined.
90362         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
90363         the allocator returns NULL because the requested size is zero.
90364
90365 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
90366
90367         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
90368         var.  Add comment explaining why libc still defines it.  This
90369         merges the following patch from glibc:
90370         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
90371
90372 2004-05-20  Andreas Schwab  <schwab@suse.de>
90373
90374         * m4/free.m4: Replace free if it not known to work, not the other
90375         way round.
90376
90377 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
90378
90379         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
90380         present in glibc since revision 1.1 of this file.
90381         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
90382         obstack_alignment_mask, obstack_alloc, obstack_base,
90383         obstack_blank, obstack_blank_fast, obstack_chunk_size,
90384         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
90385         obstack_grow0, obstack_init, obstack_int_grow,
90386         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
90387         obstack_next_free, obstack_object_size, obstack_ptr_grow,
90388         obstack_ptr_grow_fast, obstack_room): Remove declarations of
90389         nonexistent functions.
90390
90391 2004-05-18  Karl Berry  <karl@gnu.org>
90392
90393         * config/srclist.txt: break link for vasnprintf.c.
90394
90395 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90396
90397         Port obstack to the AS/400, where pointers are 16 bytes wide and
90398         you cannot cast an integer to a valid pointer.  This patch is
90399         currently waiting to be integrated into glibc; see
90400         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
90401
90402         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
90403         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
90404         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
90405         (struct obstack): temp member is now a union of a pointer and
90406         an integer, instead of an integer.  All integer uses changed.
90407         This does not affect the physical layout of struct obstack,
90408         except on hosts (like the AS/400) where the size or alignment of
90409         void * is greater than that of ptrdiff_t.
90410         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
90411         __STDC__)]: Store temporary in pointer member of union, not
90412         integer member.
90413         * lib/obstack.c: Include <stddef.h>, for offsetof.
90414         (struct fooalign): Remove; it doesn't need a name.
90415         (union fooround): Change double to long double, and add void *.
90416         (DEFAULT_ALIGNMENT): Use offsetof to compute.
90417         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
90418         not a macro.  Hence the values are always int; so remove all
90419         casts-to-int in uses.
90420
90421 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90422
90423         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
90424         we can get this patch merged into glibc.
90425
90426 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90427             Paul Eggert  <eggert@cs.ucla.edu>
90428
90429         * m4/argp: Depend on alloca.
90430
90431 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90432             Paul Eggert  <eggert@cs.ucla.edu>
90433
90434         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
90435         freecoding.
90436
90437 2004-05-17  Bruno Haible  <bruno@clisp.org>
90438
90439         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
90440         precision that consists of a '.' followed by an empty digit string.
90441         Patch by Tor Lillqvist <tml@iki.fi>.
90442
90443 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90444
90445         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
90446         for backward compatibility with older code.  We need our own
90447         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
90448         it under some other name, and our alloca.h will define it.
90449
90450 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90451             Derek Price  <derek@ximbiot.com>
90452
90453         * lib/alloca.c: Include <alloca.h>, to get our interface.
90454         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
90455         include <alloca.h> first.  Use C89 prototype for alloca; this
90456         requires including <stddef.h> for size_t.  Use extern "C" if C++.
90457         Use #elif for simplicity, since we can assume C89 now.
90458         Don't try to source the system alloca.h since it will not be found
90459         and to prevent recursively including its replacement.
90460         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
90461         * lib/regex.c: Likewise.
90462
90463 2004-05-16  Derek Price  <derek@ximbiot.com>
90464             Paul Eggert  <eggert@cs.ucla.edu>
90465
90466         getline cleanup.  This changes the getndelim2 API: both order of
90467         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
90468         no delimiter).
90469
90470         * lib/getline.c: Don't include stddef.h or stdio.h, since our
90471         interface does that.
90472         (getline): Always use getdelim, so that we don't have two
90473         copies of this code.
90474         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
90475         if available.
90476         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
90477         (GETNDELIM2_MAXIMUM): New macro.
90478         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
90479         instead of the old practice of delim2==0.  All callers changed.
90480         Return -1 on overflow, instead of returning junk.
90481         Do not set *linesize unless allocation succeeds.
90482         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
90483         that we include sys/types.h.
90484         * lib/getnline.h: Likewise.
90485         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
90486         (getndelim2): Reorder arguments.
90487         * lib/getnline.c (getnline, getndelim):
90488         Don't discard the NMAX argument.
90489         (getnline): Invoke getndelim, to avoid code duplication.
90490         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
90491         of (size_t) -1 by callers of the getnline family.
90492
90493 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90494
90495         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
90496         Check for gettimeofday.
90497         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
90498         Check for settimeofday, stime.
90499
90500 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90501
90502         * lib/nanosleep.c (suspended): Change its type from int to
90503         sig_atomic_t volatile.
90504         (first_call): Make it private to rpl_nanosleep, and have it
90505         be zero initially as that's a bit faster.
90506         (my_usleep): Round up fractional times instead of truncating them,
90507         as this is the usual meaning for 'sleep'.
90508
90509         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
90510         doesn't work.
90511         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
90512         (ENOSYS): Define if not defined.
90513         (settime): Fall back on stime if it exists and settimeofday fails.
90514         But don't bother with fallbacks if a method fails with errno == EPERM.
90515
90516 2004-05-11  Jim Meyering  <jim@meyering.net>
90517
90518         Prior to this change, the save_cwd caller required read access to the
90519         current directory on most systems (ones with the fchdir function).
90520
90521         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
90522         fails, try write-only, and finally, resort to using xgetcwd.
90523
90524 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
90525
90526         * lib/obstack.c, obstack.h: Import changes from libc.
90527
90528 2004-04-28  Bruno Haible  <bruno@clisp.org>
90529
90530         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
90531         also implicitly appends .exe to executables.
90532         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
90533         accepts Windows pathnames.
90534         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90535         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90536         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90537         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90538         Reported by Derek Robert Price <derek@ximbiot.com>.
90539
90540 2004-04-21  Karl Berry  <karl@gnu.org>
90541
90542         * config/srclist.txt (localcharset.c): break sync.
90543
90544 2004-04-20  Paul Eggert  <eggert@twinsun.com>
90545
90546         * m4/host-os.m4: Add a copyright notice.
90547
90548 2004-04-20  Jim Meyering  <jim@meyering.net>
90549
90550         Change UTILS_ to gl_ in AC_DEFINE'd names.
90551         Change utils_- and jm_-prefixed variables, too.
90552         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
90553         UTILS_FUNC_MKDIR_TRAILING_SLASH.
90554         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
90555
90556         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
90557         Don't emit trailing blanks.
90558         Also rename jm_-prefixed variables to have gl_ prefix.
90559
90560         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
90561         Also rename jm_-prefixed variables to have gl_ prefix.
90562
90563         * m4/jm-macros.m4: Reflect the renamings.
90564         * m4/prereq.m4: Likewise.
90565
90566 2004-04-20  Jim Meyering  <jim@meyering.net>
90567
90568         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
90569         memory.
90570
90571 2004-04-20  Jim Meyering  <jim@meyering.net>
90572             Bruno Haible  <bruno@clisp.org>
90573
90574         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
90575         memory when realloc fails.
90576
90577 2004-04-19  Jim Meyering  <jim@meyering.net>
90578
90579         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
90580         now that readutmp.c may call `free (0)'.
90581
90582 2004-04-19  Bruno Haible  <bruno@clisp.org>
90583
90584         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
90585         * m4/inttypes_h.m4: Likewise.
90586         * m4/stdint_h.m4: Likewise.
90587         * m4/intmax_t.m4: Likewise.
90588         * m4/uintmax_t.m4: Likewise.
90589
90590 2004-04-18  Jim Meyering  <jim@meyering.net>
90591
90592         * m4/prereq.m4: Don't forbid jm_ prefix.
90593
90594         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
90595         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
90596         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
90597         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
90598         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
90599         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
90600         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
90601         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
90602         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
90603         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
90604         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
90605         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
90606         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
90607         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
90608         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
90609         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
90610         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
90611         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
90612         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
90613
90614 2004-04-18  Jim Meyering  <jim@meyering.net>
90615
90616         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
90617         failure, don't leak memory and do call END_UTMP_ENT.
90618
90619 2004-04-16  Jim Meyering  <jim@meyering.net>
90620
90621         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
90622         coreutils' stat program.
90623         (gl_PREREQ): Don't require jm_PREREQ_STAT.
90624
90625 2004-04-11  Paul Eggert  <eggert@twinsun.com>
90626
90627         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
90628         C89.
90629         (CHAR_BIT): Remove, since we assume C89.
90630         Include <stdint.h> if available, as per current Autoconf CVS advice.
90631
90632 2004-03-31  Jim Meyering  <jim@meyering.net>
90633
90634         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
90635         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
90636         * m4/xalloc.m4: Likewise.
90637
90638 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90639
90640         Merge from coreutils.
90641
90642         * m4/inttostr.m4: New file.
90643         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
90644         Require AM_STDBOOL_H and gl_TIMESPEC instead.
90645         Require gl_CLOCK_TIME.
90646         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
90647
90648 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90649
90650         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
90651         not bool, to be more consistent with Unix conventions.
90652         Suggested by Bruno Haible.
90653
90654         Merge from coreutils.
90655
90656         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
90657         * lib/umaxtostr.c: New files.
90658
90659         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
90660         the usual <time.h> dance.
90661         (get_date): Change signature to support fractional time stamps.
90662         All callers changed.
90663         * lib/getdate.y: Include "getdate.h" first, as we can now
90664         assume C89 and don't need to worry about 'const'.
90665         Similarly, include "unlocked-io.h" near start, not in middle.
90666         Include <limits.h>.
90667         (textint.value): Use long int rather than int.
90668         (textint.digits): Use size_t rather than int.
90669         (BILLION, LOG10_BILLION): New constants.
90670         (parser_control): New member rel_ns.  Members day_ordinal,
90671         time_zone, month, day, hour, minutes, rel_year, rel_month,
90672         rel_day, rel_hour, rel_minutes, rel_seconds
90673         are now long int, not int.  Member seconds is now struct timespec,
90674         not int.  New member timespec_seen.  Members dates_seen, days_seen,
90675         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
90676         not int.
90677         (%union.intval): Now long int, not int.
90678         New member timespec.
90679         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
90680         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
90681         (spec): Now is a timespec or an item list.
90682         (timespec, items): New nonterminals.
90683         (time, rel, relunit, number, get_date):
90684         Add support for fractional seconds.
90685         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
90686         (gmtime, localtime, mktime): Remove decls; not needed with C89.
90687         (to_hour): First arg is now long int, not int.
90688         (to_year): Returns long int, not int.
90689         Don't treat year -70 like 70.
90690         (tm_diff): Returns long int, not int.
90691         (lookup_word): Use bool instead of int when appropriate.
90692         (yylex): Use size_t for count, not int.
90693         Detect overflow when parsing large integer constants.
90694         Add support for fractions.
90695         (get_date): Make pointers 'const' if possible.
90696         Use more-portable code to detect integer overflow.
90697         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
90698         Don't use ctime; it's not reliable if the year has >4 digits.
90699
90700         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
90701         This is for compatibility with BSD.
90702
90703         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
90704         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
90705         From coreutils' system.h.
90706
90707         * lib/userspec.c: Don't include "posixver.h".
90708         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
90709         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
90710         compatible extension.  Simplify code by removing a boolean int
90711         that was always nonzero if a string was nonnull.
90712
90713 2004-03-30  Jim Meyering  <jim@meyering.net>
90714
90715         Merge from coreutils.
90716
90717         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
90718         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
90719         on some systems one must include <grp.h> before it.
90720         Reported by Christian Krackowizer.
90721
90722 2004-03-30  Jim Meyering  <jim@meyering.net>
90723
90724         Merge from coreutils.
90725
90726         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
90727
90728         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
90729         an empty input stream.
90730
90731         * lib/readtokens.c: Include <stdbool.h>.
90732         (readtoken): Use `size_t' rather than int/long.
90733         All callers adjusted.
90734         Use `bool' rather than `int' where appropriate.
90735         Use memset rather than an explicit loop.
90736         Use x2nrealloc rather than xrealloc.
90737         Allow the use of `\0' as a delimiter.
90738         (readtokens): Likewise.
90739         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
90740
90741 2004-03-30  Jim Meyering  <jim@meyering.net>
90742
90743         * m4/realloc.m4: Remove file, since now it does no more than
90744         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
90745         the `configure.ac' section of module/realloc.
90746         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
90747
90748 2004-03-30  Bruno Haible  <bruno@clisp.org>
90749
90750         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
90751         nonnull.
90752
90753 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90754
90755         Merge changes to getloadavg.c from coreutils and Emacs.
90756
90757         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
90758         Define to an expression, not to the empty string.
90759         Include cloexec.h and xalloc.h.
90760         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
90761         Use set_cloexec_flag rather than rolling our own.
90762         * lib/cloexec.c, lib/cloexec.h: New files.
90763
90764 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90765
90766         * m4/cloexec.m4: New file.
90767
90768 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90769
90770         * lib/getopt.h: Sync with libc CVS.
90771
90772 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90773             Bruno Haible  <bruno@clisp.org>
90774
90775         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
90776         mbswidth.
90777
90778 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90779             Bruno Haible  <bruno@clisp.org>
90780
90781         * lib/mbswidth.h: Include <wchar.h> only if
90782         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
90783         <wchar.h>.
90784         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
90785
90786 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90787
90788         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
90789         Sync with libc CVS.
90790         * lib/getopt_int.h: New file, also synced from libc.
90791
90792 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90793
90794         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
90795         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
90796         Bring back getopt.c, getopt.h, getopt1.c.
90797
90798 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90799
90800         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
90801         All uses changed.  Check for sa_sigaction member; this fixes
90802         a bug first reported by Jason Andrade in
90803         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90804
90805 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90806
90807         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
90808         '#if' expressions.  Unlike the code it replaces, it does not
90809         depend on (defined _SC_PAGESIZE).  However, it does depend on
90810         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
90811         first reported by Jason Andrade in
90812         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90813
90814 2004-02-25  Simon Josefsson  <jas@extundo.com>
90815
90816         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
90817
90818 2004-02-25  Simon Josefsson  <jas@extundo.com>
90819
90820         * lib/strdup.h: New file.
90821         * lib/strdup.c: Include it.
90822         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
90823         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
90824
90825 2004-02-23  Karl Berry  <karl@gnu.org>
90826
90827         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
90828         (from fencepost.gnu.org:/gd/gnuorg).
90829
90830 2004-02-23  Karl Berry  <karl@gnu.org>
90831
90832         * config/srclistvars.sh (GNUORG) [karl]: redefine.
90833         * config/srclist.txt: add maintain/standards documents.
90834
90835 2004-02-18  Bruno Haible  <bruno@clisp.org>
90836
90837         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
90838         Reported by Derek Robert Price <derek@ximbiot.com>.
90839
90840 2004-02-16  Karl Berry  <karl@gnu.org>
90841
90842         * config/mkinstalldirs, install-sh: update from automake.
90843
90844 2004-02-06  Karl Berry  <karl@gnu.org>
90845
90846         * m4/po.m4: update from gettext 0.14.1.
90847
90848 2004-02-06  Karl Berry  <karl@gnu.org>
90849
90850         * lib/config.charset: update from gettext 0.14.1.
90851
90852 2004-02-05  Paul Eggert  <eggert@twinsun.com>
90853
90854         Add comments and code, prompted by suggestions from Bruno Haible
90855         for sh-quote.
90856         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
90857         describing the enum quoting_style values.
90858         * lib/quotearg.c (quotearg_alloc): New function.
90859         (quotearg_buffer_restyled): Treat lone { and } as special.
90860         Treat = as special.  Work around bug with older shells
90861         that "see" a '\' that is really the 2nd byte of a multibyte char.
90862         Quote empty string with shell_quoting_style.
90863
90864 2004-02-03  Bruno Haible  <bruno@clisp.org>
90865
90866         * m4/pipe.m4: New file, from GNU gettext.
90867
90868 2004-02-03  Bruno Haible  <bruno@clisp.org>
90869
90870         * lib/pipe.h: New file, from GNU gettext.
90871         * lib/pipe.c: New file, from GNU gettext.
90872
90873 2004-01-27  Bruno Haible  <bruno@clisp.org>
90874
90875         * m4/execute.m4: New file, from GNU gettext.
90876
90877 2004-01-27  Bruno Haible  <bruno@clisp.org>
90878
90879         * lib/execute.h: New file, from GNU gettext.
90880         * lib/execute.c: New file, from GNU gettext.
90881         * lib/w32spawn.h: New file, from GNU gettext.
90882
90883 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90884
90885         Merge from diffutils.
90886
90887         * lib/file-type.c (file_type): Add typed memory objects.
90888         * lib/file-type.h (S_TYPEISTMO): New macro.
90889
90890         * lib/c-stack.h (c_stack_action): Remove argv argument.
90891         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
90892         (die): Don't calculate message unless segv_action returns.
90893         (get_stack_location, min_address_from_argv, max_address_from_argv,
90894         volatile stack_base, volatile_stack_size): Remove.
90895         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
90896         that every segmentation violation is a stack overflow.  (Ouch!)
90897         See Debian bug 136249 (still outstanding) for more info about why
90898         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
90899
90900 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90901
90902         Exit-status fix from coreutils.
90903
90904         Use exit_failure consistently in place of EXIT_FAILURE,
90905         so that program exit statuses are consistent on failure.
90906
90907         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
90908         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
90909         * lib/argmatch.h: Comment fix to match the above.
90910         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
90911         Now a macro referring to exit_failure, instead of a separate
90912         variable.  Include "exitfail.h" to get it.
90913         * lib/xstrtol.h: Include "exitfail.h".
90914         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
90915
90916         * lib/long-options.c (parse_long_options): Use prototype
90917         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
90918         for clarity.
90919
90920 2004-01-21  Jim Meyering  <jim@meyering.net>
90921
90922         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
90923         so as not to conflict with a different-sized __mktime_internal
90924         function in GNU libc.
90925         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
90926         Problem building statically-linked `ls' reported by Michael Brunnbauer.
90927
90928 2004-01-20  Karl Berry  <karl@gnu.org>
90929
90930         * config/config.guess: update from config.
90931
90932         * config/srclistvars.sh: GNUWWWLICENSES for karl.
90933
90934 2004-01-20  Bruno Haible  <bruno@clisp.org>
90935
90936         Safer stack allocation.
90937         * lib/setenv.c: Include allocsa.h.
90938         (alloca): Remove fallback definition.
90939         (freea): Remove macro.
90940         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
90941         instead of freea.
90942
90943 2004-01-20  Bruno Haible  <bruno@clisp.org>
90944
90945         * m4/eealloc.m4: New file, from GNU gettext.
90946
90947 2004-01-20  Bruno Haible  <bruno@clisp.org>
90948
90949         * m4/allocsa.m4: New file, from GNU gettext.
90950
90951 2004-01-20  Bruno Haible  <bruno@clisp.org>
90952
90953         * lib/xallocsa.h: New file, from GNU gettext.
90954         * lib/xallocsa.c: New file, from GNU gettext.
90955
90956 2004-01-20  Bruno Haible  <bruno@clisp.org>
90957
90958         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
90959
90960 2004-01-20  Bruno Haible  <bruno@clisp.org>
90961
90962         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
90963         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
90964         specially.
90965
90966 2004-01-20  Bruno Haible  <bruno@clisp.org>
90967
90968         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
90969         patch.
90970
90971 2004-01-20  Bruno Haible  <bruno@clisp.org>
90972
90973         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
90974
90975 2004-01-20  Bruno Haible  <bruno@clisp.org>
90976
90977         * lib/eealloc.h: New file.
90978
90979 2004-01-20  Bruno Haible  <bruno@clisp.org>
90980
90981         * lib/binary-io.h: Avoid warnings on Cygwin.
90982
90983 2004-01-20  Bruno Haible  <bruno@clisp.org>
90984
90985         * lib/allocsa.h: New file, from GNU gettext.
90986         * lib/allocsa.c: New file, from GNU gettext.
90987
90988 2004-01-18  Karl Berry  <karl@gnu.org>
90989
90990         * doc/gpl.texi, doc/lgpl.texi: new files.
90991
90992 2004-01-18  Karl Berry  <karl@gnu.org>
90993
90994         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
90995         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
90996
90997 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90998
90999         Merge from coreutils.
91000
91001         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
91002         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
91003         (gl_DEFAULT_POSIX2_VERSION): Move
91004         the documentation from 'configure' into 'config.hin',
91005         so that 'configure --help' isn't burdened by it and
91006         we don't have to worry about its formatting there.
91007         Reword the documentation so that it's more succinct
91008         and can be run together into a single paragraph.
91009         * m4/same.m4 (gl_SAME): Check for pathconf.
91010
91011 2004-01-15  Paul Eggert  <eggert@twinsun.com>
91012
91013         Merge from coreutils.
91014
91015         * lib/posixver.c: Include posixver.h.
91016
91017         * lib/same.c: Include <stdbool.h>, <limits.h>.
91018         (_POSIX_NAME_MAX): Define if not defined.
91019         (MIN): New macro.
91020         (same_name): If file names are silently truncated, report
91021         that the file names are the same if they are the same after
91022         the silent truncation.
91023
91024         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
91025         conversion function.
91026         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
91027         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
91028         longer needed.
91029
91030 2004-01-15  Jim Meyering  <jim@meyering.net>
91031
91032         Merge from coreutils.
91033
91034         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
91035         if no library is required.
91036         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
91037         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
91038         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
91039         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
91040         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
91041         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
91042         value, $ac_cv_search_crypt, if it's "none required".
91043         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
91044         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
91045         not gl_FUNC_GETLOADAVG.
91046         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
91047         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
91048
91049 2004-01-15  Jim Meyering  <jim@meyering.net>
91050
91051         Merge from coreutils.
91052
91053         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
91054         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
91055         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
91056
91057         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
91058         optional configure-time default.
91059
91060         * lib/version-etc.c (version_etc_copyright): Update copyright date.
91061
91062         * lib/xreadlink.c (xreadlink): Correct outdated comment.
91063
91064 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
91065
91066         Merge from coreutils.
91067
91068         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
91069         value, $ac_cv_search_nanosleep, if it's "none required".
91070
91071 2004-01-14  Paul Eggert  <eggert@twinsun.com>
91072
91073         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
91074         with like-named macro in fnmatch.c.
91075         (EXT): Use an internal constant instead.
91076
91077         Merge fnmatch patches from glibc.
91078         * lib/fnmatch.c (mbsinit): Remove define.
91079         Add libc_hidden_ver (__fnmatch, fnmatch).
91080         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
91081         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
91082
91083 2004-01-14  Karl Berry  <karl@gnu.org>
91084
91085         * config/install-sh: update from automake.
91086
91087 2004-01-13  Karl Berry  <karl@gnu.org>
91088
91089         * config/install-sh: update from automake.
91090
91091 2004-01-09  Karl Berry  <karl@gnu.org>
91092
91093         * config/install-sh: update from automake.
91094
91095 2004-01-05  Karl Berry  <karl@gnu.org>
91096
91097         * config/config.{sub,guess}: update from config.
91098
91099 2003-12-31  Karl Berry  <karl@gnu.org>
91100
91101         * config/depcomp: update from automake.
91102
91103 2003-12-14  Karl Berry  <karl@gnu.org>
91104
91105         * lib/config.charset: update from gettext-runtime.
91106
91107 2003-12-03  Paul Eggert  <eggert@twinsun.com>
91108
91109         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
91110         Bug reported by Alfred M. Szmidt.
91111
91112 2003-12-03  Bruno Haible  <bruno@clisp.org>
91113
91114         * m4/gettext.m4: Upgrade from gettext-0.13.
91115         * m4/po.m4: Upgrade from gettext-0.13.
91116         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
91117         * m4/intmax.m4: New file, from gettext-0.13.
91118         * m4/printf-posix.m4: New file, from gettext-0.13.
91119
91120 2003-11-29  Karl Berry  <karl@gnu.org>
91121
91122         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
91123
91124 2003-11-25  Paul Eggert  <eggert@twinsun.com>
91125             Bruno Haible  <bruno@clisp.org>
91126
91127         * lib/printf-parse.h: Don't include sys/types.h.
91128         (ARG_NONE): New macro.
91129         (char_directive): Change type of *arg_index fields to size_t.
91130         * lib/printf-parse.c: Don't include sys/types.h.
91131         (SSIZE_MAX): Remove macro.
91132         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
91133         Remove unnecessary overflow check.
91134         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
91135         fields.
91136
91137 2003-11-25  Bruno Haible  <bruno@clisp.org>
91138
91139         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
91140
91141 2003-11-25  Bruno Haible  <bruno@clisp.org>
91142
91143         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
91144         gt_TYPE_SSIZE_T.
91145
91146 2003-11-24  Paul Eggert  <eggert@twinsun.com>
91147
91148         * modules/alloca: Remove dependency on xalloc.
91149
91150 2003-11-24  Paul Eggert  <eggert@twinsun.com>
91151
91152         * lib/alloca.c: Remove dependency on xalloc module.
91153         (xalloc_die): Remove.
91154         (memory_full) [!defined emacs]: New macro.
91155         [!defined emacs]: Don't include xalloc.h.
91156         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
91157         address arithmetic overflows.  Change datatypes a bit to avoid
91158         unnecessary casts.
91159
91160 2003-11-22  Jim Meyering  <jim@meyering.net>
91161
91162         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
91163         s/size/size_t/.
91164
91165 2003-11-21  Karl Berry  <karl@gnu.org>
91166
91167         * config/config.{sub,guess}: update from config.
91168
91169 2003-11-18  Karl Berry  <karl@gnu.org>
91170
91171         * config/config.{sub,guess}: update from config.
91172
91173         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
91174
91175 2003-11-17  Paul Eggert  <eggert@twinsun.com>
91176
91177         * README: Mention that S+T cannot overflow if S is the size of
91178         an existing object and T is sufficiently small.
91179
91180 2003-11-17  Jim Meyering  <jim@meyering.net>
91181
91182         On systems without utime and without a utimes function capable of
91183         dealing with a NULL struct utimbuf* argument, this utime replacement
91184         could -- in unusual circumstances -- leak a file descriptor.
91185         * lib/utime.c: Include <unistd.h> and <errno.h>.
91186         (utime_null): Be sure to close `fd' and to preserve errno.
91187         Reported by Geoff Collyer via Arnold Robbins.
91188
91189 2003-11-17  Bruno Haible  <bruno@clisp.org>
91190
91191         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
91192         (Depends-on): Add xsize.
91193
91194 2003-11-17  Bruno Haible  <bruno@clisp.org>
91195
91196         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
91197
91198 2003-11-17  Bruno Haible  <bruno@clisp.org>
91199
91200         * lib/vasnprintf.c (alloca): Remove fallback definition.
91201         (freea): Remove definition.
91202         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
91203         Reported by Paul Eggert.
91204
91205 2003-11-16  Paul Eggert  <eggert@twinsun.com>
91206             Bruno Haible  <bruno@clisp.org>
91207
91208         Protect against address arithmetic overflow.
91209         * lib/printf-args.h: Include stddef.h.
91210         (arguments): Change type of field 'count' to size_t.
91211         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
91212         'unsigned int' where appropriate.
91213         * lib/printf-parse.h: Include sys/types.h.
91214         (char_directive): Change type of *arg_index fields to ssize_t.
91215         (char_directives): Change type of fields 'count', max_*_length to
91216         size_t.
91217         * lib/printf-parse.c: Include sys/types.h and xsize.h.
91218         (SSIZE_MAX): Define fallback value.
91219         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
91220         instead of 'int' where appropriate. Check a_allocated, d_allocated
91221         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
91222         * lib/vasnprintf.c: Include xsize.h.
91223         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
91224         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
91225         overflow. Avoid wraparound when converting a width or precision from
91226         decimal to binary.
91227
91228 2003-11-16  Bruno Haible  <bruno@clisp.org>
91229
91230         Update from GNU gettext.
91231         * lib/printf-parse.c: Generalize to it can be compiled for wide
91232         strings.
91233         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
91234         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
91235         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
91236         SNPRINTF): New macros.
91237         Don't include <alloca.h> if the file is used inside libintl.
91238         (local_wcslen): New function, for Solaris 2.5.1.
91239         (VASNPRINTF): Use it instead of wcslen.
91240
91241 2003-11-16  Bruno Haible  <bruno@clisp.org>
91242
91243         * lib/xsize.h (xmax): New function.
91244         (xsum, xsum3, xsum4): Declare as "pure" functions.
91245
91246 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91247
91248         * modules/xalloc (Files): Undo latest change, since xalloc.h
91249         no longer needs SIZE_MAX or PTRDIFF_MAX.
91250
91251 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91252
91253         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
91254         gl_PTRDIFF_MAX.
91255
91256 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91257
91258         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
91259         "return", to pacify some unknown compiler.  Problem reported
91260         by Joerg Schilling.
91261
91262 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91263
91264         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
91265         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
91266         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
91267         heuristic is just as accurate as far as we know, and it removes a
91268         dependency on size_max.m4 and ptrdiff_max.m4.
91269
91270 2003-11-11  Bruno Haible  <bruno@clisp.org>
91271
91272         * modules/xsize (Files): Add m4/size_max.m4.
91273         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
91274
91275 2003-11-11  Bruno Haible  <bruno@clisp.org>
91276
91277         * m4/size_max.m4: New file.
91278         * m4/ptrdiff_max.m4: New file.
91279         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
91280         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
91281         (gl_XALLOC): Invoke it.
91282
91283 2003-11-11  Bruno Haible  <bruno@clisp.org>
91284
91285         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
91286         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
91287         defined.
91288
91289 2003-11-10  Paul Eggert  <eggert@twinsun.com>
91290
91291         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
91292         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
91293         rejected some allocations of exactly SIZE_MAX - 2 bytes.
91294         From Bruno Haible.
91295         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
91296         not (size_t) -1, since it's defined here.
91297
91298 2003-11-09  Karl Berry  <karl@gnu.org>
91299
91300         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
91301
91302 2003-11-06  Paul Eggert  <eggert@twinsun.com>
91303
91304         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
91305         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
91306         Reject sizes of exactly SIZE_MAX bytes.
91307         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
91308         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
91309
91310 2003-11-05  Bruno Haible  <bruno@clisp.org>
91311
91312         * lib/xsize.h: Include limits.h, to avoid a possible collision with
91313         SIZE_MAX defined in <limits.h> on Solaris.
91314
91315 2003-11-04  Jim Meyering  <jim@meyering.net>
91316
91317         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
91318         variable names, rather than @VAR@.
91319         * modules/poll: Likewise.
91320
91321 2003-11-04  Bruno Haible  <bruno@clisp.org>
91322
91323         * modules/xsize: New file.
91324         * modules/linebreak: Depend on xsize.
91325         * MODULES.html.sh (func_all_modules): Add xsize.
91326
91327 2003-11-04  Bruno Haible  <bruno@clisp.org>
91328
91329         * m4/xsize.m4: New file.
91330
91331 2003-11-04  Bruno Haible  <bruno@clisp.org>
91332
91333         * lib/xsize.h: New file.
91334         * lib/linebreak.c: Include xsize.h.
91335         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
91336         argument for overflow.
91337         Suggested by Paul Eggert.
91338
91339 2003-11-03  Karl Berry  <karl@gnu.org>
91340
91341         * config/config.{guess,sub}: update from config.
91342
91343 2003-11-03  Jim Meyering  <jim@meyering.net>
91344
91345         * modules/userspec (lib_SOURCES): Add userspec.h.
91346         (Include): Add "userspec.h".
91347         Improve description.
91348
91349 2003-11-03  Jim Meyering  <jim@meyering.net>
91350
91351         * lib/userspec.c: Include "userspec.h".
91352         * lib/userspec.h: New file.
91353
91354 2003-11-03  Bruno Haible  <bruno@clisp.org>
91355
91356         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
91357
91358 2003-11-03  Bruno Haible  <bruno@clisp.org>
91359
91360         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
91361         available, to avoid (extremely rare) race condition.
91362         Suggested by Paul Eggert.
91363
91364 2003-11-02  Karl Berry  <karl@gnu.org>
91365
91366         * config/srclist.txt (vasprintf.c): sync broken, sigh.
91367
91368 2003-10-31  Paul Eggert  <eggert@twinsun.com>
91369
91370         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
91371         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
91372         (read_filesystem_list): Set and use me_type_malloced.
91373         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
91374         whatever the type happens to be), for brevity and consistency.
91375         Check for size calculation overflow on Alphas running OSF/1.
91376
91377 2003-10-31  Jim Meyering  <jim@meyering.net>
91378
91379         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
91380
91381         * lib/linebuffer.c: Include <string.h> for declaration of memset.
91382
91383 2003-10-30  Paul Eggert  <eggert@twinsun.com>
91384             Bruno Haible  <bruno@clisp.org>
91385
91386         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
91387         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
91388
91389 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
91390
91391         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
91392         netbsd*-gnu*.  Suggested by Robert Millan.
91393
91394 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91395
91396         * modules/group-member: Depend on stdbool.
91397
91398 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91399
91400         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
91401
91402 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91403
91404         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
91405         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
91406         after the 'gnu' in these cases.  This fixes some bugs in the
91407         previous change, and is based on suggestions by Robert Millan.
91408
91409 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91410
91411         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
91412         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
91413         no longer needed.
91414         * lib/quotearg.c (quotearg_n_options): Use it.
91415         * lib/group-member.c: Include <stdbool.h>.
91416         (free_group_info): Arg is now const *; don't free arg.
91417         (get_group_info): Now returns bool and accepts struct group_info *,
91418         rather than returning a malloc'ed struct group_info *.
91419         All uses changed.  Check for overflow in internal size calculation.
91420
91421         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
91422         rather than xmalloc/xrealloc.
91423         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
91424         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
91425         conformance bug: the old code used a pointer after freeing the
91426         storage that it addressed.
91427         * lib/hash.c (hash_initialize): Simplify the code by using
91428         xalloc_oversized rather than doing it by hand.
91429         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
91430         the buffer preserved.  Use free and xmalloc instead.
91431         * lib/quotearg.c (quotearg_n_options): Likewise.
91432         Use a simpler test for size overflow.  Don't use xalloc_oversized
91433         because unsigned int might be wider than size_t (!); this suggests
91434         that we should switch from unsigned int to size_t for slot numbers.
91435
91436 2003-10-28  Paul Eggert  <eggert@twinsun.com>
91437
91438         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
91439         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
91440         NetBSD kernels.  Requested by Richard Stallman.
91441
91442 2003-10-27  Paul Eggert  <eggert@twinsun.com>
91443
91444         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
91445         to allocate the returned structure.  Do not allocate a subarray,
91446         as x2nrealloc will do that.
91447         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
91448         instead of xnrealloc.
91449         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
91450
91451 2003-10-27  Bruno Haible  <bruno@clisp.org>
91452
91453         * lib/stdbool_.h: Better support for BeOS.
91454
91455 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91456
91457         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
91458         now uses inline.
91459
91460 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91461
91462         * lib/xalloc.h (xalloc_oversized): New static inline function, for
91463         callers that want to do their own size-overflow checking.  Include
91464         <stdbool.h>, since xalloc_oversized returns bool.
91465         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
91466         to use xalloc_oversized.
91467
91468         Add two functions x2realloc, x2nrealloc, for programs that grow
91469         arrays dynamically by doubling their sizes.
91470         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
91471         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
91472         New functions.
91473
91474         Port to C99 semantics for 'inline' of external functions.
91475         Bug reported by Bruno Haible.
91476         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
91477         with the old contents of xnmalloc.
91478         (xnmalloc, xmalloc): Use it.
91479         (xnrealloc_inline): New static inline function,
91480         with the old contents of xnrealloc.
91481         (xnrealloc, xrealloc): Use it.
91482
91483         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
91484         that.
91485
91486 2003-10-26  Karl Berry  <karl@gnu.org>
91487
91488         * config/srclist.txt (COPYING.DOC): no longer available from
91489         /gd/gnuorg; don't know where the ultimate source is.
91490
91491 2003-10-25  Paul Eggert  <eggert@twinsun.com>
91492
91493         Fix several address-calculation bugs in the hash modules,
91494         plus some minor code cleanup.
91495
91496         * lib/hash.h: Include <stdbool.h>, for bool.
91497         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
91498         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
91499         hash_get_n_entries, hash_get_max_bucket_length,
91500         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
91501         hash_rehash): Use size_t rather than unsigned.
91502         * lib/hash.c (struct hash_table, hash_get_n_buckets,
91503         hash_get_n_buckets_used, hash_get_n_entries,
91504         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
91505         hash_get_entries, hash_do_for_each, hash_string, is_prime,
91506         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
91507         Likewise.
91508         (SIZE_MAX): Define if not defined.
91509         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
91510         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
91511         hash_print):
91512         Use const * when possible.
91513         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
91514         (check_tuning): Fix bug: if tuning parameters were very close to
91515         0 or 1, rounding errors could have caused subscript violations.
91516         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
91517         (hash_initialize): Add 'fail:' label
91518         to free table and return NULL, and use it to simplify code.
91519         Use calloc rather than clearing the storage ourself.
91520         (hash_initialize, hash_rehash): Check for arithmetic overflow in
91521         buffer size calculations.
91522         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
91523         Include <stddef.h>, for size_t.
91524         * lib/hash-pjw.c (hash_pjw): Likewise.
91525         Switch to method described by Bruno Haible.
91526         Include <limits.h>, for CHAR_BIT.
91527         (SIZE_BITS): New macro.
91528
91529 2003-10-23  Paul Eggert  <eggert@twinsun.com>
91530
91531         * m4/getline.m4 (AM_FUNC_GETLINE):
91532         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
91533         hosts.  Problem reported by Derek Robert Price in
91534         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
91535         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
91536         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
91537
91538 2003-10-21  Paul Eggert  <eggert@twinsun.com>
91539
91540         * lib/getndelim2.c (getndelim2): When size calculation overflows,
91541         ceiling the allocation at NMAX bytes rather than silently
91542         discarding input bytes before NMAX is reached.  This makes
91543         a difference only if NMAX exceeds SIZE_MAX / 2.
91544
91545         * lib/obstack.c: Merge from glibc.
91546         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
91547         Add libc_hidden_def (_obstack_newchunk).
91548         (_obstack_free) [! defined _LIBC]: Remove.
91549         [defined _LIBC]: Make a strong alias from obstack_free, rather than
91550         a clone of the function body.
91551         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
91552         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
91553
91554         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
91555         glibc.
91556         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
91557         arg to memcpy.
91558
91559         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
91560         (obstack_ptr_grow_fast, obstack_int_grow_fast):
91561         Don't use lvalue casts, as GCC plans to remove support for them
91562         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
91563         was also present in the non-GCC version, indicating that this
91564         code had always been buggy and had never been widely used.
91565         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
91566         Use the fast variant of each macro, rather than copying the
91567         definiens of the fast variant; that way, we'll be more likely to
91568         catch future bugs in the fast variants.
91569
91570 2003-10-20  Bruno Haible  <bruno@clisp.org>
91571
91572         * modules/wait-process: New file.
91573         * MODULES.html.sh (func_all_modules): Add wait-process.
91574
91575 2003-10-20  Bruno Haible  <bruno@clisp.org>
91576
91577         * m4/wait-process.m4: New file.
91578
91579 2003-10-20  Bruno Haible  <bruno@clisp.org>
91580
91581         * lib/wait-process.h: New file, from GNU gettext.
91582         * lib/wait-process.c: New file, from GNU gettext.
91583
91584 2003-10-19  Jim Meyering  <jim@meyering.net>
91585
91586         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
91587         HPUX 10.20.
91588
91589 2003-10-18  Karl Berry  <karl@gnu.org>
91590
91591         * config/config.guess: update from config.
91592
91593 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91594
91595         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
91596         (getgroups): First arg is int, not size_t.
91597         Don't let 'free' mangle errno.
91598
91599 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91600
91601         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
91602
91603 2003-10-16  Karl Berry  <karl@gnu.org>
91604
91605         * config/config.{guess,sub}: update from config.
91606
91607 2003-10-16  Jim Meyering  <jim@meyering.net>
91608
91609         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
91610         memcpy.
91611
91612 2003-10-15  Paul Eggert  <eggert@twinsun.com>
91613
91614         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
91615         (SIZE_MAX): Remove.
91616         (new_exclude, add_exclude_file): Initial size no longer needs to
91617         be a power of 2.
91618         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
91619         our own address arithmetic overflow checking.
91620
91621         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
91622         (fnmatch): Do not alloca more than 2000 wide characters;
91623         instead, use malloc for large buffers.
91624         Check for address arithmetic overflow, and return -1
91625         with errno set to ENOMEM in that case.
91626         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
91627         (NEW_PATTERN): Do not alloca more than 8000 bytes;
91628         instead, return -1.  Check for address arithmetic overflow.
91629
91630 2003-10-14  Paul Eggert  <eggert@twinsun.com>
91631
91632         Handle invalid suffixes and overflow independently, so that
91633         callers can treat them independently as needed.  Fix some bugs in
91634         suffix handling, e.g., "100k@" was not diagnosed as an invalid
91635         suffix for a human-readable blocksize.  The major caller-visible
91636         change is the addition of a new
91637         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
91638         that both overflow and suffix chars were found.
91639
91640         * lib/human.c (humblock): Don't check separately for invalid suffix
91641         char; that is xstrtoumax's job (now that its bug is fixed).
91642         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
91643         INTMAX_MAX]: New macros.
91644         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
91645         TYPE_MAXIMUM): New macros.
91646         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
91647         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
91648         if overflow occurs, as it's what __strtol does and it's more useful
91649         in practice.
91650         (__xstrtol): If __strtol reports some error other than ERANGE,
91651         reflect it to the caller as LONGINT_INVALID.  If it reports
91652         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
91653         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
91654         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
91655         value.
91656         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
91657         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
91658         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
91659         [defined UINTMAX_MAX]: New macros.
91660
91661 2003-10-14  Bruno Haible  <bruno@clisp.org>
91662
91663         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
91664
91665 2003-10-14  Bruno Haible  <bruno@clisp.org>
91666
91667         * m4/sig_atomic_t: New file, from GNU gettext.
91668         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
91669
91670 2003-10-14  Bruno Haible  <bruno@clisp.org>
91671
91672         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
91673         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
91674         Also use volatile where needed.
91675
91676 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91677
91678         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
91679         Change maintainer from Bruno Haible to 'all'.
91680
91681 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91682
91683         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
91684
91685 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91686
91687         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
91688         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
91689         and define in terms of the other primitives.
91690         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
91691         (SIZE_MAX): Define if not already defined.
91692         (array_size_overflow): New function.
91693         (xalloc_die): Abort instead of exiting if 'error' returns.
91694         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
91695         (xmalloc, xrealloc): Use them.
91696         (xcalloc): Check for address arithmetic overflow.
91697         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
91698         a bit faster than strcpy.
91699
91700 2003-10-10  Simon Josefsson  <jas@extundo.com>
91701
91702         * modules/argp (Depends-on): Add restrict and strcase.
91703
91704 2003-10-10  Simon Josefsson  <jas@extundo.com>
91705
91706         * m4/argp.m4: Add AC_C_INLINE.
91707
91708 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91709
91710         Merge getpass from libc, plus a few fixes.
91711
91712         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
91713         Include <stdbool.h>.
91714         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
91715         __fsetlocking to empty.
91716         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
91717         do include <bits/libc-lock.h>.
91718         Do not include <fcntl.h>; not needed.
91719         [_LIBC]: Include <wchar.h>.
91720         (NOTCANCEL_MODE): New macro.
91721         (flockfile, funlockfile) [_LIBC]: New macros.
91722         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
91723         [!_LIBC]: New macros.
91724         (call_fclose): New function.
91725         (getpass): Use it.  Save tty stream separately; this simplifies the
91726         code and makes it more reliable if stdin happens to equal stdout.
91727         Invoke __fsetlocking on tty.
91728         Handle thread cancellation if needed.
91729         Namespace cleanup (use __tcgetattr, __getline).
91730         Use bool for Booleans.
91731         [USE_IN_LIBIO]: Handle wide streams.
91732         [!_LIBC]: Unconditionally do the fseek, since we don't know what
91733         stream might go where.
91734
91735         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
91736         doesn't have to include <stdio.h> before us.
91737         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
91738         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
91739         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
91740         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
91741         if not declared, so that we can use getpass.c code from libc without
91742         rewriting it.
91743         (flockfile, ftrylockfile, funlockfile): New macros.
91744
91745 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91746
91747         * modules/getpass: Depend on stdbool.
91748
91749 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91750
91751         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
91752
91753 2003-10-07  Karl Berry  <karl@gnu.org>
91754
91755         * config/config.{guess,sub}: update from config.
91756
91757 2003-10-06  Jim Meyering  <jim@meyering.net>
91758             Bruno Haible  <bruno@clisp.org>
91759
91760         This lets translators provide better translations for the
91761         "Written by ..." part of --version output.
91762         * lib/version-etc.h: Include stdarg.h.
91763         (version_etc_copyright): Declare as readonly.
91764         (version_etc): Make this function variadic with a NULL-terminated list
91765         of author name strings.
91766         (version_etc_va): New declaration.
91767         * lib/version-etc.c: Include stdarg.h, stdlib.h.
91768         (version_etc_copyright): Declare as readonly.
91769         (version_etc_va): New function. Provide a different translatable string
91770         for each possible number of authors < 10. Abbreviate when there are 10
91771         authors or more.
91772         (version_etc): Make this function variadic. Call version_etc_va.
91773         Suggestion from Gary V. Vaughan.
91774
91775         * lib/long-options.h (parse_long_options): Change prototype: the
91776         authors string is moved to the end and becomes variadic.
91777         * lib/long-options.c: Include stdarg.h.
91778         (parse_long_options): Make this function variadic, too.
91779         Call version_etc_va, not version_etc.
91780
91781 2003-10-06  Bruno Haible  <bruno@clisp.org>
91782
91783         * modules/version-etc-2: Remove file.
91784         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
91785
91786 2003-10-06  Bruno Haible  <bruno@clisp.org>
91787
91788         * modules/fatal-signal: New file.
91789         * MODULES.html.sh (func_all_modules): Add fatal-signal.
91790
91791 2003-10-06  Bruno Haible  <bruno@clisp.org>
91792
91793         * m4/fatal-signal.m4: New file.
91794         * m4/signalblocking.m4: New file, from GNU gettext.
91795
91796 2003-10-06  Bruno Haible  <bruno@clisp.org>
91797
91798         * lib/version-etc-2.h: Remove file.
91799         * lib/version-etc-2.c: Remove file.
91800
91801 2003-10-06  Bruno Haible  <bruno@clisp.org>
91802
91803         * lib/fatal-signal.h: New file, from GNU gettext.
91804         * lib/fatal-signal.c: New file, from GNU gettext.
91805
91806 2003-10-05  Paul Eggert  <eggert@twinsun.com>
91807
91808         * README: Rework advice for preventing empty .o files.
91809         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
91810         not <sys/types.h>.
91811
91812 2003-10-04  Karl Berry  <karl@gnu.org>
91813
91814         * lib/argp*: update from libc.
91815
91816 2003-10-04  Karl Berry  <karl@gnu.org>
91817
91818         * config/config.{guess,sub}: update from config.
91819
91820 2003-10-02  Bruno Haible  <bruno@clisp.org>
91821
91822         * modules/lchown (Include): Add lchown.h.
91823         * modules/time_r (Include): Use "..." syntax.
91824         * modules/xgetdomainname (Include): Add xgetdomainname.h.
91825
91826 2003-10-01  Simon Josefsson  <jas@extundo.com>
91827
91828         * MODULES.html.sh (func_all_modules): Move gethostname from section
91829         'based on' to section 'lacking' POSIX:2001.
91830
91831 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
91832
91833         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
91834         to output mode on the same stream.
91835
91836 2003-09-29  Paul Eggert  <eggert@twinsun.com>
91837
91838         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
91839         Fix arg typo in previous patch.
91840
91841 2003-09-28  Jim Meyering  <jim@meyering.net>
91842
91843         * lib/error.c: Correct cpp indentation.
91844
91845 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91846
91847         * modules/free: New file.
91848
91849 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91850
91851         * m4/free.m4: New file.
91852
91853 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91854
91855         * lib/minmax.h (MIN, MAX)
91856         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
91857         Omit the special code that used __typeof__, since we worry that
91858         it could be more trouble than it's worth.  See:
91859         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
91860         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
91861
91862         * lib/free.c: New file.
91863
91864 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
91865
91866         Trivial fixes to Makefile.am parts of module listings.
91867         * modules/strstr: Append strstr.h to lib_SOURCES.
91868         * modules/strcase: Likewise, for strcase.h.
91869
91870 2003-09-27  Karl Berry  <karl@gnu.org>
91871
91872         * config/mkinstalldirs: update from automake.
91873
91874 2003-09-26  Paul Eggert  <eggert@twinsun.com>
91875
91876         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
91877         (error_tail): Do not loop, reallocating temporary buffer, since
91878         the output cannot contain more wide characters than the input
91879         contains bytes, the size must be big enough already.  This avoids
91880         one potential size overflow calculation.  Check for size overflow
91881         when calculating temporary buffer size.  Free temporary buffer
91882         when done, if it was allocated with malloc; this plugs a memory
91883         leak.  Remove casts from void * to pointers, that are no longer
91884         needed now that we're assuming C89 or better.
91885
91886         Merge error changes from glibc.
91887
91888         * lib/error.c, error.h: Update copyright notice header to match glibc.
91889         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
91890         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
91891         Disable cancellation while printing error.
91892         * lib/error.h: Prepend __ to parameter names.
91893
91894 2003-09-26  Jim Meyering  <jim@meyering.net>
91895
91896         * lib/error.c (error_tail): Move some declarations
91897         into inner scope where the local variables are used.
91898
91899 2003-09-26  Bruno Haible  <bruno@clisp.org>
91900
91901         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
91902         stpncpy().
91903         Don't define stpncpy through config.h; it's now done through stpncpy.h.
91904
91905 2003-09-26  Bruno Haible  <bruno@clisp.org>
91906
91907         * lib/stpncpy.h (gnu_stpncpy): New declaration.
91908         (stpncpy): Define as alias for gnu_stpncpy.
91909         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
91910
91911 2003-09-25  Simon Josefsson  <jas@extundo.com>
91912
91913         * lib/xgetdomainname.h: New file.
91914         * lib/xgetdomainname.c: New file.
91915
91916 2003-09-25  Simon Josefsson  <jas@extundo.com>
91917             Bruno Haible  <bruno@clisp.org>
91918
91919         * modules/getdomainname: New file.
91920         * modules/xgetdomainname: New file.
91921         * MODULES.html.sh (func_all_modules): Add getdomainname,
91922         xgetdomainname.
91923
91924 2003-09-25  Simon Josefsson  <jas@extundo.com>
91925             Bruno Haible  <bruno@clisp.org>
91926
91927         * m4/getdomainname.m4: New file.
91928
91929 2003-09-25  Simon Josefsson  <jas@extundo.com>
91930             Bruno Haible  <bruno@clisp.org>
91931
91932         * lib/getdomainname.h: New file.
91933         * lib/getdomainname.c: New file.
91934
91935 2003-09-25  Karl Berry  <karl@gnu.org>
91936
91937         * lib/argp-fmtstream.c, argp-help.c: update from libc.
91938
91939 2003-09-25  Karl Berry  <karl@gnu.org>
91940
91941         * config/install-sh: update from automake.
91942
91943 2003-09-25  Bruno Haible  <bruno@clisp.org>
91944
91945         * modules/version-etc-2: New file, from modules/version-etc with
91946         modifications.
91947         * MODULES.html.sh (func_all_modules): Add version-etc-2.
91948
91949 2003-09-25  Bruno Haible  <bruno@clisp.org>
91950
91951         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
91952         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
91953
91954 2003-09-24  Simon Josefsson  <jas@extundo.com>
91955
91956         * modules/xgethostname: Add xgethostname.h.
91957
91958 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91959
91960         * lib/linebuffer.c (freebuffer): Don't free the argument, just
91961         the buffer associated with the argument.  Bug reported by
91962         Simon Josefsson.
91963
91964 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91965
91966         * README: Document assumptions that 'int' is at least 32 bits
91967         wide, that integer arithmetic is 2's complement without overflow,
91968         that there are no holes in integer values, that adding sizes of
91969         two nonoverlapping objects can't overflow, and that all-bits-zero
91970         yields scalar zero.  Fix spelling and capitalization typos.
91971
91972 2003-09-19  Karl Berry  <karl@gnu.org>
91973
91974         * lib/argp.h: update from libc.
91975
91976 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91977
91978         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
91979         to avoid spurious warnings like "AC_RUN_IFELSE was called before
91980         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
91981
91982 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91983
91984         * gnulib-tool: Use "test -h", not "test -L", for portability
91985         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
91986         (tags_regexp): Remove, since \| doesn't conform to POSIX.
91987         (sed_extract_prog): Issue s commands one-by-one, rather than
91988         using \| in one s command.
91989
91990 2003-09-16  Paul Eggert  <eggert@twinsun.com>
91991
91992         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
91993         input error, instead of returning NULL the next time we are called
91994         (and therefore losing track of errno).
91995
91996 2003-09-16  Bruno Haible  <bruno@clisp.org>
91997
91998         * gnulib-tool (func_create_testdir): Warn about duplicated
91999         dependencies.
92000
92001 2003-09-15  Paul Eggert  <eggert@twinsun.com>
92002
92003         * modules/argmatch, modules/fatal, modules/obstack,
92004         modules/xalloc, modules/xgethostname: Sort dependencies by
92005         importance, not alphabetically.
92006
92007 2003-09-15  Paul Eggert  <eggert@twinsun.com>
92008
92009         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
92010         fails, so that the caller gets the proper errno.
92011
92012         * lib/readutmp.c (read_utmp): Likewise.
92013         Check for fstat error.  Close stream and free storage
92014         when failing.
92015
92016 2003-09-14  Karl Berry  <karl@gnu.org>
92017
92018         * config/srclist.txt (strdup.c): disable for c89 changes.
92019
92020 2003-09-14  Jim Meyering  <jim@meyering.net>
92021
92022         * lib/getloadavg.c: Correct cpp indentation.
92023         * lib/strdup.c: Likewise.
92024         * lib/vasnprintf.c: Likewise.
92025
92026 2003-09-14  Bruno Haible  <bruno@clisp.org>
92027
92028         * modules/fwriteerror: New file.
92029         * MODULES.html.sh (func_all_modules): Add fwriteerror.
92030
92031 2003-09-14  Bruno Haible  <bruno@clisp.org>
92032
92033         * lib/fwriteerror.h: New file.
92034         * lib/fwriteerror.c: New file.
92035
92036 2003-09-12  Paul Eggert  <eggert@twinsun.com>
92037
92038         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
92039         modules/xgethostname, modules/xalloc: Depend on exit.
92040
92041 2003-09-12  Paul Eggert  <eggert@twinsun.com>
92042
92043         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
92044
92045         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
92046         and AC_MINIX, too, so that their extensions are available.
92047
92048         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
92049         This macro has been superseded by gl_BACKUPFILE.
92050
92051         More patches to assume C89 or better.
92052
92053         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
92054
92055         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
92056         unconditionally.
92057         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
92058         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
92059         Include <string.h>, <stdlib.h> unconditionally.
92060         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
92061         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
92062         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
92063         headers or for string.h.
92064         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
92065         or strtoul.
92066
92067         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
92068         headers.
92069         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
92070         * m4/userspec.m4 (gl_USERSPEC): Likewise.
92071         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
92072         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
92073         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
92074         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
92075         memcpy, memset.
92076         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
92077         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
92078         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
92079         strtol.
92080         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
92081         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
92082         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
92083         strtoul.
92084
92085 2003-09-12  Paul Eggert  <eggert@twinsun.com>
92086
92087         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
92088         * lib/obstack.c [!defined _LIBC]: Likewise.
92089         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
92090         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
92091         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
92092
92093         More changes to assume C89 or better.
92094
92095         * lib/error.c (error_tail): Assume vprintf.
92096
92097         * lib/argmatch.c (getenv): Remove decl.
92098         * lib/progreloc.c (get_full_program_name): Define via prototype.
92099         * lib/setenv.c (clearenv): Likewise.
92100         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
92101         needed.
92102         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
92103         (malloc, memcpy): Remove decls.
92104         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
92105         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
92106         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
92107         (memcpy): Remove macro.
92108         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
92109         (__P): Remove.  All uses removed.
92110         (PTR): Remove.  All uses changed to void *.
92111         (CHAR_BIT, NULL): Remove.
92112         (spaces, zeros, memset_space, memset_zero)
92113         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
92114         Remove.
92115         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
92116         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
92117         Define with prototype.
92118         Remove now-unnecessary prototype decl.
92119         (extra_args_spec): Assume ANSI C.  All uses changed.
92120         (extra_args_spec_iso): Remove.
92121         (my_strftime, emacs_strftimeu): Define via prototype.
92122         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
92123         unconditionally.
92124         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
92125         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
92126         (strtoul, strtol): Remove decls.
92127         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
92128         LONG_MAX): Remove.
92129         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
92130         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
92131         (LOCALE_PARAM_PROTO): New macro.
92132         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
92133         (INTERNAL (strtol), strtol): Define with a prototype.
92134         (PARAMS): Remove.  All uses removed.
92135         * lib/tempname.c: Include <string.h> unconditionally.
92136         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
92137         * lib/xgethostname.c (main): Define with a prototype.
92138         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
92139         Include <stdlib.h> unconditionally.
92140         (calloc, malloc, realloc, free): Remove decls.
92141         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
92142         Include <stdlib.h> unconditionally.  Sort include file names.
92143         (strtod): Remove.
92144         (xstrtod): Define with a prototype.
92145         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
92146         (strtol, strtoul): Remove decls.
92147
92148 2003-09-11  Paul Eggert  <eggert@twinsun.com>
92149
92150         More patches to assume C89 or better.
92151         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
92152         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
92153         string.h, memchr, STDC_HEADERS.
92154
92155 2003-09-11  Paul Eggert  <eggert@twinsun.com>
92156
92157         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
92158         Include <stdlib.h>, <string.h> unconditionally.
92159         Remove now-unnecessary cast to char *.
92160         * lib/strnlen.c: Include <string.h> unconditionally.
92161         * lib/yesno.c (yesno): Define with a prototype.
92162
92163 2003-09-11  Bruno Haible  <bruno@clisp.org>
92164
92165         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
92166
92167 2003-09-10  Jim Meyering  <jim@meyering.net>
92168
92169         * lib/error.c: Correct indentation of cpp directives.
92170
92171 2003-09-10  Bruno Haible  <bruno@clisp.org>
92172
92173         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
92174         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
92175         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
92176         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
92177         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
92178         <stdlib.h> and <string.h> checks.
92179         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
92180         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
92181
92182 2003-09-10  Bruno Haible  <bruno@clisp.org>
92183
92184         * lib/strcspn.c: Include <string.h> unconditionally.
92185         * lib/strpbrk.c: Include <string.h> unconditionally.
92186         * lib/strstr.c: Include <string.h> unconditionally.
92187         * lib/unicodeio.c: Include <string.h> unconditionally.
92188         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
92189         * lib/unsetenv.c: Likewise.
92190         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
92191         * lib/yesno.c: Include <stdlib.h> unconditionally.
92192         (rpmatch): Add prototype.
92193
92194 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92195
92196         More patches to assume C89 or better.
92197         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
92198         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
92199         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
92200         or for string.h.
92201         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
92202         stdlib.h.
92203         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
92204         C headers.
92205         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
92206         string.h.
92207         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
92208         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
92209         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
92210         or for string.h.
92211         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
92212         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
92213         C headers.
92214         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
92215         memcpy.
92216         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
92217         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
92218         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
92219         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
92220         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
92221         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
92222         string.h, free.
92223         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
92224         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
92225         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
92226         C headers, or for string.h.
92227         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
92228         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
92229         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
92230         headers, memory.h, stdlib.h, string.h, strings.h.
92231         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
92232         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
92233         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
92234         strchr.
92235         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
92236         headers, memory.h, string.h.
92237         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
92238         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
92239         free.
92240         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
92241         headers.
92242         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
92243         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
92244         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
92245         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
92246         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
92247
92248 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92249
92250         More K&R removal.
92251
92252         * lib/acosl.c (main): Use a prototype.
92253         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
92254         tanl.c: Likewise.
92255
92256         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
92257
92258         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
92259         (getopt, etopt_long, getopt_long_only, _getopt_internal)
92260         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
92261         with a prototype.
92262         * lib/getopt.c (const): Remove macro.
92263         Include <string.h> unconditionally.
92264         (my_index): Remove; all uses changed to strchr.
92265         (strlen): Remove decl.
92266         (exchange): Remove forward decl; no longer needed.
92267         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
92268         Define with prototype.
92269         * lib/getopt1.c (const): Remove macro.
92270         (getopt_long, getopt_long_only, main): Define with prototype.
92271
92272         * lib/getugroups.c: Include <string.h> unconditionally.
92273
92274         * lib/getusershell.c: Include <stdlib.h> unconditionally.
92275         (getusershell, setusershell, endusershell, readname, main):
92276         Define with prototypes.
92277
92278         * lib/group-member.c: Include group-member.h first.
92279         Include <stdlib.h> unconditionally.
92280
92281         * lib/hard-locale.c: Include hard-locale.h first.
92282         Include <stdlib.h>, <string.h> unconditionally.
92283
92284         * lib/hash.c (free, malloc): Remove decls.
92285         Include <stdlib.h> unconditionally.
92286
92287         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
92288         (getenv): Do not declare.
92289
92290         * lib/idcache.c: Include <string.h> unconditionally.
92291
92292         * lib/long-options.c: Include long-options.h first, to test interface.
92293         Include <stdlib.h> unconditionally.
92294
92295         * lib/makepath.c: Include makepath.h first, to test interface.
92296         Include <stdlib.h> and <string.h> unconditionally.
92297
92298         * lib/linebuffer.c: Include <stdlib.h>.
92299         (free): Remove decl.
92300
92301         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
92302         stddef.h. rpl_malloc returns void *, not char *.
92303         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
92304         prototype.
92305
92306         * lib/md5.h: Include <limits.h> unconditionally.
92307         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
92308         (__P): Remove; all uses removed.
92309         * lib/md5.c: Include "md5.h" first.
92310         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
92311         md5_buffer, md5_process_bytes, md5_process_block):
92312         Define with prototypes.
92313         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
92314         * lib/sha.c: Include "sha.h" first.
92315         Include <stdlib.h>, <string.h> unconditionally.
92316
92317         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
92318         * lib/memcmp.c (__ptr_t): Likewise.
92319         * lib/memrchr.c (__ptr_t): Likewise.
92320         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
92321         Include <string.h> unconditionally.
92322         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
92323         * lib/memchr.c: Include <stdlib.h> unconditionally.
92324         * lib/memchr.c (LONG_MAX): Remove.
92325         * lib/memrchr.c (LONG_MAX): Likewise.
92326         * lib/memchr.c (__memchr): Define via a prototype.
92327         * lib/memrchr.c (__memrchr): Likewise.
92328         * lib/memcmp.c (__P): Remove, and remove all uses.
92329         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
92330         Remove forward decls; no longer needed.
92331         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
92332         Use types required by C89 in prototype.
92333
92334         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
92335         * lib/savedir.c: Likewise.
92336         * lib/mkdir.c (free): Remove decl.
92337         * lib/rmdir.c (rmdir): Define with a prototype.
92338         * lib/savedir.c: Include savedir.h first, to test interface.
92339
92340         * lib/mktime.c (STDC_HEADERS): Remove.
92341         Include <stdlib.h>, <string.h> unconditionally.
92342
92343         * lib/modechange.c: Include <stdlib.h> unconditionally.
92344         (malloc): Remove decl.
92345
92346         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
92347         (free): Remove decl.
92348
92349         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
92350         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
92351         (This type really should be intptr_t, but that's a C99ism.)
92352         (_obstack_memcpy): Remove: all uses changed to memcpy.
92353         Include <string.h> unconditionally.
92354         (struct obstack): Assume __STDC__ for types of members
92355         chunkfun, freefun, extra_arg.
92356         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
92357         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
92358         obstack_begin, obstack_specify_allocation,
92359         obstack_specify_allocation_with_arg, obstack_chunkfun,
92360         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
92361         Remove unprototyped decls and the macros that use them.
92362         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
92363         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
92364         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
92365         (defined __STDC__ && __STDC__)]:
92366         Remove nonprototyped code.
92367         Include <stdlib.h> unconditionally.
92368         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
92369         _obstack_allocated_p, _obstack_free, obstack_free,
92370         _obstack_memory_used, print_and_abort):
92371         Define using prototypes.
92372         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
92373         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
92374         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
92375         obstack_next_free, obstack_object_size, obstack_room) [0]:
92376         Remove unused, unprototyped code.
92377
92378         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
92379
92380         * lib/physmem.c (physmem_total, physmem_available, main): Define
92381         with prototypes.
92382
92383         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
92384         (main): Define with a prototype.
92385
92386         * lib/posixver.c (getenv): Remove decl.
92387
92388         * lib/putenv.c (malloc): Returns void *, not char *.
92389         Include <string.h> unconditionally.
92390         (strchr, memcpy, NULL): Do not define.
92391
92392         * lib/readtokens.c: Include readtokens.h first, to test interface.
92393         Include <stdlib.h>, <string.h> unconditionally.
92394         (init_tokenbuffer): Define with a prototype.
92395
92396         * lib/regex.c (PARAMS): Remove.  All uses removed.
92397         All uses of _RE_ARGS removed, too.
92398         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
92399         unconditionally.
92400         (bzero): Assume memset exists.
92401         (memcmp, memcpy, NULL): Remove.
92402         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
92403         char, or assignments to local vars of type signed char.
92404         (init_syntax_once, PREFIX(extract_number_and_incr),
92405         PREFIX(print_partial_compiled_pattern),
92406         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
92407         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
92408         PREFIX(regex_grow_registers), PREFIX(regex_compile),
92409         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
92410         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
92411         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
92412         wcs_compile_range, byte_compile_range, truncate_wchar,
92413         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
92414         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
92415         count_mbs_length, wcs_re_match_2_internal,
92416         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
92417         PREFIX(alt_match_null_string_p),
92418         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
92419         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
92420         regfree, PREFIX(extract_number)): Define with prototype.  Remove
92421         now-unnecessary declaration, if any.
92422         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
92423         regcomp, regexec):
92424         Remove now-unnecessary casts among pointer types.
92425         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
92426
92427         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
92428         (free): Remove decl.
92429
92430         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
92431
92432         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
92433         (free): Remove decl.
92434
92435         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
92436         * lib/xgetcwd.c: Likewise.
92437
92438         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
92439         (free): Remove decl.
92440
92441         * lib/strchrnul.c (strchrnul): Define with a prototype.
92442         Fix bug: c_in was not converted to char before searching.
92443
92444         The following changes are not K&R related:
92445
92446         * lib/group-member.h: Include <sys/types.h>, so that this file is
92447         self-contained.
92448         * lib/makepath.h: Likewise.
92449
92450         * lib/getusershell.c (readname, default_index, line_size, readname):
92451         Use size_t, not int, for sizes.
92452         (readname): If the size overflows, report an error instead of
92453         looping forever.
92454
92455 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92456
92457         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
92458         libc.
92459
92460 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92461
92462         * README: New section: portability guidelines.
92463
92464 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92465
92466         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
92467         C89 spec.
92468
92469 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92470
92471         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
92472
92473 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92474
92475         Assume C89 or better; remove K&R cruft.
92476         A few of these changes were first proposed by Derek Robert Price
92477         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
92478
92479         * lib/addext.c: Include <string.h> unconditionally.
92480         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
92481         Don't declare getenv or malloc.
92482
92483         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
92484         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
92485         (NULL): Remove.
92486         (find_stack_direction, alloca): Use prototypes.
92487
92488         * lib/atexit.c (atexit): Define using a prototype.
92489
92490         * lib/basename.c, dirname.c, stripslash.c:
92491         Include <string.h> unconditionally.
92492
92493         * lib/bcopy.c: Include <stddef.h>.
92494         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
92495
92496         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
92497
92498         * lib/error.h (error, error_at_line, error_print_progname)
92499         [! (defined (__STDC__) && __STDC__)]: Remove decls.
92500         * lib/error.c: Include error.h first, to check interface.
92501         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92502         (VA_START): Remove; all uses changeed to va_start.
92503         (exit, strerror): Remove decls.
92504         (error_print_progname): Prototype uncondionally.
92505         Don't include <errno.h>; no longer needed.
92506         (private_strerror): Remove.
92507         (error_tail): Always define.
92508         (error, error_at_line): Assume C89 or better; always use prototypes.
92509         * lib/fatal.c: Include "fatal.h" first, to test interface.
92510         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92511         (VA_START): Remove; all uses changed to va_start.
92512         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
92513         this case.
92514         (exit): Remove decl.
92515         (fatal): Prototype unconditionally.  Assume va_start works.
92516         Abort at end, to pacify gcc.
92517
92518         * lib/euidaccess.c (main): Define with a prototype.
92519
92520         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
92521
92522         * lib/exitfail.c: Include <stdlib.h> unconditionally.
92523
92524         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
92525         prototypes.
92526         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
92527         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
92528         (getenv): Remove decl.
92529         (fnmatch): Define using a prototype.
92530         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
92531         (FCT): Define using a prototype.
92532
92533         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
92534
92535         * lib/gethostname.c: Include <stddef.h>.
92536         (gethostname): Define with prototype.  Length is size_t, not int.
92537
92538 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92539
92540         Assume C89 or better; remove K&R cruft.
92541         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
92542         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
92543         string.h, getenv, malloc.
92544         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
92545         headers.
92546         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
92547         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
92548         do not check for strerror.
92549         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
92550         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
92551         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
92552         do not check for doprnt or vprintf.
92553         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
92554         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
92555
92556 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92557
92558         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
92559         getversion.c should have been removed then, but was accidentally
92560         preserved.
92561
92562         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
92563         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
92564
92565 2003-09-08  Karl Berry  <karl@gnu.org>
92566
92567         * config/config.sub, config.guess, srclistvars.sh: update from savannah
92568                 config, forget about prep.
92569
92570         * config/depcomp, missing: update from automake.
92571
92572 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92573
92574         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
92575         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92576
92577 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92578
92579         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
92580         copy_tm_result.  Bug reported by Simon Josefsson in
92581         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92582
92583 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92584
92585         * m4/time_r.m4: New file.
92586         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
92587         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
92588         is. Check for timegm declaration.
92589         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
92590         Do not check for gmtime_r.
92591         Replace mktime if __mktime_internal does not exist and if mktime
92592         hasn't been replaced already.
92593
92594 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92595
92596         * lib/time_r.c, lib/time_r.h: New files.
92597
92598         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
92599         __localtime_r.
92600         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
92601         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
92602
92603         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
92604         __gmtime_r.
92605         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
92606         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
92607         Include <time_r.h>.
92608
92609         * lib/timegm.c: Switch to glibc implementation, with the following
92610         changes:
92611         [defined HAVE_CONFIG_H]: Include <config.h>.
92612         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
92613         (__mktime_internal) [!defined _LIBC]: New decl.
92614         (__gmtime_r) [!defined _LIBC]: New macro and function.
92615         (timegm): Use a prototype, since gnulib assumes C89.
92616         Do not bother declaring tmp to be const, as it's not really usefu.
92617         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
92618         (timegm): Declare only if HAVE_DECL_TIMEGM.
92619
92620 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92621
92622         * MODULES.html.sh (func_all_modules): Add time_r.
92623         * modules/time_r: New file.
92624         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
92625         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
92626
92627 2003-09-03  Paul Eggert  <eggert@twinsun.com>
92628
92629         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
92630         Bug reported by Lute Kamstra in
92631         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
92632
92633         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
92634         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
92635         course with correspondingly smaller numbers for tomorrow and
92636         yesterday.  From Tadayoshi Funaba.  Originally installed into
92637         sh-utils on 1999-08-07, but the patch got lost (I guess during the
92638         coreutils merge?).
92639
92640 2003-08-31  Simon Josefsson  <jas@extundo.com>
92641
92642         * modules/timegm: New file.
92643         * MODULES.html.sh (func_all_modules): Add timegm.
92644
92645 2003-08-31  Simon Josefsson  <jas@extundo.com>
92646
92647         * m4/timegm.m4: New file.
92648
92649 2003-08-31  Simon Josefsson  <jas@extundo.com>
92650
92651         * lib/timegm.h: New file.
92652         * lib/timegm.c: New file.  Based on
92653         wget-1.8.2/src/http.c:mktime_from_utc.
92654
92655 2003-08-31  Karl Berry  <karl@gnu.org>
92656
92657         * lib/argp.h: update from libc.
92658
92659 2003-08-28  Bruno Haible  <bruno@clisp.org>
92660
92661         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
92662         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
92663         followed by '#define fnmatch fnmatch_posix' gives an error.
92664
92665 2003-08-28  Bruno Haible  <bruno@clisp.org>
92666
92667         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
92668         warning on QNX, which defines O_BINARY to 000000.
92669
92670 2003-08-27  Jim Meyering  <jim@meyering.net>
92671
92672         * m4/mkstemp.m4: Require that the system mkstemp be able to create
92673         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
92674         would fail after 32.  Reported by Danny Levinson.  Details here:
92675         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
92676
92677 2003-08-24  Bruno Haible  <bruno@clisp.org>
92678
92679         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
92680         MSVC7 <stdio.h> is included later.
92681
92682 2003-08-22  Simon Josefsson  <jas@extundo.com>
92683
92684         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
92685
92686 2003-08-20  Karl Berry  <karl@gnu.org>
92687
92688         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
92689
92690 2003-08-20  Bruno Haible  <bruno@clisp.org>
92691
92692         * modules/progname: New file.
92693         * MODULES.html.sh (func_all_modules): Add progname.
92694
92695 2003-08-20  Bruno Haible  <bruno@clisp.org>
92696
92697         * lib/progname.h: New file, from GNU gettext.
92698         * lib/progname.c: New file, from GNU gettext.
92699         * lib/progreloc.c: New file, from GNU gettext.
92700
92701 2003-08-19  Jim Meyering  <jim@meyering.net>
92702
92703         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
92704         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
92705
92706 2003-08-19  Bruno Haible  <bruno@clisp.org>
92707
92708         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
92709         more.
92710
92711 2003-08-19  Bruno Haible  <bruno@clisp.org>
92712
92713         * lib/xstrdup.c: Assume <string.h> exists.
92714
92715 2003-08-18  Paul Eggert  <eggert@twinsun.com>
92716
92717         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
92718         in makefile rules.
92719
92720 2003-08-18  Jim Meyering  <jim@meyering.net>
92721
92722         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
92723         * m4/lib-ld.m4: Likewise.
92724
92725 2003-08-18  Jim Meyering  <jim@meyering.net>
92726
92727         * lib/setenv.h: Indent nested cpp directive.
92728         * lib/vasnprintf.c: Remove trailing blanks.
92729
92730 2003-08-17  Simon Josefsson  <jas@extundo.com>
92731
92732         * modules/xstrndup: New file.
92733         * MODULES.html.sh (func_all_modules): Add xstrndup.
92734
92735 2003-08-17  Simon Josefsson  <jas@extundo.com>
92736
92737         * modules/argp: Fix autoconf macro name. Add more dependencies.
92738
92739 2003-08-17  Simon Josefsson  <jas@extundo.com>
92740
92741         * m4/xstrndup.m4: New file.
92742
92743 2003-08-17  Simon Josefsson  <jas@extundo.com>
92744
92745         * m4/argp.m4: New file.
92746
92747 2003-08-17  Simon Josefsson  <jas@extundo.com>
92748             Bruno Haible  <bruno@clisp.org>
92749
92750         * lib/xstrndup.h: New file.
92751         * lib/xstrndup.c: New file.
92752
92753 2003-08-17  Bruno Haible  <bruno@clisp.org>
92754
92755         * modules/strndup (Files, Include): Add lib/strndup.h.
92756
92757 2003-08-17  Bruno Haible  <bruno@clisp.org>
92758
92759         * modules/euidaccess (Files): Add lib/euidaccess.h.
92760
92761 2003-08-17  Bruno Haible  <bruno@clisp.org>
92762
92763         * lib/strndup.h: New file.
92764
92765 2003-08-17  Bruno Haible  <bruno@clisp.org>
92766
92767         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
92768         like AC_GNU_SOURCE.
92769         * modules/extensions (configure.ac): Comment out the invocation of
92770         gl_USE_SYSTEM_EXTENSIONS.
92771
92772 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92773
92774         Merges from coreutils, etc.
92775         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
92776         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
92777         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
92778         fixing a typo.
92779         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
92780         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
92781
92782 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92783
92784         Document merge from coreutils.
92785         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
92786         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
92787         * modules/utime: Add m4/utimes-null.m4.
92788
92789 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92790
92791         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
92792         space, undoing this 2003-08-12 change:
92793         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92794
92795 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92796
92797         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
92798         strtoul.c from libc, undoing this 2003-08-12 change:
92799         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92800
92801 2003-08-16  Jim Meyering  <jim@meyering.net>
92802
92803         Merges from coreutils.
92804         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
92805         prefix.  Adjust cache variables similarly.  Create 500 rather than
92806         just 300 files, to exercise bug on Darwin6.5, too.
92807         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
92808         $missing_dir.
92809         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
92810         AM_SYS_POSIX_TERMIOS.
92811         Reported by mkc@mathdogs.com.
92812         Also change use of $am_cv_sys_posix_termios
92813         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
92814         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
92815         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
92816         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
92817         in /proc/mounts until it finds one with matching device number.  This
92818         is unnecessary when the FILE argument *is* a mount point.  No stat call
92819         is necessary in that case.  So, disable the statvfs-testing code on
92820         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
92821         as RedHat bug# 84846.
92822         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92823         to 1MB, so as not to render systems with no stack size limit (e.g.,
92824         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92825         Include <unistd.h>.  On some systems,
92826         it is required for the definition of _SC_PAGESIZE.
92827
92828 2003-08-16  Jim Meyering  <jim@meyering.net>
92829
92830         Merge from coreutils.
92831         * lib/xstrtoimax.c: #else #if -> #elif.
92832         * lib/xstrtoumax.c: Likewise.
92833
92834 2003-08-16  Jim Meyering  <jim@meyering.net>
92835
92836         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
92837         * m4/utimes.m4: Removed.
92838         * m4/utimes-null.m4: Renamed from utimes.m4.
92839
92840         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92841         to 1MB, so as not to render systems with no stack size limit (e.g.,
92842         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92843         Include <unistd.h>.  On some systems,
92844         it is required for the definition of _SC_PAGESIZE.
92845
92846 2003-08-16  Jim Meyering  <jim@meyering.net>
92847         and Paul Eggert  <eggert@cs.ucla.edu>
92848
92849         Merges from coreutils, etc.
92850
92851         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
92852         using the latest version from cvs.  This avoids problems with #line
92853         directives using a vendor (Sun) compiler.
92854         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
92855         Don't set GETGROUPS_LIB here; now it's
92856         done via getgroups.m4's wrapper function.
92857         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
92858         rather than just in sh-util/configure.in, so that the
92859         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
92860         same.
92861         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
92862         AC_FUNC_GETLOADAVG where to find getloadavg.c.
92863         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
92864         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
92865         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
92866         Remove code that is now done by the newly-required macros.
92867         Append $(EXEEXT) to DF_PROG.
92868         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
92869         Do not invoke or require the following here,
92870         since prereq.m4 or some gnulib .m4 now does this for us:
92871         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
92872         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
92873         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
92874         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
92875         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
92876         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
92877         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
92878         AC_FUNC_OBSTACK.
92879         Do not replace the following functions, as this is now the job
92880         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
92881         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
92882         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
92883         atexit getpass, strdup, getpagesize.
92884         Replace 'raise'.
92885         Do not check for the following functions, as this is now the job
92886         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
92887         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
92888         setregid.
92889         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
92890         Check for sys/sysctl.h.
92891         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
92892         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
92893         of checking for ssize_t ourselves.
92894
92895         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
92896         Require every macro that gnulib/modules/* suggests for us.
92897         (jm_PREREQ_ADDEXT): New macro.
92898         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
92899         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
92900
92901         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
92902         (gl_PHYSMEM): Use it.
92903         Also check for `table' function.
92904         Check for new headers and functions.
92905         Add check for sys/sysmp.h.
92906         With suggestions from Kaveh Ghazi.
92907         Ignore headers that are present but cannot be compiled.  This
92908         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
92909         C 5.4.
92910
92911 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92912
92913         Document merge from coreutils.
92914         * modules/userspec: Depend on posixver.
92915         * modules/strftime: Depend on tzset.
92916
92917 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92918
92919         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
92920         rather than tab, after '#' in shell-script copyright notices.
92921         Suggested by Bruno Haible.
92922
92923 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92924
92925         * config/srclist-update: Use three spaces, rather than tab, after '#'
92926         in shell-script copyright notices.  Suggested by Bruno Haible.
92927         Remove unnecessary parenthesization in regular expression.
92928
92929 2003-08-15  Jim Meyering  <jim@meyering.net>
92930
92931         Merge from coreutils.
92932         * lib/xgethostname.c: Include <stdlib.h>.
92933         (xghostname): Don't exit for anything other than memory-related
92934         failure; just return NULL.
92935         * lib/userspec.c: Include "posixver.h".
92936         (parse_user_spec): Accept `.' as a separator only
92937         in pre-POSIX-200112 mode.
92938         * lib/strtoimax.c: Use #elif rather than #else #if.
92939         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
92940         Remove function, now that we can rely on a working tzset function.
92941         [!_LIBC]: Ensure that the required autoconf test has been run.
92942         [!defined _NL_CURRENT && HAVE_STRFTIME]:
92943         Use underlying_strftime for %r.
92944         * lib/sha.c: Merge in some clean-up and optimization changes from
92945         glibc.
92946         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
92947         Ensure that it is a multiple of 64.
92948         Rearrange loop exit tests so as to avoid performing an
92949         additional fread after encountering an error or EOF.
92950         * lib/realloc.c: Update copyright date.
92951
92952 2003-08-15  Jim Meyering  <jim@meyering.net>
92953         and Paul Eggert  <eggert@twinsun.com>
92954
92955         Merge from coreutils.
92956         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
92957         member but strut utmpx does not.  Needed for AIX 4.3.3.
92958         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
92959
92960 2003-08-15  Jim Meyering  <jim@meyering.net>
92961         and Paul Eggert  <eggert@cs.ucla.edu>
92962
92963         Merges from coreutils, etc.
92964         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
92965         Require gl_FUNC_TZSET_CLOBBER.
92966         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
92967         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
92968         members.
92969
92970 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92971
92972         Help the merge from coreutils.
92973         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
92974         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
92975         * m4/tzset.m4: Use it too.
92976
92977 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92978
92979         * modules/tzset: New file.
92980
92981 2003-08-14  Jim Meyering  <jim@meyering.net>
92982
92983         Merges from coreutils.
92984         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
92985         variable names, rather than @FNMATCH_H@.
92986         * modules/alloca: Likewise for $(ALLOCA_H).
92987
92988         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
92989         the three copies of the literal target, `fnmatch.h'.
92990         * modules/alloca (alloca.h): Likewise.
92991
92992 2003-08-14  Jim Meyering  <jim@meyering.net>
92993
92994         Merge from coreutils.
92995         * m4/tzset.m4: New file.
92996         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
92997         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
92998         otherwise, AIX 5.1 systems would end up using the latter.
92999         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
93000         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
93001         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
93002         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
93003
93004 2003-08-14  Jim Meyering  <jim@meyering.net>
93005
93006         Merge from coreutils.
93007         * lib/obstack.h: Whitespace changes.
93008         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
93009         and xcalloc return values.
93010         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
93011         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
93012         hang on OSF/1 5.1 for DIR on both local and remote file systems.
93013         Reported by (and fix confirmed by) Nelson H. F. Beebe.
93014         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
93015         error from mntctl.
93016         Use mntctl's return value to drive the entry-processing loop, since
93017         we can't rely on the value of the vmt_length member in the last
93018         entry.  On some systems doing so could result in exhausting
93019         virtual memory.  Based in part on a patch from Mike Jetzer.
93020
93021 2003-08-14  Jim Meyering  <jim@meyering.net>
93022         and Paul Eggert  <eggert@twinsun.com>
93023
93024         Merges from coreutils, plus other fixes.
93025         * lib/physmem.c: Merge in portability changes from gcc/libiberty
93026         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
93027         for credits and details.  Thanks to Kaveh Ghazi for helping
93028         to keep these files in sync.
93029         (ARRAY_SIZE): Define it.
93030         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
93031         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
93032         (memcasecmp): Don't assume size_t fits in unsigned int.
93033         Remove casts and duplicate code.
93034         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
93035         (memcpy): Remove definition.
93036         Merge in some clean-up and optimization changes from glibc.
93037         [BLOCKSIZE]: Move definition to top of file.
93038         Ensure that it is a multiple of 64.
93039         Rearrange loop exit tests so as to avoid performing an
93040         additional fread after encountering an error or EOF.
93041         * lib/md5.h (md5_uintptr): Define.
93042         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
93043         return to the initial working directory.  Preserve errno
93044         for caller.
93045         * lib/idcache.c: Include "xalloc.h".
93046         (xmalloc, xrealloc): Remove decls.
93047         (getuser): Remove casts no longer required in C89.
93048         * lib/human.c: Include stdio.h, for sprintf.
93049         * lib/group-member.c: Include "xalloc.h".
93050         (xmalloc, xrealloc): Remove decls.
93051         (get_group_info): Remove casts no longer required in C89.
93052         * lib/getusershell.c (readname): Remove casts no longer required in
93053         C89.
93054         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
93055         * lib/getline.c: Whitespace fix, from coreutils.
93056
93057 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93058
93059         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
93060         Check for isascii.
93061
93062         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
93063         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
93064         Undo previous (whitespace-only) change.
93065
93066 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93067
93068         * lib/exclude.c: Include <ctype.h>
93069         (IN_CTYPE_DOMAIN): New macro.
93070         (is_space): New fn.
93071         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
93072         and empty lines.
93073
93074         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
93075         Undo previous (whitespace-only) change.
93076
93077 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93078
93079         * config/srclist-update: Change update back to the old behavior,
93080         leaving whitespace alone.  Use one 'sed' command rather than a
93081         pipeline.
93082         (fixlicense): Now a variable, not a function.
93083         (remove_trailing_blanks): Remove.
93084         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
93085         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
93086         Undo previous (whitespace-only) change.
93087
93088 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93089
93090         Merge from coreutils.
93091         * modules/euidaccess: Add lib_SOURCES, include for new
93092         file euidaccess.h
93093
93094 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93095
93096         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
93097         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
93098         Normalize leading white space and remove trailing white space.
93099
93100         Merge from coreutils
93101         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
93102
93103         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
93104         0.12.1.  These files are now being upgraded automatically by
93105         ../config/srclist-update.
93106
93107 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93108
93109         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
93110         Normalize leading white space and remove trailing white space.
93111         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
93112         notice, as per ../config/srclist-update.
93113
93114         Merge from coreutils.
93115         * lib/euidaccess.h: New file.
93116         * lib/euidaccess.c: Include it.
93117         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
93118         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
93119         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
93120
93121 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93122
93123         * config/srclist-update: Add copyright notice.
93124         (remove_id_lines, remove_trailing_blanks): New constants.
93125         (fixfile): Use them to normalize spacing a bit in copied files.
93126         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
93127         Normalize leading white space and remove trailing white space.
93128
93129         * config/texinfo.tex: Sync with texinfo.
93130
93131         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
93132         strtoul.c from libc, to merge coreutils whitespace changes.
93133
93134         * config/srclist.txt: Get the following m4 files from gettext:
93135         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
93136         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
93137         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
93138         wint_t.m4.
93139
93140 2003-08-12  Karl Berry  <karl@gnu.org>
93141
93142         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
93143         been made.
93144
93145 2003-08-11  Paul Eggert  <eggert@twinsun.com>
93146
93147         * modules/gnu-source, m4/gnu-source.m4:
93148         Remove; we're assuming Autoconf 2.54 or later now.
93149         Suggested by Bruno Haible.
93150         * MODULES.html.sh (func_all_modules): Remove gnu-source.
93151
93152 2003-08-11  Bruno Haible  <bruno@clisp.org>
93153
93154         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
93155
93156 2003-08-11  Bruno Haible  <bruno@clisp.org>
93157
93158         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
93159         (vasnprintf): Use it instead of wcslen.
93160
93161 2003-08-11  Bruno Haible  <bruno@clisp.org>
93162
93163         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
93164         value to ensure that _Bool promotes to int. Use #define for _Bool when
93165         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
93166
93167 2003-08-10  Karl Berry  <karl@gnu.org>
93168
93169         * lib/regex.h: update from libc (whitespace fix).
93170
93171 2003-08-09  Paul Eggert  <eggert@twinsun.com>
93172
93173         Merge some files from coreutils.  These changes were
93174         originally made by Jim Meyering.
93175         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
93176         many older Unixes require this.
93177         * lib/alloca.c (alloca): Remove cast to argument of free;
93178         no longer needed in C89.
93179         * lib/alloca_.h, regex.h: Fix white space to match
93180         what GNU indent does.
93181
93182 2003-08-09  Paul Eggert  <eggert@twinsun.com>
93183
93184         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
93185         apparently Emacs's Unicode mode got confused before my 2003-08-05
93186         checkin.
93187
93188 2003-08-08  Paul Eggert  <eggert@twinsun.com>
93189
93190         * m4/extensions.m4: New file.
93191         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
93192         Require gl_USE_SYSTEM_EXTENSIONS.
93193         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
93194         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
93195
93196 2003-08-08  Paul Eggert  <eggert@twinsun.com>
93197
93198         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
93199         * modules/extensions, modules/gnu-source: New files.
93200         * modules/timespec, modules/unlocked-io: Depend on extensions.
93201
93202 2003-08-07  Paul Eggert  <eggert@twinsun.com>
93203
93204         * modules/restrict: New file.
93205         * MODULES.html.sh (func_all_modules): Add restrict.
93206         * modules/regex: Depend on restrict.
93207
93208 2003-08-07  Paul Eggert  <eggert@twinsun.com>
93209
93210         * m4/restrict.m4: New file.
93211         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
93212
93213 2003-08-07  Bruno Haible  <bruno@clisp.org>
93214
93215         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
93216         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
93217
93218 2003-08-07  Bruno Haible  <bruno@clisp.org>
93219
93220         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
93221         makes the module 'getndelim2' compatible with the module 'getline'.
93222
93223 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93224
93225         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
93226         byte with "\201" to avoid glitches when editing that source file
93227         with multi-gnome-terminal.
93228
93229 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93230
93231         * lib/bumpalloc.h: Remove.
93232
93233 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93234
93235         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
93236         * modules/bumpalloc: Remove.
93237
93238 2003-08-04  Paul Eggert  <eggert@twinsun.com>
93239
93240         * lib/getloadavg.c: Change copyright notice and spacing to conform to
93241         GNU coding style.
93242
93243         Merge from coreutils.
93244         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
93245         1. From glibc.
93246         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
93247         from Karl Berry, implemented by Jim Meyering.
93248         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
93249         from Dmitry V. Levin.
93250         Remove anachronistic cast of xrealloc.
93251         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
93252         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
93253         type. Otherwise, it wouldn't compile with at least /bin/cc on
93254         ymp-cray-unicos9.0.2.X.
93255         Combine two mostly-identical uses of alloca into one.
93256         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
93257
93258 2003-08-04  Dave Love  <d.love@dl.ac.uk>
93259
93260         [From Emacs.]
93261
93262         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
93263         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
93264         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
93265         obsolete NLIST_NAME_UNION.
93266         [__GNU__]: Undef BSD and FSCALE.
93267         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
93268
93269 2003-08-03  Paul Eggert  <eggert@twinsun.com>
93270
93271         * lib/stdbool_.h (_Bool): Make it signed char, instead of
93272         an enum type, so that it's guaranteed to promote to int.  See:
93273         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
93274
93275 2003-08-03  Karl Berry  <karl@gnu.org>
93276
93277         * config/depcomp: update from automake.
93278
93279 2003-07-31  Paul Eggert  <eggert@twinsun.com>
93280
93281         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
93282         (strerror): Don't assume that a printable int fits in 14 bytes.
93283
93284 2003-07-31  Bruno Haible  <bruno@clisp.org>
93285
93286         * modules/getpass-gnu: New file.
93287         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
93288
93289 2003-07-31  Bruno Haible  <bruno@clisp.org>
93290
93291         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
93292
93293 2003-07-24  Karl Berry  <karl@gnu.org>
93294
93295         * config/missing: update from automake.
93296
93297 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
93298             Bruno Haible  <bruno@clisp.org>
93299
93300         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
93301         * lib/getline.c (getline, getdelim): Likewise.
93302         Remove _GNU_SOURCE define; now it's defined in config.h through
93303         m4/getline.m4.
93304
93305 2003-07-23  Karl Berry  <karl@gnu.org>
93306
93307         * config/config.sub: update from prep.
93308
93309 2003-07-22  Paul Eggert  <eggert@twinsun.com>
93310
93311         * modules/xalloc (Depends-on): Add exitfail.
93312         * modules/xmemcoll: Likewise.
93313
93314 2003-07-22  Paul Eggert  <eggert@twinsun.com>
93315
93316         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
93317         over-parenthesization in macros.
93318
93319         Sync with coreutils.
93320
93321         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
93322         required by C99.
93323
93324         Use `exit_failure' for xalloc and xmemcoll instead of their own
93325         private exit-failure variables.
93326         * lib/xalloc.h (xalloc_exit_failure): Remove.
93327         * lib/xmalloc.c: Likewise.  Include exitfail.h.
93328         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
93329         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
93330         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
93331         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
93332
93333 2003-07-20  Jim Meyering  <jim@meyering.net>
93334
93335         * modules/closeout (Depends-on): Add exitfail.
93336         Suggestion from Bruno Haible.
93337
93338 2003-07-19  Karl Berry  <karl@gnu.org>
93339
93340         * config/config.sub: update from prep.
93341
93342 2003-07-18  Paul Eggert  <eggert@twinsun.com>
93343
93344         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
93345         Remove.
93346         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
93347         to test that it can stand by itself.  Include "exitfail.h".
93348         Clients should set exit_failure instead.
93349         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
93350
93351 2003-07-18  Bruno Haible  <bruno@clisp.org>
93352
93353         * modules/getndelim2: New file.
93354         * modules/getline: Share files with module getndelim2.
93355         * modules/getnline: Depend on getndelim2 instead of sharing files with
93356         it. Add getnline.c to lib_SOURCES.
93357         * MODULES.html.sh (func_all_modules): Add getndelim2.
93358
93359 2003-07-18  Bruno Haible  <bruno@clisp.org>
93360
93361         * m4/getndelim2.m4: New file.
93362         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
93363         invoke gl_PREREQ_GETNDELIM2.
93364         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
93365         gl_PREREQ_GETNDELIM2.
93366         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
93367         gl_GETNDELIM2.
93368
93369 2003-07-18  Bruno Haible  <bruno@clisp.org>
93370
93371         * lib/getndelim2.h: New file.
93372         * lib/getndelim2.c: Make into a module of its own. Include config.h,
93373         getndelim2.h.
93374         (getndelim2): Make non-static. Change return type to ssize_t.
93375         * lib/getline.h: Change argument names.
93376         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
93377         * lib/getnline.c: Include getndelim2.h.
93378
93379 2003-07-18  Andreas Schwab  <schwab@suse.de>
93380
93381         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
93382
93383 2003-07-17  Karl Berry  <karl@gnu.org>
93384
93385         * config/config.sub: update from prep.
93386
93387 2003-07-17  Bruno Haible  <bruno@clisp.org>
93388
93389         * modules/getnline: New file.
93390         * modules/getline: Add lib/getndelim2.c to source file list.
93391         * MODULES.html.sh (func_all_modules): Add getnline.
93392
93393 2003-07-17  Bruno Haible  <bruno@clisp.org>
93394
93395         * m4/getnline.m4: New file.
93396
93397 2003-07-17  Bruno Haible  <bruno@clisp.org>
93398
93399         * m4/Makefile.am.in: Remove file.
93400         * m4/Makefile.am: Remove file.
93401         * m4/Makefile.in: Remove file.
93402
93403 2003-07-17  Bruno Haible  <bruno@clisp.org>
93404
93405         * lib/getnline.h: New file.
93406         * lib/getnline.c: New file.
93407         * lib/getndelim2.c: New file, extracted from getline.c.
93408         (getndelim2): Renamed from getdelim2, with added nmax argument.
93409         * lib/getline.c: Include getndelim2.c.
93410         (getdelim2): Moved out to getndelim2.c.
93411         (getline, getdelim): Update.
93412
93413 2003-07-17  Bruno Haible  <bruno@clisp.org>
93414
93415         * lib/Makefile.am: Remove file.
93416         * lib/Makefile.in: Remove file.
93417
93418 2003-07-17  Bruno Haible  <bruno@clisp.org>
93419
93420         * configure.in: Remove file.
93421         * Makefile.in: Remove file.
93422
93423 2003-07-17  Bruno Haible  <bruno@clisp.org>
93424
93425         * MODULES.html.sh: Put the </BODY> right before </HTML>.
93426
93427 2003-07-16  Karl Berry  <karl@gnu.org>
93428
93429         * config/srclist-update: was running fixlicense twice, which caused
93430                 texinfo.tex to be nullified for some reason.  Simplify,
93431                 $gplsrc is no longer needed as far as I can see?
93432
93433 2003-07-16  Jim Meyering  <jim@meyering.net>
93434
93435         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
93436
93437 2003-07-15  Paul Eggert  <eggert@twinsun.com>
93438
93439         * config/srclist.txt: Get the following files from gettext-runtime/intl
93440         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
93441         ref-del.sin.  From Bruno Haible.
93442         * config/srclist-update (fixfile): Change grep pattern again, since the
93443         previous fix didn't work (there was another trailing $).  Use
93444         '[$]' to escape the $s.
93445
93446 2003-07-15  Karl Berry  <karl@gnu.org>
93447
93448         * lib/vasnprintf.c: update from gettext.
93449
93450 2003-07-15  Karl Berry  <karl@gnu.org>
93451
93452         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
93453         gets expanded when surrounded by '$'.
93454
93455 2003-07-15  Jim Meyering  <jim@meyering.net>
93456
93457         * modules/save-cwd: Don't depend on error.  From Derek Price.
93458
93459 2003-07-15  Jim Meyering  <jim@meyering.net>
93460
93461         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
93462
93463 2003-07-14  Simon Josefsson  <jas@extundo.com>
93464
93465         * modules/mempcpy: New file.
93466         * MODULES.html.sh (func_all_modules): Add mempcpy.
93467
93468 2003-07-14  Simon Josefsson  <jas@extundo.com>
93469
93470         * m4/mempcpy.m4: New file.
93471
93472 2003-07-14  Simon Josefsson  <jas@extundo.com>
93473
93474         * lib/mempcpy.h: New file.
93475         * lib/mempcpy.c: New file.
93476
93477 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93478
93479         * modules/getdate, modules/posixtm: Depend on mktime.
93480
93481 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93482
93483         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
93484         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
93485         unicodeio.c, unicodeio.h, unlocked-io.h:
93486         Switch from LGPL to GPL.
93487
93488 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93489
93490         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
93491         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
93492         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
93493         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
93494         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
93495         updated automatically by ../config/srclist-update.  This changes
93496         their license from LPGL to GPL.
93497
93498 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93499
93500         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
93501         assumed to refer to the root of the most recent stable gettext version.
93502         * config/srclistvars.sh: Add defaults for eggert.
93503         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
93504         Match "This program" as well as "The program".  This is needed
93505         for gettext.
93506
93507 2003-07-14  Jim Meyering  <jim@meyering.net>
93508
93509         Don't emit diagnostics.  Let callers do that.
93510         * lib/save-cwd.c: Don't include "error.h".
93511         (save_cwd): Don't call error.  Ensure that errno is valid
93512         when returning nonzero.
93513
93514         * lib/save-cwd.h (restore_cwd): Update prototype.
93515         * lib/save-cwd.c (restore_cwd): Remove two parameters.
93516         Simplify.  Don't call error upon failure.  Let callers do that.
93517         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
93518         when auditing is enabled.  But don't bother updating the #if.
93519
93520 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
93521
93522         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
93523         it breaks C++ compilation.
93524         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
93525
93526 2003-07-10  Simon Josefsson  <jas@extundo.com>
93527
93528         * modules/strchrnul (Makefile.am): Add strchrnul.h.
93529
93530 2003-07-10  Jim Meyering  <jim@meyering.net>
93531
93532         * m4/clock_time.m4: Remove trailing blank.
93533         * m4/intmax_t.m4: Likewise.
93534
93535 2003-07-10  Jim Meyering  <jim@meyering.net>
93536
93537         * lib/vasnprintf.c: Remove trailing blanks.
93538         Make cpp indentation consistent.
93539
93540 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93541
93542         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
93543         posixver.c, strftime.c, strnlen.c, strverscmp.c:
93544         Switch from LGPL to GPL.
93545
93546 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93547
93548         * config/srclist.txt: Sort sublists.  Add
93549         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
93550         that differ from gnulib for one reason or another; we'd like this list
93551         to be smaller but for now let's document what we have.
93552
93553 2003-07-08  Paul Eggert  <eggert@twinsun.com>
93554
93555         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
93556         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
93557         and sweeter "eval x=$x".
93558         * config/srclist.txt: Get lib/argp* from glibc.
93559
93560 2003-07-07  Paul Eggert  <eggert@twinsun.com>
93561
93562         * lib/mktime.c: Fix some boundary cases and remove need for floating
93563         point.
93564
93565         Issue a compile-time diagnostic if time_t is floating point, or if
93566         two's complement arithmetic is not in effect, or if arithmetic
93567         right shift does not propagate the sign.  These assumptions were
93568         all in the original code but they weren't checked.
93569
93570         (TIME_T_MIDPOINT, verify): New macros.
93571         (__isleap): Remove; it has integer overflow problems.
93572         (leapyear): New function, without those problems.
93573         (ydhms_tm_diff): Remove; splitting into two parts.
93574         (ydhms_diff): New function, containing the arithmetic part of
93575         the old ydhms_tm_diff function.  Issue a compile-time
93576         diagnostic if we are not using C99 integer division.
93577         Avoid casts when possible.
93578         (guess_time_tm): New function, containing the checking part of
93579         the old ydhms_tm_diff function.  Return the new value, rather than
93580         the difference between it and the old.  Accept a new argument T
93581         so that *T specifies the old value.  Check for overflow in the result.
93582
93583         (__mktime_internal): Use a time_t offset, not a long int offset.
93584         This undoes the 2003-06-04 change, which is no longer needed now
93585         that we have better overflow checking.
93586         (localtime_offset): Likewise.
93587
93588         (__mktime_internal): Avoid harmful overflow on hosts where time_t
93589         and long are 64-bit but int is only 32-bit.
93590         (ydhms_diff): Use long int to store year1 and yday1.
93591         Issue a compile-time diagnostic if long int is not wide enough.
93592
93593         (__mktime_internal): Use long int to store adjusted year and yday.
93594         Use plain C rather than preprocessor commands, if that doesn't
93595         affect efficiency.
93596         Check for overflow (and try to repair) after each probe
93597         rather than checking only at the very end.  This avoids some bugs
93598         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
93599         does not equal GMT offset at maximum time).
93600         Use integer to check for overflow rather than floating point; this
93601         is more portable to non-IEEE hosts, and is a tad faster.
93602         When we detect that we are oscillating between two values,
93603         don't check whether tm_isdst has the requested value, since
93604         we already know the answer.  When tm_isdst has the wrong value,
93605         use a different heuristic to find the right one, based on the
93606         extreme values actually observed in practice in tz2003a,
93607         rather than the (overly optimistic) "previous 3 calendar quarters".
93608
93609         (not_equal_tm, print_tm, check_result): Use "const T" rather than
93610         "T const" to accommodate glibc style.
93611         (check_result): Use less-confusing report format.  "long" -> "long int.
93612         (main): Likewise.
93613         Don't loop if the iteration overflows time_t.
93614         Allow a negative step in the iteration.
93615
93616 2003-07-06  Karl Berry  <karl@gnu.org>
93617
93618         * config/depcomp: update from automake.
93619         * config/config.sub: update from prep.
93620
93621 2003-07-03  Karl Berry  <karl@gnu.org>
93622
93623         * config/config.guess: update from prep.
93624
93625 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93626
93627         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
93628         xreadlink.c now includes it unconditionally.
93629
93630 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93631
93632         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
93633         having it depend on HAVE_SYS_TYPES_H.
93634
93635 2003-07-01  Bruno Haible  <bruno@clisp.org>
93636
93637         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
93638         <sys/types.h> should be sufficient.
93639         Reported by Paul Eggert.
93640
93641 2003-06-26  Karl Berry  <karl@gnu.org>
93642
93643         * config/depcomp: update from automake.
93644
93645 2003-06-26  Bruno Haible  <bruno@clisp.org>
93646
93647         * modules/human: Depend on module stdbool.
93648
93649 2003-06-25  Bruno Haible  <bruno@clisp.org>
93650
93651         * modules/readlink: New file.
93652         * modules/xreadlink: Depend on it.
93653         * MODULES.html.sh (func_all_modules): Add readlink.
93654
93655 2003-06-25  Bruno Haible  <bruno@clisp.org>
93656
93657         * m4/readlink.m4: New file.
93658
93659 2003-06-25  Bruno Haible  <bruno@clisp.org>
93660
93661         * lib/readlink.c: New file.
93662
93663 2003-06-22  Karl Berry  <karl@gnu.org>
93664
93665         * config/srclist.txt: update mkinstalldirs from automake.
93666         * config/mkinstalldirs: update.
93667
93668 2003-06-22  Bruno Haible  <bruno@clisp.org>
93669
93670         Portability to mingw32.
93671         * m4/ssize_t.m4: New file, from GNU gettext.
93672         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
93673         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
93674
93675 2003-06-22  Bruno Haible  <bruno@clisp.org>
93676
93677         * modules/safe-read: Add m4/ssize_t.m4.
93678         * modules/xreadlink: Add m4/ssize_t.m4.
93679
93680 2003-06-20  Bruno Haible  <bruno@clisp.org>
93681
93682         Assume C89, so PARAMS isn't needed.
93683         * lib/unicodeio.h (PARAMS): Remove.
93684         * lib/unicodeio.c: Don't use PARAMS.
93685
93686 2003-06-18  Karl Berry  <karl@gnu.org>
93687
93688         * config/config.{guess,sub}: update from prep.
93689
93690 2003-06-18  Jim Meyering  <jim@meyering.net>
93691
93692         Merge changes from coreutils.
93693         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
93694         Remove explicit declarations of xmalloc and realloc.
93695         Include xalloc.h.
93696         (read_utmp): Remove anachronistic cast of xmalloc.
93697
93698 2003-06-17  Paul Eggert  <eggert@twinsun.com>
93699
93700         Assume C89, so PARAMS isn't needed.
93701         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
93702         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
93703         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
93704         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
93705         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
93706         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
93707         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
93708         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
93709         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
93710         lib/xstrtod.h, lib/xstrtol.h: Likewise.
93711         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
93712         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
93713         no longer needed. Anyway, config.h should always be included before any
93714         other file.
93715
93716 2003-06-11  Simon Josefsson  <jas@extundo.com>
93717
93718         * modules/sysexits: New file.
93719         * MODULES.html.sh (func_all_modules): Add sysexits.
93720
93721 2003-06-11  Simon Josefsson  <jas@extundo.com>
93722
93723         * lib/sysexit_.h: New file.
93724
93725 2003-06-11  Derek Price  <derek@ximbiot.com>
93726
93727         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
93728         necessary.
93729
93730 2003-06-11  Bruno Haible  <bruno@clisp.org>
93731
93732         * m4/sysexits.m4: New file.
93733
93734 2003-06-10  Simon Josefsson  <jas@extundo.com>
93735
93736         * lib/argp.h: New file, from glibc.
93737         * lib/argp-ba.c: New file, from glibc.
93738         * lib/argp-eexst.c: New file, from glibc.
93739         * lib/argp-fmtstream.c: New file, from glibc.
93740         * lib/argp-fmtstream.h: New file, from glibc.
93741         * lib/argp-fs-xinl.c: New file, from glibc.
93742         * lib/argp-help.c: New file, from glibc.
93743         * lib/argp-namefrob.h: New file, from glibc.
93744         * lib/argp-parse.c: New file, from glibc.
93745         * lib/argp-pv.c: New file, from glibc.
93746         * lib/argp-pvh.c: New file, from glibc.
93747         * lib/argp-xinl.c: New file, from glibc.
93748
93749 2003-06-10  Simon Josefsson  <jas@extundo.com>
93750
93751         * modules/strchrnul: New file.
93752
93753 2003-06-10  Simon Josefsson  <jas@extundo.com>
93754
93755         * modules/argp: New file.
93756
93757 2003-06-10  Simon Josefsson  <jas@extundo.com>
93758
93759         * m4/strchrnul.m4: New file.
93760
93761 2003-06-10  Simon Josefsson  <jas@extundo.com>
93762
93763         * lib/strchrnul.h: New file.
93764         * lib/strchrnul.c: New file.
93765
93766 2003-06-10  Bruno Haible  <bruno@clisp.org>
93767
93768         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
93769
93770 2003-06-07  Karl Berry  <karl@gnu.org>
93771
93772         * config/config.{guess,sub}: update from prep.
93773
93774 2003-06-07  Jim Meyering  <jim@meyering.net>
93775
93776         * modules/strtod: Use $(...) notation, not @...@ for
93777         AC_REPLACE'd variables.
93778         * modules/localcharset: Likewise.
93779
93780 2003-06-07  Jim Meyering  <jim@meyering.net>
93781
93782         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
93783         in place of my name in the copyright comment.
93784         Remove definition and uses of __P.
93785
93786         From coreutils.
93787         * lib/stat.c: Don't declare xmalloc explicitly.
93788         Instead, include "xalloc.h".
93789         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
93790         xrealloc, and xcalloc return values.
93791         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
93792         Improve comment.
93793         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
93794
93795 2003-06-07  Bruno Haible  <bruno@clisp.org>
93796
93797         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
93798         avoid AC_CONFIG_LINKS.
93799         * modules/fnmatch (Makefile.am): Use explicit creation rule for
93800         fnmatch.h, to avoid AC_CONFIG_LINKS.
93801         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
93802
93803 2003-06-07  Bruno Haible  <bruno@clisp.org>
93804
93805         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
93806         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
93807         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93808         directory.
93809         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
93810         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93811         directory.
93812
93813 2003-06-06  Jim Meyering  <jim@meyering.net>
93814
93815         Merge from coreutils.
93816         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
93817         Consolidate declarations and initializations of *_base* locals.
93818
93819         Merge from coreutils.
93820         This avoids a core dump on systems without GNU putenv,
93821         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
93822         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
93823         (unsetenv): New static function, from GNU libc.
93824         (rpl_putenv): Use it.
93825
93826         * lib/modechange.c: Remove trailing blanks.
93827
93828         Merge from coreutils.
93829         * lib/fsusage.c: Remove declaration of statfs.
93830         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
93831
93832         * lib/posixtm.c: Include <stdbool.h> unconditionally.
93833
93834 2003-06-06  Jim Meyering  <jim@meyering.net>
93835
93836         * lib/stdbool_.h: Renamed from stdbool.h.in.
93837
93838 2003-06-06  Jim Meyering  <jim@meyering.net>
93839             Bruno Haible  <bruno@clisp.org>
93840
93841         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
93842         Adjust Makefile.am snippet not to redirect directly to target.
93843         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
93844
93845 2003-06-05  Paul Eggert  <eggert@twinsun.com>
93846
93847         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
93848         mismatch, look in future quarters as well as past.  This fixes a
93849         bug when processing fall-backwards gaps immediately after a long
93850         period of daylight-saving time.
93851
93852         * lib/mktime.c: Assume freestanding C89 or better.
93853         (HAVE_LIMITS_H): Remove.  Assume it's 1.
93854         (__P): Remove; not used.
93855         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
93856         (mktime, not_equal_tm, print_tm, check_result,
93857         main): Use prototypes.  Use const * where appropriate.
93858         (main): Fix typo in testing code that uncovered by above changes.
93859         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
93860
93861 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93862
93863         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
93864         locale.h, localeconv.  This merges changes from coreutils.
93865
93866         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
93867         It can be removed after the next Autoconf is released.
93868         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
93869         needed.
93870
93871 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93872
93873         * lib/mktime.c: Fix Debian bug 177940
93874         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
93875         (localtime_offset): Now long int, not time_t, because we want it
93876         to be guaranteed to be signed.  All uses changed.
93877         (__mktime_internal): If overflow would occur when adding offset,
93878         don't add it.
93879
93880         Merge 'human' changes from coreutils.  Rewrite to support
93881         locale-specific notations like thousands separators.
93882         * lib/human.c: Simplify authorship notice.
93883         Include human.h immediately after config.h.
93884         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
93885         <limits.h>: Do not include, since human.h does.
93886         (SIZE_MAX, UINTMAX_MAX): New macros.
93887         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
93888         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
93889         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
93890         (power_letter): Renamed from suffixes.
93891         (generate_suffix_backwards): Remove.
93892         (adjust_value): Now takes int style (because of human.h changes)
93893         and long double value (for greater precision on some platforms).
93894         (group_number): New function.
93895         (human_readable): Use it.  Use integer options, not enum.
93896         Put the options before the sizes in the arg list.
93897         Support all the new options.
93898         The old human_readable function has been removed;
93899         use inttostr.h instead.
93900         (human_readable, default_block_size, humblock):
93901         Use uintmax_t, not int, for block sizes.
93902         (human_readable_inexact, block_size_types): Remove.
93903         (block_size_opts): New constant.
93904         (human_options): Renamed from human_block_size, with new signature
93905         that allows block sizes up to UINTMAX_MAX.  All callers changed.
93906         * lib/human.h: Add copyright and authorship notice.
93907         Include <limits.h> and <stdbool.h> unconditionally.
93908         (PARAMS): Remove.  All uses removed.
93909         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
93910         (enum human_inexact_style): Remove tag; now a nameless enum.
93911         (human_floor, human_ceiling, human_round_to_even): Now have
93912         values 2, 0, 1 rather than -1, 1, 0.
93913         (human_group_digits, human_suppress_point_zero, human_autoscale,
93914         human_base_1024, human_SI, human_B): New constants.
93915         (human_readable_inexact, human_block_size): Remove.
93916         (human_readable): Size args are now uintmax_t, not int.
93917         (human_options): New decl.
93918
93919         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
93920         unnecessary now that we assume C89 or better.  This change
93921         imported from coreutils.
93922
93923         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93924         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
93925         in the 2003-05-30 sync from glibc.
93926
93927         .h files should stand alone, but we shouldn't include <sys/types.h>
93928         if we can get away with just <stddef.h>.
93929
93930         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
93931         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
93932         rather than <sys/types.h>, as we merely need size_t.
93933         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
93934         to get size_t.
93935         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
93936         Include <stdio.h>, to get FILE.
93937         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
93938         memcasecmp.h has included <stddef.h> and all we need is size_t.
93939         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
93940         our interface, instead of including <sys/types.h>
93941
93942 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93943
93944         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
93945         now, as glibc mktime is buggy on non-glibc systems.
93946
93947 2003-06-03  Karl Berry  <karl@gnu.org>
93948
93949         * config/config.sub: update from prep.
93950
93951 2003-06-02  Paul Eggert  <eggert@twinsun.com>
93952
93953         [from coreutils]
93954         Fix some minor time-related bugs with POSIX time arguments.
93955         Some valid time stamps were being rejected (notably -1, and
93956         time stamps before 1900 on 64-bit hosts).  And some invalid
93957         time stamps were being accepted, e.g. September 31.
93958
93959         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
93960         that we can return (time_t) -1 successfully.
93961         * lib/posixtm.c: Likewise.
93962         [HAVE_STDBOOL_H]: Include <stdbool.h>.
93963         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
93964         (t): Remove static var.
93965         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
93966         of static var.  All uses changed.
93967         (year): Do not reject years before 1900; they can occur with
93968         64-bit time_t.
93969         (posix_time_parse): Do not check for out-of-range components;
93970         that is now the caller's responsibility, since our checks were
93971         only approximations.
93972         (posixtime): Use mktime to check for out-of-range components,
93973         since it knows them exactly.
93974         If mktime returns (time_t) -1, check whether an error actually occurred
93975         by invoking localtime on -1.
93976         (main) [TEST_POSIXTIME]: Check for input data errors, and report
93977         posixtime failures better.
93978         Improve the test data (in comments only).
93979
93980 2003-06-02  Karl Berry  <karl@gnu.org>
93981
93982         * config/mkinstalldirs (version): new variable.
93983         (--version): new option.
93984         (usage): improve message.
93985
93986 2003-05-30  Karl Berry  <karl@gnu.org>
93987
93988         * lib/mktime.c: update from libc.
93989
93990 2003-05-30  Bruno Haible  <bruno@clisp.org>
93991
93992         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
93993         * config/config.rpath: Upgrade to gettext-0.12.1.
93994
93995 2003-05-30  Bruno Haible  <bruno@clisp.org>
93996
93997         * m4/gettext.m4: Upgrade to gettext-0.12.1.
93998         * m4/nls.m4: New file, from gettext-0.12.1.
93999         * m4/po.m4: New file, from gettext-0.12.1.
94000         * m4/progtest.m4: Upgrade to gettext-0.12.1.
94001
94002 2003-05-30  Bruno Haible  <bruno@clisp.org>
94003
94004         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
94005         * lib/localcharset.h: Likewise.
94006         * lib/localcharset.c: Likewise.
94007
94008 2003-05-29  Karl Berry  <karl@gnu.org>
94009
94010         * config/config.rpath: update from gettext.
94011
94012 2003-05-28  Paul Eggert  <eggert@twinsun.com>
94013
94014         Assume the headers required for C89 freestanding compilers.
94015         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
94016         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
94017         * m4/human.m4 (gl_HUMAN): Likewise.
94018         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
94019         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
94020         * m4/userspec.m4 (gl_USERSPEC): Likewise.
94021         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
94022         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
94023         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
94024
94025 2003-05-28  Paul Eggert  <eggert@twinsun.com>
94026
94027         Assume the headers required for C89 freestanding compilers.
94028         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
94029         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
94030         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
94031         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
94032         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
94033         define, since <limits.h> is guaranteed to do that.
94034         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
94035         * lib/exclude.c: Include <stdbool.h> unconditionally.
94036         * lib/tempname.c: Include <stddef.h> unconditionally.
94037         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
94038         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
94039         <stddef.h> does that.
94040         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
94041         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
94042         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
94043         needed.
94044         * lib/xstrtol.c: Likewise.
94045         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
94046         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
94047
94048         * lib/addext.c (addext): Use assignment rather than cast, to avoid
94049         warnings on some platforms.
94050
94051         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
94052         arbitrarily.
94053
94054 2003-05-26  Jim Meyering  <jim@meyering.net>
94055
94056         Merge in a change from coreutils:
94057         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
94058         that is guaranteed to be `no'.  Use `no_such_member' to indicate
94059         that condition, rather than `-1' which is slightly misleading.
94060         Change the name of the cache variable to have the gl_ prefix.
94061         Prompted by a patch from Richard Dawe for DJGPP.
94062
94063 2003-05-24  Karl Berry  <karl@gnu.org>
94064
94065         * config/config.guess: update from prep.
94066
94067 2003-05-22  Karl Berry  <karl@gnu.org>
94068
94069         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
94070
94071 2003-05-20  Karl Berry  <karl@gnu.org>
94072
94073         * config/config.guess: update from prep.
94074
94075 2003-05-18  Karl Berry  <karl@gnu.org>
94076
94077         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
94078         might actually be set by the user.
94079
94080         * config/depcomp, install-sh, mdate-sh: update from automake.
94081
94082 2003-05-17  Bruno Haible  <bruno@clisp.org>
94083
94084         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
94085         invalid expansion for AC_EGREP_CPP.
94086         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
94087         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
94088         Suggested by Akim Demaille <akim@epita.fr> in
94089         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
94090
94091 2003-05-12  Jim Meyering  <jim@meyering.net>
94092
94093         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
94094         the space-padded-by-default conversion specifiers, %e, %k, %l.
94095
94096 2003-05-12  Bruno Haible  <bruno@clisp.org>
94097
94098         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
94099         the string is longer than 4 KB.
94100
94101 2003-05-11  Karl Berry  <karl@gnu.org>
94102
94103         * config/config.{guess,sub}: update from prep.
94104
94105 2003-05-09  Bruno Haible  <bruno@clisp.org>
94106
94107         * modules/error: Add m4/strerror_r.m4 to file list.
94108
94109 2003-05-03  Bruno Haible  <bruno@clisp.org>
94110
94111         Upgrade to Unicode-4.0.
94112         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
94113         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
94114         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
94115         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
94116         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
94117         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
94118         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
94119         Change width of U+E0100..U+E01EF from 1 to 0.
94120
94121 2003-04-25  Jim Meyering  <jim@meyering.net>
94122
94123         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
94124         of type size_t, not int.
94125
94126 2003-04-25  Bruno Haible  <bruno@clisp.org>
94127
94128         * lib/copy-file.c: Include <stddef.h>, for size_t.
94129
94130 2003-04-21  Paul Eggert  <eggert@twinsun.com>
94131
94132         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
94133         code which expansion is under static control.  Patch imported from
94134         Akim Demaille's patch to Bison; see
94135         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
94136
94137 2003-04-14  Bruno Haible  <bruno@clisp.org>
94138
94139         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
94140
94141 2003-04-11  Jim Meyering  <jim@meyering.net>
94142
94143         Merge changes from Coreutils.
94144
94145         2003-03-22  Jim Meyering  <jim@meyering.net>
94146
94147         * lib/strftime.c (widen): Cast alloca return value to proper type.
94148
94149         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
94150
94151         From GNU libc.
94152         * lib/strftime.c (my_strftime): Handle very large width
94153         specifications for numeric values correctly.  Improve checks for
94154         overflow.
94155
94156         2003-01-19  Jim Meyering  <jim@meyering.net>
94157
94158         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
94159         definitions.
94160         (nl_get_alt_digit) [! defined my_strftime]: Define.
94161         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
94162         _nl_get_alt_digit and _nl_get_walt_digit.
94163
94164         * lib/strftime.c (my_strftime): Merge in locale-related changes from
94165         libc. These changes have no effect outside of _LIBC.
94166
94167 2003-04-10  Bruno Haible  <bruno@clisp.org>
94168
94169         * modules/findprog: New file.
94170         * MODULES.html.sh (func_all_modules): Add it.
94171
94172 2003-04-10  Bruno Haible  <bruno@clisp.org>
94173
94174         * m4/findprog.m4: New file.
94175         * m4/eaccess.m4: New file.
94176
94177 2003-04-10  Bruno Haible  <bruno@clisp.org>
94178
94179         * lib/findprog.h: New file, from GNU gettext.
94180         * lib/findprog.c: New file, from GNU gettext.
94181
94182 2003-04-05  Jim Meyering  <jim@meyering.net>
94183
94184         Merge changes from Coreutils.
94185
94186         * lib/exclude.h (PARAMS): Remove definition and uses.
94187         * lib/exclude.c: Remove uses of `PARAMS'.
94188
94189         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
94190         Add test-cases for DOS filenames. Declare program_name.
94191         (main): Set up program_name.  Patch by Rich Dawe.
94192
94193         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
94194         error from mntctl.
94195         Use mntctl's return value to drive the entry-processing loop, since
94196         we can't rely on the value of the vmt_length member in the last
94197         entry.  On some systems doing so could result in exhausting
94198         virtual memory.  Based in part on a patch from Mike Jetzer.
94199
94200 2003-04-04  Bruno Haible  <bruno@clisp.org>
94201
94202         * modules/linebreak: New file.
94203         * MODULES.html.sh (func_all_modules): Add it.
94204
94205 2003-04-04  Bruno Haible  <bruno@clisp.org>
94206
94207         * m4/linebreak.m4: New file.
94208
94209 2003-04-04  Bruno Haible  <bruno@clisp.org>
94210
94211         * lib/linebreak.h: New file, from GNU gettext.
94212         * lib/linebreak.c: New file, from GNU gettext with slight
94213         modifications.
94214         * lib/lbrkprop.h: New file, from GNU gettext.
94215
94216 2003-04-03  Bruno Haible  <bruno@clisp.org>
94217
94218         * modules/utf8-ucs4: New file.
94219         * modules/utf16-ucs4: New file.
94220         * modules/ucs4-utf8: New file.
94221         * modules/ucs4-utf16: New file.
94222         * MODULES.html.sh (func_all_modules): Add them.
94223
94224 2003-04-03  Bruno Haible  <bruno@clisp.org>
94225
94226         * m4/utf-ucs4.m4: New file.
94227         * m4/ucs4-utf.m4: New file.
94228
94229 2003-04-03  Bruno Haible  <bruno@clisp.org>
94230
94231         * lib/utf8-ucs4.h: New file, from GNU gettext.
94232         * lib/utf16-ucs4.h: New file, from GNU gettext.
94233         * lib/ucs4-utf8.h: New file, from GNU gettext.
94234         * lib/ucs4-utf16.h: New file, from GNU gettext.
94235
94236 2003-04-02  Bruno Haible  <bruno@clisp.org>
94237
94238         * modules/binary-io: New file.
94239         * MODULES.html.sh (func_all_modules): Add it.
94240
94241 2003-04-02  Bruno Haible  <bruno@clisp.org>
94242
94243         * lib/binary-io.h: New file, from GNU gettext.
94244
94245 2003-04-01  Bruno Haible  <bruno@clisp.org>
94246
94247         * modules/pathname: New file.
94248         * MODULES.html.sh (func_all_modules): Add it.
94249
94250 2003-04-01  Bruno Haible  <bruno@clisp.org>
94251
94252         * lib/pathname.h: New file, from GNU gettext.
94253         * lib/concatpath.c: New file, from GNU gettext.
94254
94255 2003-03-30  Bruno Haible  <bruno@clisp.org>
94256
94257         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
94258
94259 2003-03-30  Bruno Haible  <bruno@clisp.org>
94260
94261         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
94262         function chown() doesn't exist.
94263
94264 2003-03-28  Bruno Haible  <bruno@clisp.org>
94265
94266         * modules/copy-file: New file.
94267         * MODULES.html.sh (func_all_modules): Add it.
94268
94269 2003-03-28  Bruno Haible  <bruno@clisp.org>
94270
94271         * m4/copy-file.m4: New file.
94272
94273 2003-03-28  Bruno Haible  <bruno@clisp.org>
94274
94275         * lib/copy-file.h: New file, from GNU gettext.
94276         * lib/copy-file.c: New file, from GNU gettext.
94277
94278 2003-03-18  Jim Meyering  <jim@meyering.net>
94279
94280         * lib/quote.c (quote_n): Fix typo in comment.
94281
94282 2003-03-18  Bruno Haible  <bruno@clisp.org>
94283
94284         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
94285         checking.
94286         * m4/onceonly_2_57.m4: Likewise.
94287
94288 2003-03-17  Bruno Haible  <bruno@clisp.org>
94289
94290         * m4/onceonly.m4: Require autoconf 2.54 or newer.
94291         (m4_quote): Remove macro.
94292         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
94293
94294 2003-03-14  Jim Meyering  <jim@meyering.net>
94295
94296         Merge changes from Coreutils.
94297         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
94298         to be const, in order to avoid warnings.
94299         (obstack_room): Likewise.
94300         (obstack_empty_p): Likewise.
94301
94302 2003-03-14  Bruno Haible  <bruno@clisp.org>
94303
94304         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
94305         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
94306
94307 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94308
94309         Merge changes from Bison.
94310         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
94311         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
94312         when compiling Bison 1.875's `bitset bset = obstack_alloc
94313         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
94314         * lib/hash.c: Include <stdbool.h> unconditionally.
94315
94316 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94317
94318         * m4/onceonly.m4 (m4_quote): New macro.
94319         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
94320         Quote AC_FOREACH variable-expansions properly.
94321
94322 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94323
94324         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
94325
94326 2003-03-09  Paul Eggert  <eggert@twinsun.com>
94327
94328         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
94329         Reported by Bruce Becker; see:
94330         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
94331
94332 2003-03-03  Paul Eggert  <eggert@twinsun.com>
94333             Bruno Haible  <bruno@clisp.org>
94334
94335         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
94336         Reported by John Hughes, see
94337         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
94338
94339 2003-02-20  Bruno Haible  <bruno@clisp.org>
94340
94341         * MODULES.html.sh (func_all_modules): Add poll.
94342
94343 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94344
94345         * modules/poll: New file.
94346
94347 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94348
94349         * lib/poll_.h: New file.
94350         * lib/poll.c: New file.
94351
94352 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94353
94354         * m4/poll.m4: New file.
94355
94356 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94357
94358         * modules/mathl: New file.
94359
94360 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94361
94362         * lib/mathl.h: New file.
94363         * lib/acosl.c: New file.
94364         * lib/asinl.c: New file.
94365         * lib/atanl.c: New file.
94366         * lib/ceill.c: New file.
94367         * lib/cosl.c: New file.
94368         * lib/expl.c: New file.
94369         * lib/floorl.c: New file.
94370         * lib/frexpl.c: New file.
94371         * lib/ldexpl.c: New file.
94372         * lib/logl.c: New file.
94373         * lib/sincosl.c: New file.
94374         * lib/sinl.c: New file.
94375         * lib/sqrtl.c: New file.
94376         * lib/tanl.c: New file.
94377         * lib/trigl.c: New file.
94378         * lib/trigl.h: New file.
94379
94380 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94381
94382         * m4/mathl.m4: New file.
94383
94384 2003-02-18  Bruno Haible  <bruno@clisp.org>
94385
94386         * MODULES.html.sh (func_all_modules): Add mathl.
94387
94388 2003-02-17  Bruno Haible  <bruno@clisp.org>
94389
94390         * modules/mkdtemp: New module.
94391         * MODULES.html.sh (func_all_modules): Add it.
94392
94393 2003-02-17  Bruno Haible  <bruno@clisp.org>
94394
94395         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
94396
94397 2003-02-17  Bruno Haible  <bruno@clisp.org>
94398
94399         * lib/mkdtemp.h: New file, from GNU gettext.
94400         * lib/mkdtemp.c: New file, from GNU gettext.
94401
94402 2003-02-02  Jim Meyering  <jim@meyering.net>
94403
94404         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
94405         e.g. glibc-2.2.93.
94406
94407 2003-01-31  Bruno Haible  <bruno@clisp.org>
94408
94409         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
94410         'rpl_rename'.
94411         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
94412         'rpl_strnlen'.
94413         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
94414         'rpl_strtod'.
94415         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
94416         'rpl_utime'.
94417
94418 2003-01-31  Bruno Haible  <bruno@clisp.org>
94419
94420         * lib/rename.c: #undef rename before defining rpl_rename.
94421         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
94422
94423 2003-01-30  Bruno Haible  <bruno@clisp.org>
94424
94425         * modules/vasnprintf, modules/vasprintf: New modules.
94426         * MODULES.html.sh (func_all_modules): Add them.
94427
94428 2003-01-30  Bruno Haible  <bruno@clisp.org>
94429
94430         * m4/signed.m4: New file, from GNU gettext.
94431         * m4/longdouble.m4: New file, from GNU gettext.
94432         * m4/wchar_t.m4: New file, from GNU gettext.
94433         * m4/wint_t.m4: New file, from GNU gettext.
94434         * m4/vasnprintf.m4: New file.
94435         * m4/vasprintf.m4: New file.
94436
94437 2003-01-30  Bruno Haible  <bruno@clisp.org>
94438
94439         * lib/printf-args.h: New file, from GNU gettext.
94440         * lib/printf-args.c: New file, from GNU gettext.
94441         * lib/printf-parse.h: New file, from GNU gettext.
94442         * lib/printf-parse.c: New file, from GNU gettext.
94443         * lib/vasnprintf.h: New file, from GNU gettext.
94444         * lib/vasnprintf.c: New file, from GNU gettext.
94445         * lib/asnprintf.c: New file, from GNU gettext.
94446         * lib/vasprintf.h: New file, from GNU gettext with modifications.
94447         * lib/vasprintf.c: New file, from GNU gettext.
94448         * lib/asprintf.c: New file, from GNU gettext.
94449
94450 2003-01-29  Bruno Haible  <bruno@clisp.org>
94451
94452         * modules/stpncpy: New module.
94453         * MODULES.html.sh (func_all_modules): Add it.
94454
94455 2003-01-29  Bruno Haible  <bruno@clisp.org>
94456
94457         * m4/stpncpy.m4: New file.
94458
94459 2003-01-29  Bruno Haible  <bruno@clisp.org>
94460
94461         * lib/stpncpy.h: New file, from GNU gettext with modifications.
94462         * lib/stpncpy.c: New file, from GNU gettext with modifications.
94463
94464 2003-01-28  Bruno Haible  <bruno@clisp.org>
94465
94466         * modules/c-ctype: New module.
94467         * MODULES.html.sh (func_all_modules): Add it.
94468
94469 2003-01-28  Bruno Haible  <bruno@clisp.org>
94470
94471         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
94472         Paul Eggert.
94473         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
94474         Paul Eggert.
94475
94476 2003-01-27  Bruno Haible  <bruno@clisp.org>
94477
94478         * modules/xsetenv: New module.
94479         * MODULES.html.sh (func_all_modules): Add it.
94480
94481 2003-01-27  Bruno Haible  <bruno@clisp.org>
94482
94483         * lib/xsetenv.h: New file, from GNU gettext.
94484         * lib/xsetenv.c: New file, from GNU gettext.
94485
94486 2003-01-23  Jim Meyering  <jim@meyering.net>
94487
94488         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
94489         from working on systems without dirfd (at least Irix and OSF1/Tru64).
94490
94491 2003-01-23  Bruno Haible  <bruno@clisp.org>
94492
94493         * modules/minmax: New module.
94494         * MODULES.html.sh (func_all_modules): Add it.
94495
94496 2003-01-23  Bruno Haible  <bruno@clisp.org>
94497
94498         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
94499         Eggert.
94500
94501 2003-01-22  Bruno Haible  <bruno@clisp.org>
94502
94503         * modules/exit: New module.
94504         * MODULES.html.sh (func_all_modules): Add it.
94505
94506 2003-01-22  Bruno Haible  <bruno@clisp.org>
94507
94508         * lib/exit.h: New file, from GNU gettext.
94509
94510 2003-01-19  Bruno Haible  <bruno@clisp.org>
94511
94512         * gnulib-tool: Recognize option --extract-maintainer.
94513         (func_get_maintainer): New function.
94514         * modules/*: Add Maintainer entry.
94515
94516 2003-01-16  Jim Meyering  <jim@meyering.net>
94517
94518         * m4/regex.m4: The `regex' struct is both input and output.
94519         Initialize it before each use.  Patch by Tim Waugh.
94520
94521 2003-01-16  Bruno Haible  <bruno@clisp.org>
94522
94523         * MODULES.html.sh: Add a table of contents. Add the module name as
94524         leftmost column. Add hyperlinks.
94525
94526 2003-01-15  Bruno Haible  <bruno@clisp.org>
94527
94528         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
94529
94530 2003-01-15  Bruno Haible  <bruno@clisp.org>
94531
94532         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
94533         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
94534         suffix.
94535
94536 2003-01-15  Bruno Haible  <bruno@clisp.org>
94537
94538         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
94539
94540 2003-01-15  Bruno Haible  <bruno@clisp.org>
94541
94542         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
94543         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
94544
94545 2003-01-14  Jim Meyering  <jim@meyering.net>
94546
94547         * lib/same.c (same_name): Tweak a comment.
94548
94549 2003-01-14  Bruno Haible  <bruno@clisp.org>
94550
94551         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
94552         when a string comparison is sufficient.
94553
94554 2003-01-14  Bruno Haible  <bruno@clisp.org>
94555
94556         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
94557         'unsigned int'.
94558
94559 2003-01-14  Bruno Haible  <bruno@clisp.org>
94560
94561         * lib/hash-pjw.c: Add comment about low quality of this function.
94562
94563 2003-01-13  Bruno Haible  <bruno@clisp.org>
94564
94565         * modules/stpcpy: Distribute lib/stpcpy.h.
94566         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
94567
94568 2003-01-13  Bruno Haible  <bruno@clisp.org>
94569
94570         * modules/*: Add a description.
94571         * modules/strpbrk: Fix Makefile.am snippet.
94572         * modules/strtoimax: Fix dependencies.
94573         * modules/strtoumax: Likewise.
94574
94575 2003-01-13  Bruno Haible  <bruno@clisp.org>
94576
94577         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
94578         * modules/alloca (Makefile.am): All object files depend on alloca.h.
94579         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
94580
94581 2003-01-13  Bruno Haible  <bruno@clisp.org>
94582
94583         * gnulib-tool (func_create_testdir): Store config/* files in the main
94584         directory.
94585         * config.rpath: Move to ...
94586         * config/config.rpath: ... here.
94587         * modules/gettext: Contains config/config.rpath, not config.rpath.
94588         * modules/iconv: Likewise.
94589
94590 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94591
94592         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94593         to avoid collisions with libcurses and libreadline.
94594
94595         * m4/getstr.m4: Remove.
94596         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
94597
94598 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94599
94600         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94601         to avoid collisions with libcurses and libreadline.
94602
94603         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
94604         * lib/getstr.h, getstr.c: Remove.
94605         * lib/getline.c: Include "getline.h", to check interface.
94606         Move body of old getstr.c here: this defines MIN_CHUNK and
94607         declares getdelim2, which is renamed from getstr.
94608         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
94609
94610         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
94611         All uses changed.
94612         * lib/linebuffer.h: Likewise.
94613         (readline): Remove backward-compatibility macro.
94614
94615 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94616
94617         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94618         to avoid collisions with libcurses and libreadline.
94619         * getstr: Remove.
94620         * MODULES.html.sh: Remove getstr.
94621         * modules/getline: Depend on unlocked-io, not getstr.
94622
94623 2003-01-12  Jim Meyering  <jim@meyering.net>
94624
94625         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
94626
94627 2003-01-10  Bruno Haible  <bruno@clisp.org>
94628
94629         * modules/alloca: Change Makefile.am requirements. Simplify Include
94630         requirements. Add lib/alloca_.h to file list.
94631
94632 2003-01-10  Bruno Haible  <bruno@clisp.org>
94633
94634         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
94635
94636 2003-01-10  Bruno Haible  <bruno@clisp.org>
94637
94638         * lib/alloca_.h: New file.
94639         * lib/getdate.y: Unconditionally include alloca.h.
94640         * lib/makepath.c: Likewise.
94641         * lib/setenv.c: Likewise.
94642         * lib/userspec.c: Likewise.
94643
94644 2003-01-09  Karl Berry  <karl@gnu.org>
94645
94646         * MODULES.html.sh: include `dirname $0` in PATH, to find
94647         gnulib-tool.
94648
94649 2003-01-09  Bruno Haible  <bruno@clisp.org>
94650
94651         * modules/stdbool: Change configure.ac, Makefile.am requirements.
94652         Simplify Include requirements. Add lib/stdbool.h.in to file list.
94653
94654 2003-01-09  Bruno Haible  <bruno@clisp.org>
94655
94656         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
94657
94658 2003-01-09  Bruno Haible  <bruno@clisp.org>
94659
94660         * lib/stdbool.h.in: New file.
94661
94662 2003-01-09  Bruno Haible  <bruno@clisp.org>
94663
94664         * gnulib-tool (func_all_modules): Ignore files ending in ~.
94665         * MODULES.html.sh: Likewise.
94666
94667 2003-01-08  Jim Meyering  <jim@meyering.net>
94668
94669         * lib/full-write.c: Undefine and define-away `const' after inclusion
94670         of errno.h, not before.  Suggestion from Bruno Haible.
94671
94672 2003-01-08  Bruno Haible  <bruno@clisp.org>
94673
94674         * modules/full-read: Depend on full-write.
94675
94676 2003-01-08  Bruno Haible  <bruno@clisp.org>
94677
94678         * lib/safe-read.c: Include specification header first, to ensure its
94679         selfcontainedness.
94680         * lib/full-write.c: Likewise.
94681
94682 2003-01-07  Jim Meyering  <jim@meyering.net>
94683
94684         * lib/full-write.c: Rework so that it may serve to define full_read,
94685         too.
94686         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
94687
94688 2003-01-07  Bruno Haible  <bruno@clisp.org>
94689
94690         * lib/strtoimax.c: Include <stdint.h> as an alternative to
94691         <inttypes.h>.
94692         * lib/xstrtol.h: Likewise.
94693         * lib/xstrtoimax.c: Likewise.
94694         * lib/xstrtoumax.c: Likewise.
94695         * lib/human.h: Likewise.
94696
94697         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
94698         on systems that have <inttypes.h> but not <stdint.h>.
94699
94700 2003-01-07  Bruno Haible  <bruno@clisp.org>
94701
94702         * MODULES.html.sh: Add copyright notice.
94703         (missed_files): Omit CVS directory entries.
94704         (func_module): Make it work with sed-3.02.
94705         * MODULES.txt: Remove file.
94706
94707 2003-01-06  Jim Meyering  <jim@meyering.net>
94708
94709         * lib/version-etc.c: Update year in translatable copyright string.
94710
94711 2003-01-03  Karl Berry  <karl@gnu.org>
94712
94713         * config/config.{guess,sub}: update from prep.
94714
94715 2003-01-02  Karl Berry  <karl@gnu.org>
94716
94717         * doc/COPYING.DOC: belatedly updated to 1.2.
94718
94719 2003-01-01  Karl Berry  <karl@gnu.org>
94720
94721         * gnulib-tool (func_verify_module): report module name $module in
94722         error message, not $1.
94723         * gnulib-tool (create-testdir): don't complain if destdir couldn't
94724         be created, only if it doesn't exist.
94725         * gnulib-tool (last_checkin_date): don't expand the $Date here.
94726
94727 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94728
94729         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
94730
94731 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94732
94733         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
94734         memcmp if strcoll doesn't work.
94735
94736 2002-12-31  Bruno Haible  <bruno@clisp.org>
94737
94738         * lib/utime.c (utime_null): No need to call ftruncate if the file was
94739         nonempty.
94740
94741 2002-12-31  Bruno Haible  <bruno@clisp.org>
94742
94743         * lib/memcoll.c (STRCOLL): New macro.
94744         (memcoll): Use it.
94745
94746 2002-12-31  Bruno Haible  <bruno@clisp.org>
94747
94748         * lib/localcharset.h: New file.
94749         * lib/localcharset.c: Include it.
94750         * lib/unicodeio.c: Likewise.
94751
94752 2002-12-31  Bruno Haible  <bruno@clisp.org>
94753
94754         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
94755         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
94756
94757 2002-12-31  Bruno Haible  <bruno@clisp.org>
94758
94759         * lib/getline.h: Include <stddef.h>, for size_t.
94760
94761         * lib/unicodeio.h: Include <stddef.h>, for size_t.
94762         * lib/unicodeio.c: Don't include <stddef.h>.
94763
94764 2002-12-31  Bruno Haible  <bruno@clisp.org>
94765
94766         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
94767         HAVE_TM_ZONE.
94768
94769 2002-12-24  Karl Berry  <karl@gnu.org>
94770
94771         * config/config.guess: update from prep.
94772
94773 2002-12-24  Bruno Haible  <bruno@clisp.org>
94774
94775         General infrasructure.
94776         * m4/README: Rewritten.
94777         * m4/onceonly.m4: New file.
94778         * m4/onceonly_2_57.m4: New file.
94779
94780         Module atexit.
94781         * m4/atexit.m4: New file.
94782
94783         Module strtod.
94784         * m4/strtod.m4: New file.
94785
94786         Module strtol.
94787         * m4/strtol.m4: New file.
94788
94789         Module strtoul.
94790         * m4/strtoul.m4: New file.
94791
94792         Module memchr.
94793         * m4/memchr.m4: New file.
94794
94795         Module memcmp.
94796         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
94797         (jm_FUNC_MEMCMP): Invoke it.
94798
94799         Module memcpy.
94800         * m4/memcpy.m4: New file.
94801
94802         Module memmove.
94803         * m4/memmove.m4: New file.
94804
94805         Module memset.
94806         * m4/memset.m4: New file.
94807
94808         Module strcspn.
94809         * m4/strcspn.m4: New file.
94810
94811         Module strpbrk.
94812         * m4/strpbrk.m4: New file.
94813
94814         Module strstr.
94815         * m4/strstr.m4: New file.
94816
94817         Module strerror.
94818         * m4/strerror.m4: New file.
94819
94820         Module mktime.
94821         * m4/mktime.m4: Renamed from jm-mktime.m4.
94822         (gl_PREREQ_MKTIME): New macro.
94823         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
94824
94825         Module malloc.
94826         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
94827         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
94828         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
94829
94830         Module realloc.
94831         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
94832         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
94833         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
94834
94835         Module strftime.
94836         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
94837         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
94838         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
94839         gl_TM_GMTOFF.
94840         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
94841
94842         Module xalloc.
94843         * m4/xalloc.m4: New file.
94844
94845         Module alloca.
94846         * m4/alloca.m4: New file.
94847
94848         Module putenv.
94849         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
94850         (jm_FUNC_PUTENV): Invoke it.
94851
94852         Module setenv.
94853         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
94854         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
94855         when invoked twice.
94856         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
94857         gt_FUNC_SETENV.
94858
94859         Module memrchr.
94860         * m4/memrchr.m4: New file.
94861
94862         Module stpcpy.
94863         * m4/stpcpy.m4: New file.
94864
94865         Module strcase.
94866         * m4/strcase.m4: New file.
94867
94868         Module strdup.
94869         * m4/strdup.m4: New file.
94870
94871         Module strnlen.
94872         * m4/strnlen.m4: New file.
94873
94874         Module strndup.
94875         * m4/strndup.m4: New file.
94876
94877         Module xstrtod.
94878         * m4/xstrtod.m4: New file.
94879
94880         Module xstrtol.
94881         * m4/xstrtol.m4: New file.
94882
94883         Module getdate.
94884         * m4/getdate.m4: New file.
94885
94886         Module unlocked-io.
94887         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
94888         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
94889         * m4/jm-glibc-io.m4n: Remove file.
94890
94891         Module long-options.
94892         * m4/long-options.m4: New file.
94893
94894         Module md5.
94895         * m4/md5.m4: New file.
94896
94897         Module sha.
94898         * m4/sha.m4: New file.
94899
94900         Module getstr.
94901         * m4/getstr.m4: New file.
94902
94903         Module getline.
94904         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
94905         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
94906         <sys/types.h>, for size_t. Use the function name gnu_getline, not
94907         simply getline. Infoke gl_PREREQ_GETLINE.
94908
94909         Module obstack.
94910         * m4/obstack.m4: New file.
94911
94912         Module hash.
94913         * m4/hash.m4: New file.
94914
94915         Module readtokens.
94916         * m4/readtokens.m4: New file.
94917
94918         Module strverscmp.
94919         * m4/strverscmp.m4: New file.
94920
94921         Module stdbool.
94922         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
94923         OSF/1.
94924
94925         Module strtoll.
94926         * m4/strtoll.m4: New file.
94927
94928         Module strtoull.
94929         * m4/strtoull.m4: New file.
94930
94931         Module strtoimax.
94932         * m4/strtoimax.m4: New file.
94933
94934         Module strtoumax.
94935         * m4/strtoumax.m4: New file.
94936
94937         Module xstrtoimax.
94938         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
94939         jm_AC_PREREQ_XSTRTOIMAX.
94940         Moved the strtol prerequisites to strtol.m4.
94941         Moved the strtoll prerequisites to strtoll.m4.
94942         Moved the strtoimax prerequisites to strtoimax.m4.
94943
94944         Module xstrtoumax.
94945         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
94946         jm_AC_PREREQ_XSTRTOUMAX.
94947         Moved the strtoul prerequisites to strtoul.m4.
94948         Moved the strtoull prerequisites to strtoull.m4.
94949         Moved the strtoumax prerequisites to strtoumax.m4.
94950
94951         Module chown.
94952         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
94953         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
94954
94955         Module dup2.
94956         * m4/dup2.m4: New file.
94957
94958         Module ftruncate.
94959         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
94960         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
94961
94962         Module getgroups.
94963         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
94964         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
94965
94966         Module gettimeofday.
94967         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
94968         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
94969         gl_PREREQ_GETTIMEOFDAY.
94970
94971         Module mkdir.
94972         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
94973         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
94974
94975         Module mkstemp.
94976         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
94977         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
94978         jm_AC_TYPE_UINTMAX_T.
94979         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
94980
94981         Module stat.
94982         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
94983         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
94984
94985         Module lstat.
94986         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
94987         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
94988
94989         Module timespec.
94990         * m4/timespec.m4 (gl_TIMESPEC): New macro.
94991         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
94992         * m4/st_mtim.m4: Indentation.
94993
94994         Module nanosleep.
94995         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
94996         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
94997         gl_PREREQ_NANOSLEEP.
94998
94999         Module regex.
95000         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
95001         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
95002         (gl_REGEX): New macro.
95003
95004         Module rename.
95005         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
95006         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
95007
95008         Module rmdir.
95009         * m4/rmdir.m4: New file.
95010
95011         Module utime.
95012         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
95013         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
95014         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
95015
95016         Module dirname.
95017         * m4/dirname.m4: New file.
95018
95019         Module getopt.
95020         * m4/getopt.m4: New file.
95021
95022         Module unistd-safer.
95023         * m4/unistd-safer.m4: New file.
95024
95025         Module fnmatch.
95026         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
95027         declaration.
95028         (gl_PREREQ_FNMATCH_EXTRA): New macro.
95029         (gl_FUNC_FNMATCH_POSIX): New macro.
95030         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
95031         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
95032         simply fnmatch.
95033
95034         Module exclude.
95035         * m4/exclude.m4: New file.
95036
95037         Module human.
95038         * m4/human.m4: New file.
95039
95040         Module acl.
95041         * m4/acl.m4: Nop.
95042
95043         Module backupfile.
95044         * m4/backupfile.m4: New file.
95045         * m4/d-ino.m4: Indentation.
95046
95047         Module fsusage.
95048         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
95049         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
95050         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
95051
95052         Module dirfd.
95053         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
95054         requirements.
95055
95056         Module euidaccess.
95057         * m4/euidaccess.m4: New file.
95058
95059         Module file-type.
95060         * m4/file-type.m4: New file.
95061
95062         Module fileblocks.
95063         * m4/fileblocks.m4: New file.
95064
95065         Module filemode.
95066         * m4/filemode.m4: New file.
95067
95068         Module isdir.
95069         * m4/isdir.m4: New file.
95070
95071         Module lchown.
95072         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
95073         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
95074
95075         Module makepath.
95076         * m4/makepath.m4: New file.
95077
95078         Module modechange.
95079         * m4/modechange.m4: New file.
95080
95081         Module mountlist.
95082         * m4/mountlist.m4: New file.
95083         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
95084         Indentation.
95085
95086         Module path-concat.
95087         * m4/path-concat.m4: New file.
95088
95089         Module pathmax.
95090         * m4/pathmax.m4: New file.
95091
95092         Module same.
95093         * m4/same.m4: New file.
95094
95095         Module save-cwd.
95096         * m4/save-cwd.m4: New file.
95097
95098         Module savedir.
95099         * m4/savedir.m4: New file.
95100
95101         Module xgetcwd.
95102         * m4/xgetcwd.m4: New file.
95103         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
95104
95105         Module xreadlink.
95106         * m4/xreadlink.m4: New file.
95107
95108         Module safe-read.
95109         * m4/safe-read.m4: New file.
95110
95111         Module safe-write.
95112         * m4/safe-write.m4: New file.
95113
95114         Module closeout.
95115         * m4/closeout.m4: New file.
95116
95117         Module stdio-safer.
95118         * m4/stdio-safer.m4: New file.
95119
95120         Module getpass.
95121         * m4/getpass.m4: New file.
95122
95123         Module getugroups.
95124         * m4/getugroups.m4: New file.
95125
95126         Module group-member.
95127         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
95128         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
95129
95130         Module idcache.
95131         * m4/idcache.m4: New file.
95132
95133         Module userspec.
95134         * m4/userspec.m4: New file.
95135
95136         Module gettime.
95137         * m4/clock_time.m4: New file.
95138         * m4/gettime.m4: New file.
95139
95140         Module settime.
95141         * m4/settime.m4: New file.
95142
95143         Module posixtm.
95144         * m4/posixtm.m4: New file.
95145
95146         Module gethostname.
95147         * m4/gethostname.m4: New file.
95148
95149         Module canon-host.
95150         * m4/canon-host.m4: New file.
95151
95152         Module gettext.
95153         * m4/codeset.m4: New file, from gettext-0.11.5.
95154         * m4/gettext.m4: New file, from gettext-0.11.5.
95155         * m4/glibc21.m4: New file, from gettext-0.11.5.
95156         * m4/iconv.m4: New file, from gettext-0.11.5.
95157         * m4/intdiv0.m4: New file, from gettext-0.11.5.
95158         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
95159         * m4/inttypes.m4: New file, from gettext-0.11.5.
95160         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
95161         * m4/isc-posix.m4: New file, from gettext-0.11.5.
95162         * m4/lcmessage.m4: New file, from gettext-0.11.5.
95163         * m4/lib-ld.m4: New file, from gettext-0.11.5.
95164         * m4/lib-link.m4: New file, from gettext-0.11.5.
95165         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
95166         * m4/progtest.m4: New file, from gettext-0.11.5.
95167         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
95168         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
95169         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
95170
95171         Module localcharset.
95172         * m4/localcharset.m4: New file.
95173
95174         Module hard-locale.
95175         * m4/hard-locale.m4: New file.
95176
95177         Module mbswidth.
95178         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
95179         onceonly macros.
95180         * m4/mbrtowc.m4: Add comment.
95181
95182         Module memcasecmp.
95183         * m4/memcasecmp.m4: New file.
95184
95185         Module memcoll.
95186         * m4/memcoll.m4: New file.
95187
95188         Module unicodeio.
95189         * m4/unicodeio.m4: New file.
95190
95191         Module rpmatch.
95192         * m4/rpmatch.m4: New file.
95193
95194         Module yesno.
95195         * m4/yesno.m4: New file.
95196
95197         Module exitfail.
95198         * m4/exitfail.m4: New file.
95199
95200         Module c-stack.
95201         * m4/c-stack.m4 (gl_C_STACK): New macro.
95202         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
95203
95204         Module error.
95205         * m4/error.m4 (gl_ERROR): New macro.
95206         (jm_PREREQ_ERROR): Use onceonly macros.
95207
95208         Module fatal.
95209         * m4/fatal.m4: New file.
95210
95211         Module getloadavg.
95212         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
95213         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
95214
95215         Module getpagesize.
95216         * m4/getpagesize.m4: New file.
95217
95218         Module getusershell.
95219         * m4/getusershell.m4: New file.
95220
95221         Module physmem.
95222         * m4/physmem.m4: New file.
95223
95224         Module posixver.
95225         * m4/posixver.m4: New file.
95226
95227         Module quotearg.
95228         * m4/quotearg.m4: New file.
95229
95230         Module quote.
95231         * m4/quote.m4: New file.
95232
95233         Module readutmp.
95234         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
95235
95236         Module sig2str.
95237         * m4/sig2str.m4: New file.
95238
95239         Other.
95240         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
95241         ulonglong.m4.
95242         * m4/intmax_t.m4: New file.
95243         * m4/d-type.m4: Indentation.
95244         * m4/jm-macros.m4: Update.
95245         * m4/prereq.m4 (jm_PREREQ): Update.
95246         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
95247         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
95248         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
95249         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
95250         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
95251         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
95252         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
95253         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
95254         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
95255         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
95256         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
95257         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
95258         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
95259         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
95260         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
95261         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
95262         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
95263         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
95264         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
95265
95266 2002-12-24  Bruno Haible  <bruno@clisp.org>
95267
95268         * MODULES.txt: Update according to m4/ changes.
95269
95270         Module gettext.
95271         * config.rpath: New file, from gettext-0.11.5.
95272
95273         * modules/*: New module descriptions.
95274         * gnulib-tool: New file.
95275         * MODULES.html.sh: New file.
95276
95277 2002-12-21  Karl Berry  <karl@gnu.org>
95278
95279         * doc/fdl.texi: update to version 1.2.
95280
95281 2002-12-19  Karl Berry  <karl@gnu.org>
95282
95283         * config/config.guess: update from prep.
95284
95285 2002-12-18  Bruno Haible  <bruno@clisp.org>
95286
95287         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
95288         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
95289
95290 2002-12-17  Bruno Haible  <bruno@clisp.org>
95291
95292         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
95293         stdlib.h, string.h.
95294
95295 2002-12-17  Bruno Haible  <bruno@clisp.org>
95296
95297         * lib/canon-host.c (strdup): Remove unused declaration.
95298
95299         * lib/fsusage.c: Include full_read.h.
95300         (get_fs_usage): Use full_read instead of safe_read.
95301
95302         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
95303
95304 2002-12-12  Karl Berry  <karl@gnu.org>
95305
95306         * config/config.guess: update from prep.
95307
95308 2002-12-11  Bruno Haible  <bruno@clisp.org>
95309
95310         * m4/setenv.m4: New file, from gettext-0.11.5.
95311
95312 2002-12-11  Bruno Haible  <bruno@clisp.org>
95313
95314         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
95315         not unsetenv().
95316         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
95317         modifications:
95318
95319         2002-12-11  Bruno Haible  <bruno@clisp.org>
95320
95321                 * setenv.c (alloca): Fall back to malloc.
95322                 (freea): New macro.
95323                 (setenv): Use freea() to free memory allocated with alloca().
95324
95325         2002-11-13  Bruno Haible  <bruno@clisp.org>
95326
95327                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
95328                 function declarations.
95329                 * unsetenv.c (unsetenv): Likewise.
95330
95331         2002-03-04  Bruno Haible  <bruno@clisp.org>
95332
95333                 Portability to AIX 4.3.3.
95334                 * unsetenv.c: New file, extracted from setenv.c.
95335                 * setenv.c: Move the unsetenv() function to unsetenv.c.
95336
95337         2001-12-20  Bruno Haible  <bruno@clisp.org>
95338
95339                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
95340                 use malloc instead. For SunOS 4.
95341
95342         2001-12-11  Bruno Haible  <bruno@clisp.org>
95343
95344                 * setenv.c: Declare alloca.
95345                 (compar_fn_t): New typedef.
95346                 (KNOWN_VALUE, STORE_VALUE): Use it.
95347
95348         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
95349         setenv.h.
95350
95351 2002-12-10  Paul Eggert  <eggert@twinsun.com>
95352
95353         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
95354         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
95355         Choose values that are less likely to collide with system fnmatch
95356         options.
95357         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
95358         defined (e.g., a pure POSIX system).
95359         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
95360         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
95361
95362 2002-12-06  Paul Eggert  <eggert@twinsun.com>
95363
95364         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
95365         a pain in practice to deal with generated m4 files.  This change
95366         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
95367
95368         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
95369         and jm-glibc-io.m4, as they are no longer a special case.
95370         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
95371         kludge and the auto-generation stuff.  Check only whether the
95372         functions are declared, not whether they exist, since older hosts
95373         that don't declare the functions can't use the optimization anyway.
95374
95375 2002-12-06  Jim Meyering  <jim@meyering.net>
95376
95377         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
95378
95379         Merge in changes from libc's misc/error.c, in preparation
95380         for the merge of gnulib's changes back into libc.
95381
95382         * lib/error.c (_): Define only if not already defined.
95383         Move definition to follow all #include directives.
95384         Include unlocked-io.h only if !_LIBC.
95385         [_LIBC]: Include <libio/libioP.h>.
95386         [USE_IN_LIBIO]: Include <libio/iolibio.h>
95387         (fflush): Tweak definition to use INTUSE.
95388         (putc): Define.
95389
95390 2002-12-05  Paul Eggert  <eggert@twinsun.com>
95391
95392         * lib/alloca.c [defined emacs]: Include "lisp.h".
95393         (xalloc_die) [defined emacs]: New macro.
95394         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
95395         [! defined emacs]: Include <xalloc.h>.
95396         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
95397         (pointer): Typedef to POINTER_TYPE *.
95398         (malloc): Remove decl; we now always use xmalloc.
95399         (alloca): Use old-style definition, since Emacs needs this.
95400         Check for arithmetic overflow when computing combined size.
95401
95402 2002-12-04  Paul Eggert  <eggert@twinsun.com>
95403
95404         Do not generate unlocked-io.h automatically, since it's easier to
95405         maintain it by hand.
95406
95407         * lib/unlocked-io.h: New file, from GNU diffutils,
95408         but with proper copyright notice and attribution.
95409         * lib/gen-uio: Remove.
95410         * lib/Makefile.am: Add copyright notice.
95411         (libfetish_a_SOURCES): Add unlocked-io.h.
95412         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
95413         (DISTCLEANFILES, io_functions): Remove macros.
95414         (EXTRA_DIST): Remove gen_uio.
95415         (unlocked-io.h): Remove rule.
95416
95417 2002-12-04  Jim Meyering  <jim@meyering.net>
95418
95419         Reflect the fact that stat.c and lstat.c are no longer generated.
95420         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
95421         (DISTCLEANFILES): Likewise.
95422         (EXTRA_DIST): Likewise.
95423         (all_local): Don't depend on stat.c or lstat.c.
95424         (stat.c, lstat.c): Remove rules.
95425         (EXTRA_DIST): Remove xstat.in.
95426
95427         * lib/xstat.in: Remove file.  Contents moved into stat.c.
95428         * lib/stat.c: New file.  Contents mostly from xstat.in.
95429         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
95430         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
95431
95432         * lib/safe-read.c: Rework so that it may serve to define safe_write,
95433         too.
95434         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
95435
95436 2002-12-03  Jim Meyering  <jim@meyering.net>
95437
95438         * lib/safe-read.c, safe-write.c: Change variable names and comments,
95439         but not semantics, to minimize the differences between these two files.
95440         (safe_read): Change comment to mention SAFE_READ_ERROR.
95441
95442         * lib/safe-read.c (IS_EINTR): Define.
95443         (safe_read): Use IS_EINTR in place of in-function cpp directives.
95444
95445 2002-12-02  Jim Meyering  <jim@meyering.net>
95446
95447         * lib/safe-read.c (EINTR): Define.
95448         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
95449         (INT_MAX): Provide fallback.
95450         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
95451
95452         * lib/safe-read.h (SAFE_READ_ERROR): Define.
95453
95454 2002-12-02  Bruno Haible  <bruno@clisp.org>
95455
95456         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
95457         Define, taken from safe-read.c.
95458         (INT_MAX): Provide fallback.
95459         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
95460         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
95461
95462         * lib/safe-read.c (EINTR): Remove definition.
95463         (safe_read): Don't use EINTR if it is absent.
95464
95465 2002-12-01  Jim Meyering  <jim@meyering.net>
95466
95467         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
95468         zero.
95469         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
95470
95471 2002-11-27  Paul Eggert  <eggert@twinsun.com>
95472
95473         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
95474         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
95475         with `if (! (value < limit)) abort ();', for readability.
95476
95477 2002-11-26  Karl Berry  <karl@gnu.org>
95478
95479         * lib/strdup.c: copy from libc again, with jim's ok.
95480         * lib/.cppi-disable: re-add strdup.c
95481
95482 2002-11-25  Karl Berry  <karl@gnu.org>
95483
95484         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
95485         instead of "strtol.c".
95486
95487 2002-11-25  Karl Berry  <karl@gnu.org>
95488
95489         * config/install-sh: update from automake for variable quoting, $0 in
95490         error msgs, etc.
95491
95492         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
95493         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
95494         entry.
95495
95496 2002-11-25  Jim Meyering  <jim@meyering.net>
95497
95498         * lib/mktime.c: Sync from libc, now that it has the latest fix.
95499
95500 2002-11-24  Karl Berry  <karl@gnu.org>
95501
95502         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
95503         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
95504
95505 2002-11-24  Jim Meyering  <jim@meyering.net>
95506
95507         Update from coreutils:
95508
95509         * lib/mktime.c: Merge in changes from libc.
95510
95511         Avoid a link-time failure on some Linux systems.
95512         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
95513         (otherwise).
95514         (__mon_yday): Declare with the STATIC attribute.
95515         (__mktime_internal): Likewise.
95516         Based on a report from Greg Schafer.
95517
95518 2002-11-23  Jim Meyering  <jim@meyering.net>
95519
95520         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
95521         Use `unsigned', not `int', as type of index.
95522
95523         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
95524
95525         * lib/fsusage.c: Remove unneeded parentheses around operands of
95526         `defined'.
95527
95528 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95529
95530         * lib/quotearg.h: Allow multiple inclusion by surrounding with
95531         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
95532         so that we can be included first.
95533         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
95534         * lib/quotearg.c: Include quotearg.h immediately after config.h.
95535         No need to include stddef.h or sys/types.h any more.
95536         Surround local include files with "", not "<>".
95537         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
95538         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
95539         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
95540         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
95541         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
95542         (ISPRINT): Remove; no longer needed now that we assume C89.
95543
95544         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
95545         Preserve errno.
95546
95547         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
95548         quotearg_char): Use SIZE_MAX rather than
95549         (size_t) -1 when we are talking about "infinity".
95550
95551         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
95552
95553 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95554
95555         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
95556         hint that one should use `if (! x) abort ();' rather than `assert
95557         (x);', and anyway it's one less thing to worry about configuring.
95558         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
95559         hash_rehash, hash_insert): Use abort rather than assert.
95560
95561 2002-11-22  Bruno Haible  <bruno@clisp.org>
95562
95563         * lib/safe-read.h: Assume C89. Add comments.
95564         (safe_read): Change return type to size_t.
95565         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
95566         byte counts > SSIZE_MAX correctly.
95567         * lib/safe-write.h: New file.
95568         * lib/safe-write.c: New file.
95569         * lib/full-read.h: New file.
95570         * lib/full-read.c: New file.
95571         * lib/full-write.h: Assume C89. Add comments.
95572         * lib/full-write.c: Include safe-write.h.
95573         (full_write): Rewritten to use safe_write.
95574         Suggested by Jim Meyering and Paul Eggert.
95575
95576 2002-11-21  Jim Meyering  <jim@meyering.net>
95577
95578         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
95579
95580         Merge in changes from the coreutils.
95581
95582         2002-09-25  Paul Eggert  <eggert@twinsun.com>
95583         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
95584         <stdint.h>.
95585         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
95586         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
95587         int.  Work more efficiently if X is the same width as uintmax_t.
95588         Do not compare X to -1, to avoid bogus compiler warning.
95589         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
95590         Don't assume that f_frsize and f_bsize are the same type.
95591
95592         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
95593         warning on FreeBSD.
95594
95595         * lib/makepath.c (make_path): Restore umask *before* creating the final
95596         component.
95597         (make_path): Minor reformatting.
95598
95599         * lib/xmalloc.c: Adjust to work with new autoconf macros,
95600         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
95601         HAVE_MALLOC/HAVE_REALLOC.
95602
95603         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
95604         dummy ones.  At least on GNU/Linux systems, `auto' means something
95605         else.
95606         From Michael Stone.
95607
95608 2002-11-21  Bruno Haible  <bruno@clisp.org>
95609
95610         Remove case insensitive option matching.
95611         * lib/argmatch.h (argcasematch): Remove declaration.
95612         (ARGCASEMATCH): Remove macro.
95613         (__xargmatch_internal): Remove case_sensitive argument.
95614         (XARGMATCH): Update.
95615         (XARGCASEMATCH): Remove macro.
95616         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
95617         case_sensitive argument.
95618         (argcasematch): Remove function.
95619         (__xargmatch_internal): Remove case_sensitive argument.
95620         (main): Use XARGMATCH instead of XARGCASEMATCH.
95621
95622         * lib/xmalloc.c: Change compile-time error message. Add comment about
95623         required autoconf version.
95624
95625 2002-11-20  Paul Eggert  <eggert@twinsun.com>
95626
95627         Merge argmatch cleanups from Bison.  Assume C89.
95628
95629         * lib/argmatch.c: Include config.h here, not in argmatch.h.
95630         Include stdlib.h, for EXIT_FAILURE.
95631         Always include <string.h>, since we assume C89.
95632         (EXIT_FAILURE): Remove pre-C89 bug workaround.
95633         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
95634         Include <stddef.h> instead, since it's all we need for size_t.
95635         (PARAMS): Remove.  All uses removed.
95636         (ARRAY_CARDINALITY): Do not bother to #undef.
95637         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
95638         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95639         Remove unnecessary parentheses.
95640         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95641         Insert necessary parentheses.
95642         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
95643         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
95644
95645 2002-11-19  Bruno Haible  <bruno@clisp.org>
95646
95647         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
95648         * lib/mbswidth.h: Include <stddef.h>, for size_t.
95649
95650         * lib/mbswidth.h (PARAMS): Remove macro.
95651         (mbswidth, mbsnwidth): Use ANSI C function declarations.
95652         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
95653
95654         * lib/gcd.h (PARAMS): Remove macro.
95655         (gcd): Use ANSI C function declarations.
95656         * lib/gcd.c (gcd): Likewise.
95657
95658 2002-11-15  Bruno Haible  <bruno@clisp.org>
95659
95660         * lib/strcspn.c: Include <stddef.h>.
95661         (strcspn): Use ANSI C function declaration. Change return type to
95662         size_t. Use NULL.
95663         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
95664         (strpbrk): Use NULL.
95665         * lib/strpbrk.h (PARAMS): Remove macro.
95666         (strpbrk): Use ANSI C function declaration.
95667         * lib/strstr.c: Don't include <sys/types.h>.
95668         * lib/strstr.h (PARAMS): Remove macro.
95669         (strstr): Use ANSI C function declarations.
95670
95671 2002-11-14  Karl Berry  <karl@gnu.org>
95672
95673         * config/mkinstalldirs: `do' on separate line, instead of
95674         `for var; do'.
95675
95676 2002-11-06  Bruno Haible  <bruno@clisp.org>
95677
95678         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
95679         * lib/gcd.c (gcd): Likewise.
95680
95681 2002-11-05  Bruno Haible  <bruno@clisp.org>
95682
95683         * lib/gcd.h: New file, from gettext-0.11.5.
95684         * lib/gcd.c: New file, from gettext-0.11.5.
95685
95686 2002-11-05  Bruno Haible  <bruno@clisp.org>
95687
95688         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95689         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95690         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95691         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95692
95693         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
95694         <libintl.h>.
95695         * lib/makepath.c: Include gettext.h instead of <locale.h> and
95696         <libintl.h>.
95697
95698         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
95699         * lib/human.c: Include gettext.h instead of <libintl.h>.
95700         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
95701         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
95702         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
95703         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
95704         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
95705         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
95706         (textdomain): Remove definition.
95707         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
95708
95709         * lib/long-options.c: Remove include of <libintl.h> and definition of
95710         _.
95711         * lib/same.c: Remove include of <libintl.h> and definition of _.
95712
95713 2002-11-04  Owen Taylor  <otaylor@redhat.com>
95714
95715         * lib/config.charset: A few additions for Solaris.
95716
95717 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95718
95719         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
95720         * lib/localcharset.c (locale_charset): Declare as extern "C".
95721
95722 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95723
95724         * lib/config.charset: msdos in uk_UA uses CP1125.
95725
95726 2002-11-04  Bruno Haible  <bruno@clisp.org>
95727
95728         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
95729         * lib/strcase.h: New file, from GNU gettext-0.11.5.
95730         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
95731         * lib/strstr.h: New file, from GNU gettext-0.11.5.
95732         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
95733
95734 2002-11-04  Bruno Haible  <bruno@clisp.org>
95735
95736         * lib/localcharset.c (locale_charset): Don't return an empty string.
95737
95738 2002-11-04  Bruno Haible  <bruno@clisp.org>
95739
95740         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
95741         aliases.
95742
95743 2002-11-04  Bruno Haible  <bruno@clisp.org>
95744
95745         * lib/config.charset: Update for newest glibc. Add canonical names
95746         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
95747
95748 2002-11-04  Bruno Haible  <bruno@clisp.org>
95749
95750         * lib/config.charset: Add support for NetBSD.
95751
95752 2002-11-04  Bruno Haible  <bruno@clisp.org>
95753
95754         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
95755
95756 2002-11-01  Bruno Haible  <bruno@clisp.org>
95757
95758         * configure.in: Add AC_CONFIG_AUX_DIR call.
95759         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
95760         test/Makefile.
95761         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
95762
95763 2002-09-28  Karl Berry  <karl@gnu.org>
95764
95765         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
95766         installed automake until the next release, since changes have been
95767         made.
95768
95769 2002-09-25  Karl Berry  <karl@gnu.org>
95770
95771         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
95772         * lib/getopt*: copy from libc/posix.
95773         * lib/gettext.h: copy from gettext.
95774         * lib/.cppi-disable: add strdup.c, gettext.h.
95775
95776 2002-09-25  Karl Berry  <karl@gnu.org>
95777
95778         * config/srclist.txt: enable gettext.h check.
95779         * config/config.{guess,sub}: update from prep.
95780         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
95781                 from automake 1.6.3.
95782         See srclist*.
95783
95784 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
95785
95786         * regex.c (PATFETCH): Remove the translating fetch.
95787         (PATFETCH_RAW): Rename to PATFETCH.
95788         (set_image_of_range): New fun.
95789         (SET_RANGE_TABLE_WORK_AREA): Use it.
95790         (regex_compile): Don't translate the pattern chars so eagerly.
95791         Only do it when inserting an `exactn' bytecode or when handling
95792         a char-range.
95793         (mutually_exclusive_p): Avoid empty statement.
95794
95795 2002-07-06  Jim Meyering  <meyering@lucent.com>
95796
95797         * m4/README: Don't mention Makefile.am.in.
95798         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
95799
95800 2002-07-01  Jim Meyering  <meyering@lucent.com>
95801
95802         * lib/c-stack.c: Include sys/time.h.
95803         From Volker Borchert.
95804
95805 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95806
95807         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
95808
95809 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95810
95811         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
95812         New macro.  Use it uniformly instead of
95813         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
95814         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
95815         reported by Vin Shelton.
95816
95817 2002-06-22  Paul Eggert  <eggert@twinsun.com>
95818
95819         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
95820         Do not assume SA_SIGINFO behavior.
95821         Bug reported by Jim Meyering on NetBSD 1.5.2.
95822
95823 2002-06-22  Jim Meyering  <meyering@lucent.com>
95824
95825         * m4/c-stack.m4: New file, from diffutils-2.8.2.
95826         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
95827
95828         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
95829         now that configure.ac uses AC_GNU_SOURCE.
95830         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
95831         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
95832
95833         Update to latest tools.  Suggestions from Paul Eggert.
95834         * m4/stdbool.m4: New file, from diffutils-2.8.2.
95835         * m4/gnu-source.m4: Update from diffutils-2.8.2.
95836         * m4/fnmatch.m4: Likewise.
95837         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
95838         to AC_HEADER_STDBOOL
95839
95840 2002-06-22  Jim Meyering  <meyering@lucent.com>
95841
95842         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
95843         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
95844
95845 2002-06-22  Jim Meyering  <meyering@lucent.com>
95846
95847         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
95848
95849         * lib/exitfail.c, exitfail.h: Likewise.
95850         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
95851
95852         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
95853         of fnmatch.h.
95854         (EXTRA_DIST): Add fnmatch_loop.c.
95855         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
95856
95857         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
95858         * lib/fnmatch.c: Update from diffutils-2.8.2.
95859         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
95860         * lib/fnmatch.h: Remove file.
95861
95862 2002-06-21  Jim Meyering  <meyering@lucent.com>
95863
95864         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
95865         * m4/mbrtowc.m4: Likewise.
95866
95867         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
95868         * m4/mbswidth.m4: Reflect name change:
95869         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
95870         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
95871
95872         * m4/lib-link.m4: Update from gettext-0.11.2.
95873         * m4/gettext.m4: Likewise.
95874
95875         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
95876         From Alfred M. Szmidt.
95877
95878 2002-06-18  Paul Eggert  <eggert@twinsun.com>
95879
95880         * lib/file-type.h: Report an error if neither S_ISREG nor
95881         S_IFREG is defined, instead of using a test specific to glibc
95882         2.2.  This should be safe, since POSIX requires S_ISREG and
95883         Unix Version 7 had S_IFREG.  We don't need to check for
95884         <sys/types.h> since we don't use any symbols that it defines.
95885
95886 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
95887
95888         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
95889         $@-t, so that each temporary file name is unique and valid in the first
95890         8 characters, for operation under DOS.
95891
95892 2002-06-15  Paul Eggert  <eggert@twinsun.com>
95893
95894         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
95895
95896 2002-06-15  Jim Meyering  <meyering@lucent.com>
95897
95898         Work even with DJGPP 2.03, which lacks support for symlinks.
95899         From Richard Dawe.
95900         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
95901         is defined.
95902         * lib/lchown.c (S_ISLNK): Likewise.
95903
95904 2002-06-15  Jim Meyering  <meyering@lucent.com>
95905
95906         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
95907         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
95908         have been included before this file.
95909
95910 2002-06-14  Jim Meyering  <meyering@lucent.com>
95911
95912         * lib/file-type.h: Use the version from diffutils-2.8.2.
95913         * lib/file-type.c: Likewise.
95914
95915 2002-06-07  Jim Meyering  <meyering@lucent.com>
95916
95917         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
95918         They're needed at least for NetBSD 1.5.2.
95919         ($statxfs_includes): Include those same headers.
95920         ($statxfs_includes): Include sys/vfs.h if available.
95921         ($statxfs_includes): Likewise for sys/statvfs.h.
95922         Check for the following members in both structs statfs and statvfs:
95923         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
95924
95925 2002-06-01  Jim Meyering  <meyering@lucent.com>
95926
95927         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
95928         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
95929
95930 2002-05-28  Jim Meyering  <meyering@lucent.com>
95931
95932         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
95933         Reported by Volker Borchert.
95934
95935 2002-05-27  Jim Meyering  <meyering@lucent.com>
95936
95937         Fix a problem seen only on nonconforming systems whereby ls.c's
95938         use of localtime, and then of gettimeofday would cause trouble:
95939         the localtime call used to initialize rpl_gettimeofday's save
95940         mechanism would clobber ls's current local time information so
95941         that in any long listing the first file would always be listed
95942         with date 1970-01-01.  Analysis by Volker Borchert.
95943
95944         * lib/gettimeofday.c (localtime): Undefine.
95945         (rpl_localtime): New function.
95946
95947 2002-05-27  Jim Meyering  <meyering@lucent.com>
95948
95949         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
95950         localtime.
95951
95952         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
95953         use the replacement function; it wouldn't resolve at link time.
95954         Reported by Volker Borchert.
95955
95956 2002-05-22  Jim Meyering  <meyering@lucent.com>
95957
95958         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
95959         file-type.h.
95960         * lib/file-type.h: New file.
95961         * lib/file-type.c (file_type): New file/function.  Extracted from
95962         diffutils.
95963
95964 2002-04-30  Jim Meyering  <meyering@lucent.com>
95965
95966         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
95967
95968 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95969
95970         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
95971
95972 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95973
95974         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
95975         Do not check for alloca.h (no longer used) or stdbool.h (was never
95976         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
95977
95978 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95979
95980         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
95981
95982 2002-04-29  Jim Meyering  <meyering@lucent.com>
95983
95984         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
95985         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
95986         Use AC_FUNC_STRNLEN here instead.
95987
95988         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
95989         With autoconf-2.53a, it's part of AC_PROG_CC.
95990
95991 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95992
95993         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
95994         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
95995
95996 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95997
95998         * lib/sig2str.h, lib/sig2str.c: New files.
95999         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
96000
96001 2002-04-28  Paul Eggert  <eggert@twinsun.com>
96002
96003         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
96004         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
96005         of 127, since 64 is the largest conceivable number for ancient
96006         nonstandard hosts.
96007         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
96008
96009 2002-04-28  Jim Meyering  <meyering@lucent.com>
96010
96011         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
96012
96013 2002-04-24  Jim Meyering  <meyering@lucent.com>
96014
96015         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
96016         (jm_PREREQ): Use it.
96017
96018         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
96019         mach/mach.h fcntl.h.
96020         Check for this function: setlocale.
96021
96022 2002-04-24  Jim Meyering  <meyering@lucent.com>
96023
96024         * lib/gettext.h: New file, from Gettext.
96025         * lib/Makefile.am (INCLUDES): Remove -I../intl.
96026         (libfetish_a_SOURCES): Add gettext.h.
96027
96028 2002-04-16  Jim Meyering  <meyering@lucent.com>
96029
96030         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
96031         ut_pid, ut_id, ut_exit.
96032
96033 2002-04-16  Jim Meyering  <meyering@lucent.com>
96034
96035         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
96036         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
96037         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
96038
96039 2002-04-12  Jim Meyering  <meyering@lucent.com>
96040
96041         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
96042         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
96043         existence of the getmntinfo function.  Needed for Darwin 5.3.
96044
96045         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
96046         This is necessary at least on Darwin 5.3.
96047
96048         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
96049         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
96050         strnlen.o in the library, and that makes some versions of ranlib
96051         object.
96052
96053 2002-04-12  Jim Meyering  <meyering@lucent.com>
96054
96055         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
96056
96057 2002-04-09  Jim Meyering  <meyering@lucent.com>
96058
96059         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
96060         to be more precise.  Rather than saying we're checking whether the
96061         function `works', say what we're testing.
96062         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
96063         Reported by Bruno Haible.
96064
96065 2002-03-10  Jim Meyering  <meyering@lucent.com>
96066
96067         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
96068         Suggestion from Santiago Vila.
96069
96070 2002-03-08  Jim Meyering  <meyering@lucent.com>
96071
96072         * lib/rename.c: Mention that this wrapper is needed also on
96073         mips-dec-ultrix4.4 systems.
96074
96075 2002-03-02  Jim Meyering  <meyering@lucent.com>
96076
96077         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
96078         not HAVE_CLOCK_SETTIME.
96079
96080 2002-02-27  Paul Eggert  <eggert@twinsun.com>
96081
96082         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
96083         Check for clock_settime.
96084
96085 2002-02-27  Paul Eggert  <eggert@twinsun.com>
96086
96087         * lib/nanosleep.h: Rename to....
96088         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
96089
96090         * lib/gettime.c: New file.
96091         * lib/settime.c: New file.
96092         * lib/stime.c: Remove.
96093
96094         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
96095         timespec.h.  Remove nanosleep.h.
96096
96097 2002-02-25  Paul Eggert  <eggert@twinsun.com>
96098
96099         * m4/acl.m4: New file.
96100         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
96101         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
96102
96103 2002-02-25  Paul Eggert  <eggert@twinsun.com>
96104
96105         * lib/acl.c, lib/acl.h: New files.
96106         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
96107
96108 2002-02-24  Jim Meyering  <meyering@lucent.com>
96109
96110         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
96111         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
96112         cause trouble.  Reported by Nelson Beebe.
96113
96114 2002-02-23  Paul Eggert  <eggert@twinsun.com>
96115
96116         * lib/path-concat.c (xpath_concat): Reorder code to pacify
96117         compilers that don't know that xalloc_die never returns.
96118
96119 2002-02-20  Jim Meyering  <meyering@lucent.com>
96120
96121         * lib/getdate.c: Regenerate using bison-1.33.
96122
96123 2002-02-17  Jim Meyering  <meyering@lucent.com>
96124
96125         * config/config.guess (main): Don't use `head -1'; it's no longer
96126         portable. Use `sed 1q' instead.
96127
96128 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
96129
96130         * m4/codeset.m4: Upgrade to gettext-0.11.
96131         * m4/gettext.m4: Upgrade to gettext-0.11.
96132         * m4/glibc21.m4: Upgrade to gettext-0.11.
96133         * m4/iconv.m4: Upgrade to gettext-0.11.
96134         * m4/isc-posix.m4: Upgrade to gettext-0.11.
96135         * m4/lcmessage.m4: Upgrade to gettext-0.11.
96136         * m4/lib-ld.m4: New file, from gettext-0.11.
96137         * m4/lib-link.m4: New file, from gettext-0.11.
96138         * m4/lib-prefix.m4: New file, from gettext-0.11.
96139         * m4/progtest.m4: Upgrade to gettext-0.11.
96140
96141 2002-02-15  Paul Eggert  <eggert@twinsun.com>
96142
96143         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
96144         (jm_PREREQ): Use it.
96145
96146 2002-02-15  Paul Eggert  <eggert@twinsun.com>
96147
96148         * lib/posixver.c, lib/posixver.h: New files.
96149         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
96150
96151 2002-02-02  Paul Eggert  <eggert@twinsun.com>
96152             Bruno Haible  <bruno@clisp.org>
96153
96154         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
96155         (fwrite_success_callback): New declaration.
96156         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
96157         print_unicode_char. Call failure callback instead of error.
96158         (fwrite_success_callback): New function.
96159         (exit_failure_callback): New function.
96160         (fallback_failure_callback): New function.
96161         (print_unicode_char): Call unicode_to_mb.
96162
96163 2002-01-26  Jim Meyering  <meyering@lucent.com>
96164
96165         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
96166         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
96167
96168 2002-01-26  Jim Meyering  <meyering@lucent.com>
96169
96170         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
96171
96172 2002-01-22  Paul Eggert  <eggert@twinsun.com>
96173
96174         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
96175
96176 2002-01-22  Jim Meyering  <meyering@lucent.com>
96177
96178         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
96179         Otherwise, some versions of automake would omit the rule that makes
96180         Makefile from Makefile.in.
96181
96182 2002-01-21  Paul Eggert  <eggert@twinsun.com>
96183
96184         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
96185         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
96186         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
96187         (memcoll): Set errno to zero if there is no error.
96188
96189         * lib/quotearg.c (quotearg_buffer_restyled):
96190         Fix bug with quoting buffers containing NUL when backslashing escapes.
96191         This bug was exposed by the other changes in this patch.
96192         (quotearg_n_options): New arg ARGSIZE.
96193         All callers changed.
96194         (quoting_options_from_style): New function.
96195         (quotearg_n_style): Use it.
96196         (quotearg_n_style_mem): New function.
96197
96198         * lib/quotearg.h (quotearg_n_style_mem): New function.
96199
96200 2002-01-19  Jim Meyering  <meyering@lucent.com>
96201
96202         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
96203         Remove useless quotes: DF_PROG="df".
96204         * m4/strnlen.m4: New file.
96205
96206 2002-01-16  Paul Eggert  <eggert@twinsun.com>
96207
96208         * lib/backupfile.c (ISDIGIT): Comment fix.
96209         * lib/getdate.y (ISDIGIT): Likewise.
96210         * lib/posixtm.c (ISDIGIT, year): Likewise.
96211         * lib/strverscmp.c (ISDIGIT): Likewise.
96212         * lib/userspec.c (ISDIGIT): Likewise.
96213
96214 2002-01-16  Jim Meyering  <meyering@lucent.com>
96215
96216         * lib/getdate.y: Add three semicolons, each just before a closing
96217         brace. Bison (as of version 1.31) no longer papers over that mistake.
96218
96219 2002-01-05  Jim Meyering  <meyering@lucent.com>
96220
96221         * lib/version-etc.c (version_etc_copyright): Update copyright year.
96222
96223 2001-12-19  Paul Eggert  <eggert@twinsun.com>
96224
96225         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
96226         not silently exit merely because the output buffer happens to
96227         have nothing pending.
96228
96229 2001-12-18  Paul Eggert  <eggert@twinsun.com>
96230
96231         See the big note in ../ChangeLog.
96232         * lib/human.c (suffixes): Prefer K to k for 1024.
96233         (generate_suffix_backwards): New function.
96234         (human_readable_inexact): Use it.
96235         * lib/xstrtol.c (__xstrtol): If there is no number but there
96236         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
96237         Accept 'K' as well as 'k'.
96238
96239 2001-12-15  Jim Meyering  <meyering@lucent.com>
96240
96241         * lib/regex.h (__restrict_arr): Update from libc.
96242
96243         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
96244         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
96245         (STREQ): Define.
96246
96247 2001-12-14  Jim Meyering  <meyering@lucent.com>
96248
96249         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
96250         Suggestion from Bruno Haible.
96251
96252 2001-12-10  Jim Meyering  <meyering@lucent.com>
96253
96254         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
96255         xrealloc, Instead, include "xalloc.h".
96256         (initbuffer): Don't cast xmalloc return value to char*.
96257         (readline): Reword comment.
96258         Don't cast xrealloc return value to char*
96259         Return NULL, not 0.
96260
96261 2001-12-09  Jim Meyering  <meyering@lucent.com>
96262
96263         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
96264         about `signed and unsigned type in conditional expression'.
96265         * lib/posixtm.c (posix_time_parse): Likewise.
96266
96267         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
96268
96269         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
96270         to avoid a pedantic warning.
96271
96272         * lib/getstr.c: Don't include assert.h.
96273         (getstr): Remove warning-evoking assertions.
96274         Return -1 if offset parameter is out of bounds.
96275         Change the type of a local from int to size_t.
96276
96277         * lib/strftime.c (my_strftime_localtime_r): Include this function
96278         definition in the `#if ! HAVE_TM_GMTOFF' block.
96279
96280         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
96281         Include xalloc.h instead.
96282
96283 2001-12-02  Jim Meyering  <meyering@lucent.com>
96284
96285         * lib/tempname.c: Don't declare getenv, thus reverting the change of
96286         2001-11-18.  It's no longer necessary, now that stdlib.h is always
96287         included.
96288
96289         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
96290         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
96291
96292 2001-11-30  Akim Demaille  <akim@epita.fr>
96293
96294         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
96295         before being defined.
96296
96297 2001-11-27  Paul Eggert  <eggert@twinsun.com>
96298
96299         * lib/quotearg.h (quotearg_n, quotearg_n_style):
96300         First arg is int, not unsigned.
96301         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
96302         (SIZE_MAX, UINT_MAX): New macros.
96303         (quotearg_n_options): Abort if N is negative.
96304         Avoid overflow check on hosts where size_t is 64 bits and int
96305         is 32 bits, as overflow is impossible there.
96306         Fix off-by-one typo that caused unnecessary reallocation.
96307
96308 2001-11-27  Jim Meyering  <meyering@lucent.com>
96309
96310         * lib/tempname.c: Merge with version from libc.
96311         * lib/regex.c: Likewise.
96312
96313         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
96314         systems for which STDC_HEADERS is 0, it was not included, resulting in
96315         a warning about an integer-to-pointer conversion problem with getenv.
96316         Reported by Volker Borchert.
96317
96318 2001-11-26  Jim Meyering  <meyering@lucent.com>
96319
96320         * lib/gtod.h: Remove file.
96321         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
96322         * lib/gettimeofday.c: Don't include gtod.h.
96323         (GTOD_init): Remove function.
96324         (rpl_gettimeofday): Do its job here instead, rather than aborting.
96325         Suggestion from Volker Borchert.
96326
96327 2001-11-23  Jim Meyering  <meyering@lucent.com>
96328
96329         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
96330         it.
96331         * lib/hash.c (struct hash_table): Define it here instead.
96332
96333 2001-11-22  Jim Meyering  <meyering@lucent.com>
96334
96335         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
96336
96337 2001-11-20  Jim Meyering  <meyering@lucent.com>
96338
96339         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
96340         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
96341
96342 2001-11-19  Jim Meyering  <meyering@lucent.com>
96343
96344         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
96345         directory.  Use "conftestXXXXXX" as the template.
96346         Suggestion from Paul Eggert.
96347
96348         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
96349         immediately, so the test doesn't mistakenly hit the max-open-files
96350         limit.
96351
96352 2001-11-18  Paul Eggert  <eggert@twinsun.com>
96353
96354         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
96355         (TEMPORARIES): New macro.
96356         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
96357         removes an artificial limitation (e.g. HP-UX 10.20, where
96358         TMP_MAX is 17576).
96359
96360 2001-11-18  Jim Meyering  <meyering@lucent.com>
96361
96362         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
96363
96364 2001-11-18  Jim Meyering  <meyering@lucent.com>
96365
96366         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
96367         on SunOS 4.
96368
96369         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
96370         files will be created before anything else.
96371
96372 2001-11-17  Paul Eggert  <eggert@twinsun.com>
96373
96374         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
96375         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
96376
96377 2001-11-17  Jim Meyering  <meyering@lucent.com>
96378
96379         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
96380         Prompted by a report from Bob Proulx.
96381
96382         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
96383         Instead, require UTILS_FUNC_MKSTEMP.
96384
96385 2001-11-17  Jim Meyering  <meyering@lucent.com>
96386
96387         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
96388         Now, that's done as part of AC_FUNC_STRTOD.
96389
96390 2001-11-17  Jim Meyering  <meyering@lucent.com>
96391
96392         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
96393         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
96394         rather than group writable.  Patch by Juan F. Codagnone.
96395
96396         * lib/readtokens.c: Remove explicit declarations of xmalloc and
96397         xrealloc, Instead, include "xalloc.h".
96398
96399         * lib/mountlist.c: Include unlocked-io.h after all system headers.
96400         Remove explicit declarations of xmalloc, xrealloc,
96401         and xstrdup.  Instead, include "xalloc.h".
96402
96403         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
96404         unlocked-io.h.
96405         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
96406         Likewise.
96407         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
96408
96409         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
96410         Reported by Padraig Brady.
96411
96412         * lib/mkstemp.c: #undef mkstemp.
96413         Include config.h.
96414         (rpl_mkstemp): Rename from mkstemp.
96415         Protoize.
96416
96417 2001-11-16  Jim Meyering  <meyering@lucent.com>
96418
96419         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
96420         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
96421         determine the amount of total physical memory, use pstat_getstatic.
96422         HPUX-11 doesn't define _SC_PHYS_PAGES.
96423         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
96424         If sysconf couldn't be used to determine the amount of available
96425         physical memory, use both pstat_getstatic and pstat_getdynamic.
96426         Based on a patch from Bob Proulx.
96427
96428 2001-11-10  Jim Meyering  <meyering@lucent.com>
96429
96430         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
96431         (jm_PREREQ): Use it.
96432
96433 2001-11-09  Jim Meyering  <meyering@lucent.com>
96434
96435         * m4/jm-macros.m4: Require autoconf-2.52f.
96436         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
96437         Use these AC_-prefixed names, not the AM_-prefixed ones.
96438
96439         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
96440
96441 2001-11-05  Jim Meyering  <meyering@lucent.com>
96442
96443         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
96444
96445 2001-11-04  Jim Meyering  <meyering@lucent.com>
96446
96447         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
96448         $DEFS.
96449
96450 2001-11-03  Jim Meyering  <meyering@lucent.com>
96451
96452         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
96453         of AC_DEFUN.
96454
96455         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
96456         know the name of the variable in the macro definition.
96457
96458 2001-11-03  Jim Meyering  <meyering@lucent.com>
96459
96460         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
96461         in argmatch_to_argument call.
96462
96463         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
96464         argument.
96465
96466         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
96467         e.g., a fault due to an attempt to free a NULL pointer.
96468
96469 2001-11-01  Jim Meyering  <meyering@lucent.com>
96470
96471         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
96472         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
96473
96474 2001-11-01  Jim Meyering  <meyering@lucent.com>
96475
96476         * lib/dirfd.c, lib/dirfd.h: New files.
96477         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
96478
96479         * lib/hash.c (hash_print) [TESTING]: Clean up.
96480
96481 2001-10-22  Paul Eggert  <eggert@twinsun.com>
96482
96483         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
96484         to avoid a warning if -Wall.
96485
96486 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
96487
96488         * README: New file
96489         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
96490         (per RMS's instructions, this is now the canonical source)
96491         * lgpl/, gpl/: New directories.
96492
96493 2001-10-21  Paul Eggert  <eggert@twinsun.com>
96494
96495         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
96496
96497 2001-10-21  Jim Meyering  <meyering@lucent.com>
96498
96499         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
96500         this code would end up calling gettext even in packages built
96501         with --disable-nls.
96502         * lib/getopt.c (_): Likewise.
96503         * lib/regex.c (_): Likewise.
96504
96505 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96506
96507         * m4/error.m4 (jm_PREREQ_ERROR):
96508         Do not invoke AC_CHECK_FUNCS with strerror_r, as
96509         AC_FUNC_STRERROR_R does that.
96510         Check for strerror declaration.
96511
96512         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
96513         are supposed to have them these days.
96514         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
96515         Merge changes from latest Autoconf CVS.
96516         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
96517         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
96518         POSIX decided to standardize on the int flavor of strerror_r.
96519
96520 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96521
96522         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
96523         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
96524         Use strerror_r that is only a macro, even if it is not a function.
96525         (strerror): Check for HAVE_DECL_STRERROR before declaring.
96526         (private_strerror): Use prototypes, not old-style function definition.
96527         (print_errno_message): New function.
96528         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
96529         char*-flavored one.
96530         (error_tail, error, error_at_line): Use it.
96531
96532 2001-10-11  Jim Meyering  <meyering@lucent.com>
96533
96534         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
96535         and quote_n (1, ... to avoid clobbering a buffer.
96536
96537 2001-10-05  Jim Meyering  <meyering@lucent.com>
96538
96539         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
96540         hash-pjw.h.
96541         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
96542         * lib/hash-pjw.h: New file.
96543
96544 2001-09-30  Jim Meyering  <meyering@lucent.com>
96545
96546         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
96547         `struct fsstat' has the `f_fstypename' member.
96548         Use that to define FS_TYPE, which is now used to make
96549         the getfsstat link test tighter.
96550
96551 2001-09-30  Jim Meyering  <meyering@lucent.com>
96552
96553         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
96554         Include <sys/ucred.h>, for Apple Darwin.
96555         Include sys/mount.h and sys/fs_types.h only if available.
96556         (FS_TYPE): Define.
96557         (read_filesystem_list): Use FS_TYPE.
96558
96559 2001-09-29  Paul Eggert  <eggert@twinsun.com>
96560
96561         * lib/exclude.c (excluded_filename): 0 -> false, since it's
96562         a boolean context.
96563
96564 2001-09-29  Jim Meyering  <meyering@lucent.com>
96565
96566         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96567         [one-argument getmntent function]): Include stdio.h before mntent.h.
96568         SunOS 4.1.x needs it for the declaration of `FILE'.
96569         Patch by Volker Borchert.
96570
96571         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96572         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
96573         sys/fs_types.h, and make the link-test for getfsstat guard #include
96574         directives with appropriate #if HAVE_*_H tests so that we can
96575         detect getfsstat on Apple Darwin1.3.7 systems.
96576         Reported by Nelson Beebe.
96577         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
96578
96579 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96580
96581         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96582         #defines strtoimax.  Also treat the other strto* functions
96583         like strtoimax.
96584
96585         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96586         Check for strtoul and strtoumax,
96587         as those declarations are made even in the signed case.
96588         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
96589         Likewise, for strtol and strtoimax.
96590
96591 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96592
96593         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96594         #defines strtoimax.  Also treat the other strto* functions
96595         like strtoimax.
96596
96597         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
96598         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
96599         (strtoimax, strtoumax): Do not declare if already defined as a macro.
96600
96601 2001-09-26  Jim Meyering  <meyering@lucent.com>
96602
96603         Most macros in unlocked-io.h had the wrong number of arguments.
96604         * lib/gen-uio: New script.
96605         (USE_UNLOCKED_IO): Define to 1 if not already defined.
96606         * lib/unlocked-io.hin: Remove file.
96607         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
96608         rather than trying to embed it here.
96609         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
96610         Reported by Padraig Brady.
96611
96612 2001-09-25  Volker Borchert  <bt@teknon.de>
96613
96614         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
96615         `result'.
96616
96617 2001-09-24  Jim Meyering  <meyering@lucent.com>
96618
96619         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
96620
96621 2001-09-23  Jim Meyering  <meyering@lucent.com>
96622
96623         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
96624         instead of the mere test for existence of mntent.h.  The latter
96625         would get a false-positive on AIX 3.4 systems.
96626         In the outer getmntent if-block, don't die if neither of the getmntent
96627         tests succeeds.  Instead, just fall through and continue with the
96628         remaining tests.
96629
96630 2001-09-23  Jim Meyering  <meyering@lucent.com>
96631
96632         * lib/mountlist.c: Remove useless parentheses in #if directives.
96633         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
96634         the deprecated MOUNTED symbol is no longer defined in mntent.h.
96635
96636 2001-09-22  Jim Meyering  <meyering@lucent.com>
96637
96638         * m4/gettext.m4: New file.  From gettext.
96639         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
96640         * m4/progtest.m4: Likewise
96641         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
96642         * m4/glibc21.m4: Likewise.
96643
96644         * m4/libintl.m4: Remove.  No longer used.
96645
96646 2001-09-22  Jim Meyering  <meyering@lucent.com>
96647
96648         * lib/localcharset.c: Update from latest gettext.
96649         * lib/config.charset: Likewise.
96650
96651 2001-09-20  Jim Meyering  <meyering@lucent.com>
96652
96653         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
96654         strtoimax.
96655         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
96656         strtoumax.
96657
96658 2001-09-20  Jim Meyering  <meyering@lucent.com>
96659
96660         * lib/xstrtol.c (strtoimax): Guard declaration with
96661         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
96662         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
96663         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
96664         (strtoumax): Likewise, for completeness (it wasn't necessary).
96665
96666 2001-09-17  Paul Eggert  <eggert@twinsun.com>
96667
96668         * lib/strtoimax.c (HAVE_LONG_LONG):
96669         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
96670         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
96671         to work around bug in IBM C compiler.
96672
96673 2001-09-17  Jim Meyering  <meyering@lucent.com>
96674
96675         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
96676         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
96677         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
96678         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
96679         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
96680         whenever the right hand side need not be expanded by the shell.
96681
96682 2001-09-16  Paul Eggert  <eggert@twinsun.com>
96683
96684         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
96685         library.  It's not correct, as some older glibcs are buggy.
96686         fnmatch wasn't fixed until glibc 2.2.
96687
96688         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
96689         special shell magic here.
96690
96691 2001-09-16  Jim Meyering  <meyering@lucent.com>
96692
96693         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
96694         * m4/jm-macros.m4: Require it.
96695
96696 2001-09-16  Jim Meyering  <meyering@lucent.com>
96697
96698         * lib/mkdir.c: New file.
96699
96700 2001-09-15  Jim Meyering  <meyering@lucent.com>
96701
96702         * m4/jm-macros.m4: Check for help2man.
96703
96704 2001-09-11  Jim Meyering  <meyering@lucent.com>
96705
96706         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
96707         The body, by Paul Eggert, was moved here from configure.in.
96708         * m4/jm-macros.m4: Require UTILS_HOST_OS.
96709
96710 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96711
96712         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
96713         (jm_PREREQ): Use it.
96714
96715 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96716
96717         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
96718         Use ssize_t, not int, to store result of readlink.
96719         Check for ssize_t overflow as well as size_t overflow,
96720         as POSIX says the result of readlink is implementation-defined
96721         when ssize_t overflows.
96722         Remove unnecessary cast to char*.
96723         Use free+malloc instead of realloc, as the storage doesn't need
96724         to be preserved and it's clearer and can be more efficient that way.
96725         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
96726         * lib/xreadlink.h (xreadlink): Update prototype.
96727
96728 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96729
96730         * lib/xgetcwd.c: Revert some of the previous change; intead,
96731         fix the HAVE_GETCWD_NULL code to behave more like the
96732         !HAVE_GETCWD_NULL code used to.
96733
96734         Include "xalloc.h".
96735         (xgetcwd): Do not return NULL when memory is exhausted; instead,
96736         invoke xalloc_die.
96737
96738 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96739
96740         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
96741         sys/param.h, as pathmax.h includes them.
96742
96743 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96744
96745         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
96746         (jm_PREREQ_XGETCWD): New macro.
96747
96748         * m4/getcwd.m4: New file.
96749
96750 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96751
96752         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
96753         like the HAVE_GETCWD_NULL code.
96754         Include pathmax.h if not HAVE_GETCWD.
96755         Do not include xalloc.h.
96756         (INITIAL_BUFFER_SIZE): New symbol.
96757         Do not use xmalloc / xrealloc, since the caller is responsible for
96758         handling errors.  Preserve errno around `free' during failure.
96759         Do not overrun buffer when using getwd.
96760
96761 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96762
96763         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
96764         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
96765         getcwd (NULL, 0).
96766
96767 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96768
96769         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
96770         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
96771         spotted by Jim Meyering.
96772
96773 2001-09-03  Jim Meyering  <meyering@lucent.com>
96774
96775         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
96776         failure.
96777
96778 2001-09-02  Jim Meyering  <meyering@lucent.com>
96779
96780         * lib/error.c: Update from GNU libc.
96781
96782 2001-09-01  Jim Meyering  <meyering@lucent.com>
96783
96784         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
96785         Used by df.
96786
96787 2001-09-01  Jim Meyering  <meyering@lucent.com>
96788
96789         * lib/xreadlink.c: New file.
96790         * lib/xreadlink.h: New file.
96791         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
96792         xreadlink.h.
96793
96794         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
96795         doesn't conflict with sparc Solaris 7's definition in
96796         /usr/include/sys/int_types.h.
96797
96798         * lib/exclude.c: Use `""', not `<>' to #include non-system header
96799         files.
96800         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
96801         and strncasecmp as r-values.  Unixware didn't have declarations.
96802
96803 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96804
96805         * lib/xstrtol.h: Add copyright notice.
96806         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
96807         LONGINT_INVALID_SUFFIX_CHAR.
96808
96809 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96810
96811         * lib/xstrtol.c (strtoimax): New decl.
96812
96813 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96814
96815         * lib/xgetcwd.c: Don't include pathmax.h.
96816         Include stdlib.h and unistd.h if available.
96817         Include xalloc.h.
96818         (xmalloc, xstrdup, free): Remove decls.
96819         (xgetcwd): Don't assume sizes fit in unsigned.
96820         Check for overflow when computing sizes.
96821         Simplify reallocation code.
96822
96823 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96824
96825         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
96826         a directory's st_size can have an arbitrary value, so the old
96827         usage could waste an arbitrary amount of memory.  All uses
96828         changed.
96829         * lib/savedir.h: Update prototype.
96830
96831 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96832
96833         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
96834
96835         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
96836         old strtoimax.c.
96837
96838         Also, make the following further changes to make this file's
96839         configuration more similar to that of strtol.c:
96840         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
96841         (strtoumax, uintmax_t, strtoull, strtol): Remove.
96842         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
96843         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
96844         changed to signed values.
96845
96846         And make the following changes as well:
96847         Fix copyright notice, as 1999 was missing.
96848         (verify): New macro.
96849         (strtoimax): Check sizes at compile-time, not run-time.
96850         Prefer strtol to strtoll if both work.
96851         (main): Remove; it was not that useful and was a pain to maintain.
96852
96853         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
96854
96855 2001-08-31  Jim Meyering  <meyering@lucent.com>
96856
96857         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
96858         Use an initial, malloc'd, buffer of length 128 rather than
96859         a statically allocated one of length 1024.
96860
96861 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96862
96863         Simplify code, partly by assuming autoconf 2.52 semantics.
96864
96865         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
96866
96867         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
96868         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
96869         All uses removed.
96870         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
96871         Move AC_REQUIRE to next-to-top level, to avoid confusion.
96872         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
96873         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
96874         jm_AC_HEADER_INTTYPES_H.
96875         * m4/jm-macros.m4 (jm_MACROS): Likewise.
96876
96877         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
96878
96879         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96880         Quote first arg of AC_DEFUN.
96881         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
96882         since they are needed to parse the include file even if we need
96883         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
96884         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
96885         but with opposite signedness.
96886
96887 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96888
96889         Merge 'exclude' changes from tar 1.13.22.
96890         This fixes one or two unlikely storage allocation overflow bugs,
96891         but doesn't change user-visible behavior otherwise.
96892
96893 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96894
96895         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
96896         (jm_PREREQ_EXCLUDE): New macro.
96897
96898 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96899
96900         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
96901         tm to be declared.
96902
96903 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96904
96905         * lib/hash.c: Remove '2001' from copyright notice.
96906
96907 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96908
96909         * lib/full-write.h: New file.
96910         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
96911         * lib/full-write.c: Correct credits, as cccp.c no longer
96912         exists and anyway it was so heavily changed from the old cccp
96913         code as to be unrecognizable.  Include full-write.h.
96914         (full_write): Return size_t, with short writes meaning failure.
96915         All callers changed.  This fixes a bug with large buffers
96916         on 64-bit hosts.
96917         * lib/utime.c: Include full-write.h.
96918
96919 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96920
96921         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
96922         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
96923         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
96924         Include if available.
96925         (<xalloc.h>): Include
96926         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
96927         (verify): New macro.  Use it to verify that EXCLUDE macros do not
96928         collide with FNM macros.
96929         (struct patopts): New struct.
96930         (struct exclude): Use it, as exclude patterns now come with options.
96931         (new_exclude): Support above changes.
96932         (new_exclude, add_exclude_file):
96933         Initial size must now be a power of two to simplify overflow checking.
96934         (free_exclude, fnmatch_no_wildcards): New function.
96935         (excluded_filename): No longer requires options arg, as the options
96936         are determined by add_exclude.  Now returns bool, not int.
96937         (excluded_filename, add_exclude):
96938         Add support for the fancy new exclusion options.
96939         (add_exclude, add_exclude_file): Now takes int options arg.
96940         Check for arithmetic overflow when computing sizes.
96941         (add_exclude_file): xrealloc might modify errno, so don't
96942         realloc until after errno might be used.
96943
96944         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
96945         New macros.
96946         (free_exclude): New decl.
96947         (add_exclude, add_exclude_file): Now takes int options arg.
96948         (excluded_filename): No longer requires options arg, as the options
96949         are determined by add_exclude.  Now returns bool, not int.
96950
96951 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96952
96953         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
96954
96955 2001-08-27  Jim Meyering  <meyering@lucent.com>
96956
96957         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
96958
96959         * lib/version-etc.c (N_): Remove definition.
96960         Revert most of last change.
96961         Instead, simply don't mark the `Copyright...' string for translation.
96962         Based on advice from Paul Eggert.
96963
96964         * lib/strtoxmax.c: Tweak comment.
96965
96966 2001-08-26  Jim Meyering  <meyering@lucent.com>
96967
96968         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
96969
96970         * m4/xstrtoimax.m4: New file.
96971         * m4/xstrtoumax.m4: Add comments explaining why we
96972         AC_REPLACE_FUNCS(strtol).
96973
96974 2001-08-26  Jim Meyering  <meyering@lucent.com>
96975
96976         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
96977         of copyright with `%s' so translators don't get an untranslated
96978         message in 2002.
96979         (COPYRIGHT_YEAR): Define.
96980         (version_etc): Use fprintf rather than fputs.
96981         Suggestion from Ulrich Drepper.
96982
96983         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
96984
96985         * lib/strtoll.c: New file, from GNU libc.
96986         * lib/xstrtoimax.c: New file.
96987
96988         * lib/xstrtol.h: Add xstrtoimax.
96989         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
96990         * lib/strtoimax.c: New file.  Likewise, but first define
96991         STRTOUXMAX_SIGNED.
96992
96993         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
96994         ...
96995         * lib/strtoxmax.c: ... then renamed to this.
96996
96997 2001-08-18  Paul Eggert  <eggert@twinsun.com>
96998
96999         * m4/inttypes.m4: Add AC_PREREQ(2.13).
97000         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
97001         (jm_AC_TYPE_INTMAX_T): New macro.
97002         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
97003
97004         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
97005
97006         * m4/longlong.m4: Renamed from ulonglong.m4.
97007         * m4/inttypes.m4: Renamed from inttypes_h.m4.
97008         * m4/uintmax_t.m4: Removed.
97009
97010 2001-08-13  Paul Eggert  <eggert@twinsun.com>
97011
97012         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
97013         Port to Solaris 8, where 'sed' requires a space after the 'r'
97014         command, and where sh dislikes "$/".  Clean up the spacing a bit.
97015         Redirect output to $tmp just once.
97016
97017 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
97018
97019         * lib/addext.c (<errno.h>): Include.
97020         (errno): Declare if not defined.
97021         (addext): Work correctly when pathconf returns -1 and leaves
97022         errno alone because there is no limit.  Also, work even if
97023         pathconf returns a value greater than SIZE_MAX.
97024
97025 2001-08-12  Jim Meyering  <meyering@lucent.com>
97026
97027         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
97028         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
97029         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
97030         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
97031         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
97032         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
97033         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
97034         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
97035         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
97036         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
97037         utime.m4, utimes.m4, xstrtoumax.m4:
97038         Quote the first argument in each use of AC_DEFUN.
97039
97040 2001-08-12  Jim Meyering  <meyering@lucent.com>
97041
97042         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
97043         Simply `return getcwd (NULL, 0);'.
97044         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
97045         Use 1300 as initial value for length, not PATH_MAX.
97046
97047         * lib/pathmax.h: Clean up cpp syntax.
97048
97049 2001-08-12  Jim Meyering  <meyering@lucent.com>
97050
97051         * lib/gettimeofday.c: New file.
97052         * lib/gtod.h: New file.
97053         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
97054
97055 2001-08-05  Jim Meyering  <meyering@lucent.com>
97056
97057         * m4/jm-macros.m4: Require autoconf-2.52.
97058
97059 2001-08-04  Jim Meyering  <meyering@lucent.com>
97060
97061         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
97062         stmt, to get in sync with glibc.
97063
97064 2001-08-03  Paul Eggert  <eggert@twinsun.com>
97065
97066         The following changes are from gettext 0.10.39 as maintained by
97067         Bruno Haible.
97068
97069         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
97070         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
97071         with inverted sense.  All uses changed.
97072
97073         * lib/mbswidth.c: Don't include <limits.h>.
97074         Include <stdlib.h> and <string.h> unconditionally.
97075         (iswcntrl, mbsinit, ISCNTRL): New macros.
97076         (mbsnwidth): Use K&R style function declarations.
97077         Don't bother checking for MB_LEN_MAX == 1, since the compiler
97078         can optimize it when MB_CUR_MAX == 1.
97079         The width of control characters is zero, not 1.
97080
97081 2001-08-03  Paul Eggert  <eggert@twinsun.com>
97082
97083         The following changes are from gettext 0.10.39 as maintained by
97084         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
97085
97086         * m4/codeset.m4: Upgrade to serial AM1.
97087         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
97088         all uses changed.  Quote first arg of AC_DEFUN.
97089         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
97090
97091         * m4/iconv.m4: Upgrade to serial AM2.
97092         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
97093         Add --with-libconv-prefix.
97094         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
97095         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
97096         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
97097         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
97098         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
97099
97100         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
97101         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
97102         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
97103         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
97104         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
97105         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
97106         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
97107         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
97108         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
97109
97110         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
97111         string.h any more.
97112
97113         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
97114         not the default value.
97115
97116         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
97117         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
97118         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
97119         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
97120         Also check for iswcntrl, used for wcwidth fallback.
97121         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
97122         to Autoconf 2.13.
97123
97124 2001-08-03  Jim Meyering  <meyering@lucent.com>
97125
97126         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
97127         as it was in the original.  Reported by Paul Eggert.
97128
97129 2001-07-16  Jim Meyering  <meyering@lucent.com>
97130
97131         * m4/gettimeofday.m4: New file.
97132         Prompted by a report from Bernhard Baehr.
97133
97134 2001-07-15  Jim Meyering  <meyering@lucent.com>
97135
97136         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
97137         stuff. Now it's in ../Makefile.cfg.
97138
97139 2001-07-15  Jim Meyering  <meyering@lucent.com>
97140
97141         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
97142         (BUILT_SOURCES): Add unlocked-io.h.
97143         (io_functions): Define.
97144         (unlocked-io.h): New rule.
97145         (DISTCLEANFILES): Add unlocked-io.h.
97146         (all-local): Depend on unlocked-io.h, to ensure it is created.
97147
97148         * lib/unlocked-io.hin: New file
97149
97150         * lib/regex.c: Update from glibc.
97151
97152 2001-07-05  Jim Meyering  <meyering@lucent.com>
97153
97154         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
97155         recommendation.
97156         (libfetish_a_SOURCES): Put all .h files here instead.
97157         Remove a thus-exposed (better checks in automake) duplicate and
97158         two unnecessary .h files.
97159
97160 2001-07-04  Jim Meyering  <meyering@lucent.com>
97161
97162         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
97163         that generates jm-glibc-io.m4 so that it doesn't trigger any make
97164         distcheck failure.
97165
97166 2001-07-02  Jim Meyering  <meyering@lucent.com>
97167
97168         The following changes were prompted by suggestions from Bruno Haible.
97169
97170         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
97171         is now generated.
97172         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
97173         definition of EXTRA_DIST.
97174         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
97175         ensure that the generated file is created/updated whenever the list
97176         of $(unlocked_functions) is changed.
97177         (jm-glibc-io.m4): New rule.
97178         (unlocked-io.h): New rule -- currently unused.
97179
97180 2001-06-24  Jim Meyering  <meyering@lucent.com>
97181
97182         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
97183         unmatched right bracket, rather than kludging it with an extra,
97184         falsely-matching quote in a comment.  Patch by Akim Demaille.
97185
97186 2001-06-11  Jim Meyering  <meyering@lucent.com>
97187
97188         * lib/regex.c: Update from GNU libc.
97189
97190 2001-05-27  Jim Meyering  <meyering@lucent.com>
97191
97192         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
97193         Check for ut_type in struct utmp.
97194
97195 2001-05-27  Jim Meyering  <meyering@lucent.com>
97196
97197         * lib/readutmp.h (UT_TYPE): Define.
97198
97199 2001-05-24  Jim Meyering  <meyering@lucent.com>
97200
97201         * lib/argmatch.c: Include "quote.h".
97202         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
97203         quote function.  Reported by Göran Uddeborg.
97204
97205 2001-05-22  Jim Meyering  <meyering@lucent.com>
97206
97207         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
97208         now that we use the package-supplied version unconditionally.
97209         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
97210
97211 2001-05-21  Jim Meyering  <meyering@lucent.com>
97212
97213         * m4/regex.m4: Change a couple backticks to single quotes to avoid
97214         shell syntax errors.
97215
97216 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
97217
97218         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
97219
97220 2001-05-20  Paul Eggert  <eggert@twinsun.com>
97221
97222         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
97223         Don't bother to check library strftime, since
97224         we'll be using our own my_strftime function anyway.
97225         Define my_strftime instead of strftime.
97226
97227 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
97228
97229         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
97230         which is not yet declared.
97231
97232 2001-05-15  Jim Meyering  <meyering@lucent.com>
97233
97234         * m4/regex.m4: Use proper quoting so brackets appear in the test
97235         program.
97236         Reported by, and with help from, Bruno Haible.
97237
97238 2001-05-13  Jim Meyering  <meyering@lucent.com>
97239
97240         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
97241         undefined.
97242
97243 2001-05-11  Paul Eggert  <eggert@twinsun.com>
97244
97245         dirname code cleanup.  base_name now behaves more compatibly
97246         with POSIX basename when given file names that have trailing
97247         slashes, and similarly for dir_name.  Add new primitives
97248         base_len and dir_len.  Put the directory-name-related decls
97249         into dirname.h.
97250
97251         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
97252         * lib/backupfile.c (base_name): Likewise.
97253         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
97254         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
97255         * lib/makepath.c (strip_trailing_slashes): Likewise.
97256         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
97257         ISSLASH): Likewise.
97258         * lib/rename.c (strip_trailing_slashes): Likewise.
97259         * lib/same.c (base_name): Likewise.
97260         * lib/stripslash.c (ISSLASH): Likewise.
97261
97262         * lib/addext.c: Include <dirname.h> after size_t is defined.
97263         * lib/backupfile.c: Likewise.
97264
97265         * lib/addext.c (addext): Use base_len to trim redundant
97266         trailing slashes instead of doing it ourselves.
97267         But do not trim the last slash if it is not redundant.
97268
97269         * lib/backupfile.c (find_backup_file_name,
97270         max_backup_version): Use base_len instead of rolling it ourselves.
97271         Handle the case of "" and (on DOS) "C:" correctly.
97272
97273         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
97274         needed. Include <string.h>, <dirname.h>.
97275         (base_name): Allow file names ending in slashes, other than names
97276         that are all slashes.  In this case, return the basename followed
97277         by the slashes.  This is more general, and can be used in places
97278         where the original base_name purposely had an assertion failure.
97279         (base_len): New function.
97280
97281         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
97282         Do not include <assert.h>; no longer needed.
97283         Include xalloc.h.
97284         (memrchr): Remove decl.
97285         (dir_name_r): Remove.
97286         (dir_len): Renamed from dirlen.  All callers changed.
97287         Rewrite in terms of base_name, for simplicity and consistency.
97288         (dir_name): Never return NULL.  All callers changed.
97289         Do not include <stdlib.h> in test program; no longer needed.
97290         return 0; is fine for test program.
97291
97292         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
97293         New macros.
97294         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
97295
97296         * lib/path-concat.c (path_concat): Use base_len to compute
97297         base length, not strlen; this means we cannot rely on memcpy
97298         to null-terminate.
97299
97300         * lib/same.c (STREQ): Remove.
97301         (same_name): Handle the case where the basename ends in trailing '/'.
97302
97303         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
97304         a slash was stripped.  Do not strip the last slash after a
97305         file system prefix.
97306
97307 2001-05-11  Paul Eggert  <eggert@twinsun.com>
97308
97309         * lib/Makefile.am (libfetish_a_SOURCES):
97310         Add strftime.c, since we now compile it on all hosts.
97311
97312         * lib/strftime.c (my_strftime):
97313         Define to nstrftime if emacs, but only if my_strftime is not defined.
97314         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
97315         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
97316         Add one more extra argument: a nanoseconds value.
97317         All uses changed.
97318         (ns): New macro.
97319         (my_strftime function): Add %N format.
97320         (emacs_strftimeu): Renamed from emacs_strftime,
97321         with extra ut argument.
97322
97323 2001-05-09  Paul Eggert  <eggert@twinsun.com>
97324
97325         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
97326
97327 2001-04-21  Jim Meyering  <meyering@lucent.com>
97328
97329         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
97330         doesn't interfere.
97331
97332 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
97333
97334         * m4/ftruncate.m4: Check for chsize.
97335         Link with ftruncate.o unconditionally if ftruncate is missing.
97336         This was required when cross-compiling to i586-mingw32msvc.
97337
97338 2001-04-08  Jim Meyering  <meyering@lucent.com>
97339
97340         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
97341         recomputed; that's necessary when the offset spans a DST transition.
97342         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
97343
97344 2001-04-02  Jim Meyering  <meyering@lucent.com>
97345
97346         * lib/regex.h, regex.c: Update from GNU libc.
97347
97348 2001-03-24  Jim Meyering  <meyering@lucent.com>
97349
97350         * m4/jm-macros.m4: Require autoconf-2.49d.
97351
97352 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
97353
97354         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
97355
97356 2001-03-19  Paul Eggert  <eggert@twinsun.com>
97357
97358         * lib/version-etc.c (version_etc_copyright): Update to 2001.
97359
97360 2001-03-17  Jim Meyering  <meyering@lucent.com>
97361
97362         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
97363         now that the version in autoconf is equivalent.
97364         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
97365
97366         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
97367         Suggestion from Akim Demaille.
97368
97369         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
97370         (jm_PREREQ_TEMPNAME): New function.
97371
97372 2001-03-16  Paul Eggert  <eggert@twinsun.com>
97373
97374         * lib/tempname.c (uint64_t): Define to uintmax_t if
97375         not defined, and if UINT64_MAX is not defined.
97376         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
97377         Reported by John David Anglin.
97378
97379 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
97380
97381         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
97382         resolve alias if codeset is empty.
97383         * lib/config.charset (BeOS): Use wildcard syntax.
97384
97385 2001-03-13  Jim Meyering  <meyering@lucent.com>
97386
97387         * lib/path-concat.c (path_concat)
97388         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
97389         concatenating e.g., `C:' and `foo'.
97390         From Bruno Haible.
97391
97392 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97393
97394         * lib/localcharset.c (locale_charset): Don't use
97395         setlocale(LC_CTYPE,NULL). Don't return NULL.
97396         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
97397
97398 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97399
97400         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
97401         support for DOS/DJGPP.
97402
97403 2001-03-01  Paul Eggert  <eggert@twinsun.com>
97404
97405         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
97406         lacks mkstemp.  Compile our own tempname.c if we compile our own
97407         mkstemp.c, as mkstemp relies on tempname.
97408
97409 2001-03-01  Jim Meyering  <meyering@lucent.com>
97410
97411         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
97412         AH_VERBATIM really does output its argument verbatim.
97413
97414 2001-02-28  Paul Eggert  <eggert@twinsun.com>
97415
97416         * lib/Makefile.am (libfetish_a_SOURCES):
97417         Add dup-safer.c, fopen-safer.c.
97418         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
97419
97420         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
97421         * lib/unistd-safer.h: New files.
97422
97423 2001-02-25  Paul Eggert  <eggert@twinsun.com>
97424
97425         The mkstemp replacement is taken from glibc 2.2.2, with some
97426         portability fixes for use outside glibc, as follows:
97427
97428         * lib/tempname.c (struct_stat64): New macro.
97429         (direxists, __gen_tempname): Use it.
97430         This avoids a portability problem with Solaris 8.
97431
97432         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
97433         (<stddef.h>, <stdint.h>, <string.h>):
97434         Include only if STDC_HEADERS || _LIBC.
97435         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
97436         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
97437         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
97438         (__set_errno): Define this macro if <errno.h> doesn't.
97439         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
97440         Define these macros if <stdio.h> doesn't.
97441         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
97442         Define these macros if <sys/stat.h>
97443         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
97444         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
97445         __xstat64): Define if not _LIBC.
97446         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
97447         (__gen_tempname): Invoke gettimeofday only if
97448         HAVE_GETTIMEOFDAY || _LIBC;
97449         otherwise, fall back on plain "time".
97450         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
97451
97452         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
97453
97454         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
97455
97456 2001-02-18  Paul Eggert  <eggert@twinsun.com>
97457
97458         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
97459
97460 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97461
97462         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
97463         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
97464         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
97465         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
97466
97467 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97468
97469         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
97470         Remove workaround macros for hosts that have mbrtowc but not
97471         mbstate_t, as we now insist on proper declarations for both
97472         before using mbrtowc.
97473
97474 2001-02-17  Jim Meyering  <meyering@lucent.com>
97475
97476         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
97477         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
97478         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
97479         UnixWare 7.1.1.
97480
97481         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
97482         rather than AC_CACHE_VAL.
97483
97484 2001-02-17  Jim Meyering  <meyering@lucent.com>
97485
97486         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
97487         around included file name.
97488
97489         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
97490
97491         * lib/strftime.c: Update from GNU libc (the only changes were to
97492         comments).
97493
97494 2001-02-17  Jim Meyering  <meyering@lucent.com>
97495
97496         * lib/regex.c: Update from libc.
97497
97498 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
97499
97500         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
97501         clash.
97502
97503 2001-02-16  Paul Eggert  <eggert@twinsun.com>
97504
97505         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
97506         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
97507         Reported by Mark Hounschell via Paul Eggert.
97508
97509 2001-02-07  Jim Meyering  <meyering@lucent.com>
97510
97511         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
97512
97513 2001-02-05  Jim Meyering  <meyering@lucent.com>
97514
97515         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
97516         it includes the patch required for `large file' support with at least
97517         HP-UX's 10.20 /bin/cc.
97518
97519 2001-02-03  Jim Meyering  <meyering@lucent.com>
97520
97521         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
97522         AS_IF, now that it works once again (mysteriously).
97523         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97524
97525 2001-01-30  Jim Meyering  <meyering@lucent.com>
97526
97527         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
97528         * m4/chown.m4: Rename conftestchown to conftest.chown.
97529         * m4/rename.m4: s/conftestdir/conftest.d1/ and
97530         s/conftestdir2/conftest.d2/.
97531         * m4/utimes.m4: s/conftestdata/conftest.data/
97532         Inspired by Pavel Roskin's change in autoconf.
97533
97534 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
97535
97536         * lib/config.charset: Update for FreeBSD 4.2.
97537
97538 2001-01-27  Jim Meyering  <meyering@lucent.com>
97539
97540         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
97541         a use of AS_IF.
97542         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97543
97544 2001-01-26  Jim Meyering  <meyering@lucent.com>
97545
97546         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
97547         quotearg.c includes it.
97548
97549 2001-01-26  Jim Meyering  <meyering@lucent.com>
97550
97551         * lib/quotearg.c: Include stddef.h.
97552         * lib/quote.c: Include stddef.h.
97553         Reported by Axel Kittenberger.
97554
97555         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
97556         line in double quotes so that it evokes a better diagnostic.
97557         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
97558         Reported by Axel Kittenberger.
97559
97560 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
97561
97562         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
97563         as if it was a `charset'.
97564
97565 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97566
97567         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
97568         has const.
97569
97570 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97571
97572         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
97573         to avoid a warning.  Add back 'const' to inptr.
97574
97575 2001-01-20  Jim Meyering  <meyering@lucent.com>
97576
97577         Be sure that headers are checked before used in code compiled
97578         for the type checks.
97579         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
97580         In place of that, invoke jm_CHECK_ALL_TYPES.
97581         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
97582         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
97583         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
97584         The check for ssize_t was mistakenly run before the test for unistd.h.
97585
97586         The configure-time check for stdbool.h was missing.
97587         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
97588         (jm_PREREQ_HASH): New function.
97589
97590 2001-01-17  Jim Meyering  <meyering@lucent.com>
97591
97592         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
97593         for autoconf-2.49c.
97594         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
97595
97596 2001-01-16  Jim Meyering  <meyering@lucent.com>
97597
97598         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
97599         From Bruno Haible.
97600
97601 2001-01-14  Jim Meyering  <meyering@lucent.com>
97602
97603         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
97604         foo and bar.  Create conftestdir/ in the script, not in the C code.
97605         Remove directories in the script, not in the C code.
97606         Remove conftestdir{,2} before trying to create the directory.
97607         Make the entire configure script fail if the mkdir fails.
97608
97609 2001-01-14  Jim Meyering  <meyering@lucent.com>
97610
97611         * lib/rename.c: New file.  From Volker Borchert.
97612         Include stdlib.h, string.h or strings.h, and xalloc.h.
97613         Use strip_trailing_slashes rather than open-coding it.
97614
97615 2001-01-03  Paul Eggert  <eggert@twinsun.com>
97616
97617         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
97618
97619 2001-01-03  Jim Meyering  <meyering@lucent.com>
97620
97621         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
97622         of local `inptr' to avoid warning with some system declarations of
97623         iconv.
97624
97625 2001-01-02  Volker Borchert  <bt@teknon.de>
97626
97627         * m4/rename.m4: New file.
97628         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
97629
97630 2001-01-01  Jim Meyering  <meyering@lucent.com>
97631
97632         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
97633         even on systems with utmpx.h.  It's necessary for the declaration of
97634         utmp's ut_user member.  Reported by Andreas Jaeger.
97635
97636         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
97637         available. They are required for the declarations of getgrgid and
97638         getpwuid resp.
97639         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
97640         Reported by Andreas Jaeger.
97641
97642 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
97643
97644         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
97645         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
97646         so `make install' also works in VPATH builds.
97647
97648 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
97649
97650         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
97651         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
97652         can be used in subdirectories.
97653
97654 2000-12-29  Paul Eggert  <eggert@twinsun.com>
97655
97656         * lib/modechange.c: Do not assume that mode_t uses the
97657         traditional octal encoding.  E.g. "chmod 1 FOO" should set
97658         the other-execute bit of FOO even if S_IXOTH != 1.
97659
97660         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
97661         WOTH, XOTH, ALLM): New macros.
97662         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
97663          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
97664         Use them.
97665         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
97666         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
97667         (mode_compile):
97668         No need to use uintmax_t; unsigned long is long enough.
97669         Don't bother to get suffix since we don't use it.
97670
97671 2000-12-26  Jim Meyering  <meyering@lucent.com>
97672
97673         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
97674         better with autoheader.
97675
97676 2000-12-24  Jim Meyering  <meyering@lucent.com>
97677
97678         * lib/hash.c (is_prime): Return explicit boolean values.
97679         (hash_get_first): Return NULL to appease Irix5.6's 89.
97680         Reported by Nelson Beebe.
97681
97682 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
97683
97684         * lib/localcharset.c (locale_charset): Add support for Win32.
97685
97686 2000-12-18  Paul Eggert  <eggert@twinsun.com>
97687
97688         * lib/physmem.h, lib/physmem.c: New files.
97689
97690         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
97691         (noinst_HEADERS): Add physmem.h.
97692
97693         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
97694         't' for compatibility with Solaris 8 sort.
97695
97696 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
97697
97698         * lib/config.charset: Add support for BeOS.
97699
97700 2000-12-17  Jim Meyering  <meyering@lucent.com>
97701
97702         * m4/dos.m4 (jm_AC_DOS): New file and macro.
97703         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
97704
97705 2000-12-16  Jim Meyering  <meyering@lucent.com>
97706
97707         This bug had a serious impact on chown: `chown N:M FILE' (for integer
97708         N and M) would have treated it like `chown N:N FILE'.
97709
97710         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
97711
97712 2000-12-16  Jim Meyering  <meyering@lucent.com>
97713
97714         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
97715         SHELLS_FILE to a file name that's useful on djgpp systems.
97716         Include stdlib.h.
97717         (ADDITIONAL_DEFAULT_SHELLS): Define.
97718         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
97719         Based mostly on a patch from Prashant TR.
97720
97721 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
97722
97723         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
97724         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
97725         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
97726
97727 2000-12-08  Andreas Schwab  <schwab@suse.de>
97728
97729         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
97730         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
97731
97732 2000-12-07  Jim Meyering  <meyering@lucent.com>
97733
97734         * lib/stripslash.c (ISSLASH): Define.
97735         (strip_trailing_slashes): Use ISSLASH rather than comparing against
97736         `/'.
97737         From Prashant TR.
97738
97739         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
97740         (dir_name_r): Declare this function as static.
97741         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
97742         manifest itself on a name containing a mix of slashes and
97743         backslashes.
97744         Make this function work with names starting with a DOS-style
97745         drive letter and colon prefix.
97746         (dir_name): Append `.' if necessary.
97747         Based mostly on patches from Prashant TR and Eli Zaretskii.
97748
97749         * lib/dirname.h (dir_name_r): Remove prototype.
97750
97751 2000-12-06  Paul Eggert  <eggert@twinsun.com>
97752
97753         * m4/off_t-format.m4: Remove this file.
97754         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
97755
97756 2000-12-06  Jim Meyering  <meyering@lucent.com>
97757
97758         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
97759         replacement strtoull, we may well need the replacement strtoul, too.
97760         Check for declarations of strtoul and strtoull.
97761         Check for strtol.  Mainly as a cue to cause automake to include
97762         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
97763         Check for limits.h -- strtol.c needs it.
97764
97765 2000-12-05  Jim Meyering  <meyering@lucent.com>
97766
97767         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
97768
97769 2000-12-04  Jim Meyering  <meyering@lucent.com>
97770
97771         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
97772         Also include memory.h, stdlib.h, unistd.h if appropriate.
97773         Reported by Andreas Jaeger (conflicting declaration of malloc).
97774
97775 2000-12-02  Jim Meyering  <meyering@lucent.com>
97776
97777         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
97778         * m4/jm-macros.m4 (jm_MACROS): require it.
97779
97780 2000-12-02  Jim Meyering  <meyering@lucent.com>
97781
97782         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
97783
97784 2000-12-01  Paul Eggert  <eggert@twinsun.com>
97785
97786         * lib/memrchr.c: Include <config.h> before any system include file.
97787
97788 2000-11-30  Jim Meyering  <meyering@lucent.com>
97789
97790         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
97791
97792 2000-11-30  Jim Meyering  <meyering@lucent.com>
97793
97794         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
97795
97796 2000-11-29  Paul Eggert  <eggert@twinsun.com>
97797
97798         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
97799
97800 2000-11-26  Jim Meyering  <meyering@lucent.com>
97801
97802         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
97803
97804 2000-11-22  Paul Eggert  <eggert@twinsun.com>
97805
97806         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
97807         size of (size_t) -1; it's not portable.
97808
97809 2000-11-17  Jim Meyering  <meyering@lucent.com>
97810
97811         * lib/strstr.c: Update from GNU libc.
97812
97813 2000-11-17  Akim Demaille  <akim@epita.fr>
97814
97815         * lib/obstack.h: Formatting changes.
97816         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
97817         prevent type checking.
97818         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
97819         cast the value to (void *): assigning a `foo *' to a `void *'
97820         variable is valid.
97821         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
97822
97823 2000-11-16  Jim Meyering  <meyering@lucent.com>
97824
97825         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
97826
97827 2000-11-11  Jim Meyering  <meyering@lucent.com>
97828
97829         * lib/error.c: Add a couple #includes, merging from GNU libc version.
97830
97831 2000-11-10  Jim Meyering  <meyering@lucent.com>
97832
97833         * lib/obstack.h: Update from GNU libc.
97834         * lib/obstack.c: Likewise.
97835
97836 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
97837
97838         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
97839
97840 2000-11-06  Paul Eggert  <eggert@twinsun.com>
97841
97842         * lib/getusershell.c (setusershell): Use rewind rather than
97843         fseek/fseeko, to avoid configuration hassles with fseeko.
97844         Don't bother opening SHELLS_FILE if shellstream is NULL;
97845         it's not necessary.
97846
97847 2000-11-05  Jim Meyering  <meyering@lucent.com>
97848
97849         * lib/makepath.h (make_dir): Declare.
97850         * lib/makepath.c (make_dir): Remove `static' attribute.
97851         Tweak a comment.
97852
97853 2000-11-04  Jim Meyering  <meyering@lucent.com>
97854
97855         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
97856
97857 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
97858
97859         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
97860         last one in a bucket, advance to the next bucket.
97861
97862 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
97863
97864         * lib/fnmatch.c: Do not comment out all the code if we are using
97865         the GNU C library, because in some cases we are replacing buggy
97866         code in the GNU C library itself.
97867
97868 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
97869
97870         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
97871         (regex_compile): Catch bogus \(\1\).
97872
97873 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97874
97875         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
97876         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
97877         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
97878
97879 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97880
97881         * lib/error.h, getline.h, modechange.h:
97882         Remove "2000" from Copyright line, as the file hasn't been
97883         changed this year other than in the copyright notice.
97884
97885         * lib/xalloc.h: Add "2000" to Copyright line, as this file
97886         was changed this year.
97887
97888 2000-10-29  Jim Meyering  <meyering@lucent.com>
97889
97890         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
97891         renaming.
97892         * m4/ls-mntd-fs.m4: Likewise
97893
97894 2000-10-29  Jim Meyering  <meyering@lucent.com>
97895
97896         * lib/xstat.in: Fix grammar in comment.
97897
97898 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
97899
97900         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
97901         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
97902         doesn't define __restrict_arr.
97903
97904 2000-10-28  Jim Meyering  <meyering@lucent.com>
97905
97906         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
97907         (jm_PREREQ_MEMCHR): New function.
97908
97909 2000-10-28  Jim Meyering  <meyering@lucent.com>
97910
97911         * lib/memchr.c: Update from libc.
97912         Adjust for portability:
97913         [HAVE_STDLIB_H]: Include stdlib.h.
97914         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
97915         Undef __memchr, too.
97916         [!weak_alias]: Define __memchr to memchr.
97917
97918         * lib/regex.c: Update from libc.
97919         * lib/regex.h: Likewise.
97920         * lib/getopt1.c: Likewise.
97921         * lib/memcmp.c: Likewise.
97922
97923         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
97924         Avoid using fseek, when possible -- it's broken by design.
97925         Patch by Ulrich Drepper.
97926
97927 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
97928
97929         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
97930         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
97931         Giving in to popular pressure to shut up the compiler with casts.
97932
97933 2000-10-26  Jim Meyering  <meyering@lucent.com>
97934
97935         * lib/strftime.c: Update from libc.
97936
97937 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
97938
97939         * regex.c: More `unsigned char' -> `re_char' changes.
97940         Also change several `int' into `re_wchar_t'.
97941         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
97942         (PUSH_FAILURE_POINTER): Don't cast any more.
97943         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
97944         We want GCC to complain, since this piece of code makes
97945         re_match non-reentrant, which *should* be fixed.
97946         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
97947         (EXTEND_BUFFER): Use RETALLOC.
97948         (SET_LIST_BIT): Don't cast.
97949         (re_wchar_t): New type.
97950         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
97951         that those two functions will always properly return.
97952         (IMMEDIATE_QUIT_CHECK): Cast to void.
97953         (analyse_first): Use recursion rather than an explicit stack.
97954         (re_compile_fastmap): Can't fail anymore.
97955         (re_search_2): Don't check re_compile_fastmap for failure.
97956         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
97957         Now also sets the new value (passed in a new argument).
97958         (re_match_2_internal): Use it.
97959         Also, use a new var `reg' of type size_t when looping through regs
97960         rather than reuse the inappropriate `mcnt'.
97961
97962 2000-10-25  Jim Meyering  <meyering@lucent.com>
97963
97964         * lib/obstack.c: Update from libc.
97965
97966 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
97967
97968         * regex.c (regex_compile): Change the way of handling a range from
97969         a char less than 256 to a char not less than 256.
97970
97971 2000-10-24  Andrew Innes  <andrewi@gnu.org>
97972
97973         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
97974         NT-Emacs only.
97975         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
97976         so that re_search functions only quit when callers expect them to.
97977
97978 2000-10-23  Jim Meyering  <meyering@lucent.com>
97979
97980         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
97981         wrong.  That set_locale call must not have any side effects.
97982         From Paul Eggert.
97983
97984 2000-10-22  Jim Meyering  <meyering@lucent.com>
97985
97986         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
97987         [CYCLIC]: Remove now-unused definition.
97988
97989         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
97990         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
97991         Suggestion from Ulrich Drepper.
97992
97993 2000-10-21  Jim Meyering  <meyering@lucent.com>
97994
97995         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
97996         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
97997         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
97998
97999 2000-10-21  Jim Meyering  <meyering@lucent.com>
98000
98001         * lib/dirname.c (memrchr): Declare if necessary.
98002         (dir_name): Remove the restriction that there be no
98003         trailing slashes.  Now, this code skips past them, effectively
98004         ignoring them.
98005         [TEST_DIRNAME] (main): New unit tests.
98006
98007         * lib/memrchr.c: New file from GNU libc.
98008         Undef __memrchr, too.
98009         [!weak_alias]: Define __memrchr to memrchr.
98010         Guard weak_alias use with `#ifdef weak_alias'.
98011
98012 2000-10-21  Jim Meyering  <meyering@lucent.com>
98013
98014         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
98015         (dir_name): Use dir_name_r.
98016         * lib/dirname.h (dir_name_r): Declare it.
98017
98018 2000-10-17  Jim Meyering  <meyering@lucent.com>
98019
98020         * lib/quote.h (PARAMS): Define and use.
98021         Reported by Akim Demaille.
98022
98023         * lib/getopt.c: Update from libc.
98024
98025 2000-10-16  Jim Meyering  <meyering@lucent.com>
98026
98027         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
98028         setlocale.
98029         From Jan Fedak.
98030
98031 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
98032
98033         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
98034
98035 2000-09-25  Jim Meyering  <meyering@lucent.com>
98036
98037         * lib/md5.h (rol): Define (from GnuPG).
98038
98039         * lib/sha.c: Give credit (GnuPG) where due.
98040         (M): Use rol rather than open-coding it.
98041         Add a FIXME comment.
98042
98043 2000-09-21  Jim Meyering  <meyering@lucent.com>
98044
98045         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
98046         Reported by Michael Stone.
98047
98048 2000-09-20  Jim Meyering  <meyering@lucent.com>
98049
98050         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
98051         (noinst_HEADERS): Add sha.h.
98052         Based on code from Scott G. Miller and from GnuPG.
98053
98054 2000-09-18  Jim Meyering  <meyering@lucent.com>
98055
98056         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
98057         LIBS. Otherwise, everyone ends up linking with -lelf for some
98058         configurations.
98059         Reported by Mike Stone.
98060
98061 2000-09-15  Jim Meyering  <meyering@lucent.com>
98062
98063         * lib/regex.c: Update from libc.
98064
98065 2000-09-10  Jim Meyering  <meyering@lucent.com>
98066
98067         * lib/getopt.c (_getopt_internal): Update from glibc.
98068
98069 2000-09-09  Jim Meyering  <meyering@lucent.com>
98070
98071         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
98072         think it should be used as a general replacement for isascii.
98073         * lib/fnmatch.c: Likewise.
98074         * lib/mbswidth.c: Likewise
98075         * lib/regex.c: Likewise.
98076
98077         Don't use atoi.
98078         * lib/userspec.c: Include sys/param.h and limits.h.
98079         Include xstrtol.h.
98080         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
98081         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
98082         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
98083         UID, GID.  Check range.
98084
98085 2000-09-06  Jim Meyering  <meyering@lucent.com>
98086
98087         * lib/getopt.c (_getopt_internal): Update from glibc.
98088
98089 2000-08-30  Jim Meyering  <meyering@lucent.com>
98090
98091         * lib/strftime.c: Merge in changes from GNU libc.
98092
98093 2000-08-26  Jim Meyering  <meyering@lucent.com>
98094
98095         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
98096         * m4/fpending.m4: New file.
98097
98098 2000-08-26  Jim Meyering  <meyering@lucent.com>
98099
98100         * lib/closeout.c: Include "__fpending.h".
98101         (close_stdout_status): Return right away if there's nothing to flush.
98102
98103         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
98104         * lib/__fpending.c: New file.
98105         * lib/__fpending.h: New file.
98106
98107 2000-08-20  Jim Meyering  <meyering@lucent.com>
98108
98109         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
98110         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
98111         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
98112
98113 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
98114
98115         Improve fileutils installation on systems where running
98116         programs (like install) can't be unlinked.
98117         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
98118         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
98119
98120 2000-08-07  Paul Eggert  <eggert@twinsun.com>
98121
98122         Standardize on "memory exhausted" instead of "Memory exhausted"
98123         or "virtual memory exhausted".
98124         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
98125         "virtual memory exhausted".
98126         * lib/same.c (same_name): Invoke xalloc_die instead of printing
98127         our own message.
98128         * lib/userspec.c (parse_user_spec): Likewise.
98129         * lib/bumpalloc.h: comment fix
98130         * lib/same.c, userspec.c: Include xalloc.h.
98131
98132         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
98133         not char *const and pointing to a constant array.
98134         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
98135         (xrealloc): Comment fix.
98136
98137         * lib/userspec.c (parse_user_spec):
98138         Don't translate a message until just before returning,
98139         to avoid unnecessary translation.
98140
98141 2000-08-07  Jim Meyering  <meyering@lucent.com>
98142
98143         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
98144         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
98145         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
98146         getgroups.c, gethostname.c, getopt.h, group-member.c,
98147         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
98148         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
98149         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
98150         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
98151         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
98152         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
98153         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
98154         yesno.c: Back out Copyright date changes for each file with no change
98155         this year.  This eases coordination with other programs using the same
98156         source code modules.  From Paul Eggert.
98157
98158 2000-08-06  Paul Eggert  <eggert@twinsun.com>
98159
98160         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
98161         not char, for compatibility with glibc 2.1.3 strftime.c.
98162
98163 2000-08-03  Greg McGary  <greg@mcgary.org>
98164
98165         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
98166         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
98167         (EXTEND_BUFFER): Use them.
98168
98169 2000-08-01  Jim Meyering  <meyering@lucent.com>
98170
98171         * lib/dirname.c (ISSLASH): Define.
98172         (BACKSLASH_IS_PATH_SEPARATOR): Define.
98173         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
98174         both `\' and `/' may be use as path separators.
98175         Based on a patch from Prashant TR.
98176
98177 2000-07-31  Paul Eggert  <eggert@twinsun.com>
98178
98179         * lib/quotearg.c (quotearg_n_options): Don't make the initial
98180         slot vector a constant, since it might get modified.
98181
98182 2000-07-31  Jim Meyering  <meyering@lucent.com>
98183
98184         * lib/xmalloc.c: Use `virtual memory exhausted', not
98185         `Memory exhausted'.
98186         * lib/obstack.c (print_and_abort): Likewise.
98187
98188 2000-07-30  Paul Eggert  <eggert@twinsun.com>
98189
98190         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
98191         buffer, so that the caller can always quote one small
98192         component of a "memory exhausted" message in slot 0.
98193         From a suggestion by Jim Meyering.
98194
98195 2000-07-30  Jim Meyering  <meyering@lucent.com>
98196
98197         * lib/makepath.c (make_path): Quote the other instance, too.
98198
98199         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
98200         (STATIC_BUF_SIZE): Define.
98201         (quotearg_n_options): Use only statically allocated storage when
98202         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
98203         than STATIC_BUF_SIZE.
98204
98205 2000-07-29  Jim Meyering  <meyering@lucent.com>
98206
98207         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
98208         * lib/dirname.c (dir_name): Likewise.
98209
98210         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
98211         `/'.
98212
98213         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
98214         (dir_name): Assert that there are no trailing slashes.
98215
98216 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
98217
98218         * lib/mbswidth.h (mbswidth): Add a flags argument.
98219         (mbswidth): New declaration.
98220         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
98221         * lib/mbswidth.c (mbswidth): Add a flags argument.
98222         (mbsnwidth): New function.
98223
98224 2000-07-24  Jim Meyering  <meyering@lucent.com>
98225
98226         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
98227
98228 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98229
98230         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
98231
98232 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98233
98234         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
98235         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
98236         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
98237         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
98238         invoke multibyte primitives.
98239
98240 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98241
98242         * lib/quotearg.c:
98243         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
98244         so that mbstate_t is always defined.
98245
98246         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
98247         be 1 in at least one GCC installation, and this configuration
98248         error is likely to be common.  Ignoring MB_LEN_MAX hurts
98249         performance on hosts that have mbrtowc but have only unibyte
98250         locales, but I assume these hosts are rare.
98251
98252 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98253
98254         * lib/mbswidth.c (_XOPEN_SOURCE):
98255         Don't define; this causes problems on Solaris 7.
98256         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
98257
98258 2000-07-23  Jim Meyering  <meyering@lucent.com>
98259
98260         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
98261         too: getgrgid, getpwuid, getuid.
98262
98263 2000-07-23  Jim Meyering  <meyering@lucent.com>
98264
98265         * lib/basename.c (base_name): Add an assertion.
98266
98267 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
98268
98269         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
98270         shadow its mbsinit function.
98271
98272 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
98273
98274         * lib/mbswidth.h: New file.
98275         * lib/mbswidth.c: New file.
98276         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
98277         (noinst_HEADERS): Add mbswidth.h.
98278
98279 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
98280
98281         * lib/config.charset: Add support for FreeBSD. Improve support for
98282         HP-UX and IRIX 6.
98283
98284 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
98285
98286         * m4/mbswidth.m4: New file.
98287         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
98288
98289 2000-07-15  Jim Meyering  <meyering@lucent.com>
98290
98291         * lib/makepath.c: Include quote.h.
98292         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
98293         corresponding argument in a `quote (...)' call.
98294         Give better diagnostics.
98295
98296         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
98297         (noinst_HEADERS): Add quote.h.
98298
98299         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
98300         from tar's src/misc.c.
98301         * lib/quote.h: New file.  Prototypes for same.
98302
98303 2000-07-14  Paul Eggert  <eggert@twinsun.com>
98304
98305         From a suggestion by Bruno Haible.
98306         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
98307         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
98308         to decide whether to define the BeOS workaround macro;
98309         this adjusts to the change to AC_MBSTATE_T.
98310
98311 2000-07-14  Jim Meyering  <meyering@lucent.com>
98312
98313         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
98314         jm_AC_TYPE_UINTMAX_T.
98315
98316 2000-07-13  Paul Eggert  <eggert@twinsun.com>
98317
98318         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
98319
98320         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
98321         quotearg_buffer_restyled): Add support for
98322         clocale_quoting_style.  Undo previous change to
98323         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
98324         and "{RIGHT QUOTATION MARK}" msgids.
98325
98326 2000-07-10  Paul Eggert  <eggert@twinsun.com>
98327
98328         From a suggestion by Bruno Haible.
98329         * m4/mbstate_t.m4 (AC_MBSTATE_T):
98330         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
98331         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
98332         and mbstate_t, to a single-part test that simply defines mbstate_t.
98333         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
98334         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
98335
98336 2000-07-10  Jim Meyering  <meyering@lucent.com>
98337
98338         * m4/strerror_r.m4: Mirror the correction made in autoconf.
98339
98340         * m4/gnu-source.m4: Output to confdefs.h directly.
98341         Suggestion from Akim Demaille.
98342
98343 2000-07-09  Paul Eggert  <eggert@twinsun.com>
98344
98345         The old behavior of quoting `like this' doesn't look good with
98346         newer, ISO-style fonts.  See:
98347         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
98348
98349         Instead, quote "like this" by default.  Let the translator
98350         tailor the locale-specific quoting behavior by providing
98351         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
98352
98353         * lib/quotearg.c (N_): New macro.
98354         (gettext_default): New function.
98355         (quotearg_buffer_restyled): Use
98356         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
98357         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
98358
98359 2000-07-09  Jim Meyering  <meyering@lucent.com>
98360
98361         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
98362         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
98363
98364         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
98365         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
98366
98367 2000-07-09  Jim Meyering  <meyering@lucent.com>
98368
98369         * lib/Most files: Update copyright dates to include 2000.
98370
98371 2000-07-08  Jim Meyering  <meyering@lucent.com>
98372
98373         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
98374         if not defined.
98375         (xgethostname): Remove now-unnecessary #ifdef.
98376         Move declaration of `err' into loop where it's used.
98377
98378 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98379         and Bruno Haible  <haible@clisp.cons.org>
98380
98381         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
98382         only if the test for an object-type mbstate_t fails.  This
98383         prevents us from mistakenly reporting that mbstate_t is a
98384         system object type after we "#define mbstate_t int" to work
98385         around its lack.
98386
98387 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98388         and Bruno Haible  <haible@clisp.cons.org>
98389
98390         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
98391
98392 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98393
98394         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
98395         to strerror_r.
98396         Include <ctype.h> for use of isalpha.
98397
98398 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98399
98400         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
98401         by allocating a larger buffer. Test the gethostname return value for
98402         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
98403         returns an error and ENAMETOOLONG isn't defined.
98404
98405 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98406
98407         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
98408         dimension.
98409
98410 2000-07-04  Jim Meyering  <meyering@lucent.com>
98411
98412         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
98413         of the deprecated AC_CHECKING.
98414
98415 2000-07-04  Jim Meyering  <meyering@lucent.com>
98416
98417         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
98418         Reported by Bruno Haible.
98419
98420 2000-07-04  Jim Meyering  <meyering@lucent.com>
98421
98422         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
98423         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
98424         lacks mbrtowc.
98425
98426 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98427
98428         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
98429         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
98430
98431 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98432         and Bruno Haible  <haible@clisp.cons.org>
98433
98434         * lib/quotearg.c (mbrtowc):
98435         Assign to *pwc, and return 1 only if result is nonzero.
98436         (iswprint): Use ISPRINT when substituting our own mbrtowc.
98437
98438 2000-07-03  Jim Meyering  <meyering@lucent.com>
98439
98440         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
98441
98442 2000-07-03  Jim Meyering  <meyering@lucent.com>
98443
98444         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
98445         This is necessary to get a definition of e.g., UTMP_FILE on
98446         HP-UX 10.20.
98447         From Bob Proulx.
98448
98449 2000-07-02  Jim Meyering  <meyering@lucent.com>
98450
98451         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
98452
98453         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
98454         AC_LIBOBJ(function_name).
98455         * m4/chown.m4: Likewise.
98456         * m4/fnmatch.m4: Likewise.
98457         * m4/ftruncate.m4: Likewise.
98458         * m4/getgroups.m4: Likewise.
98459         * m4/getline.m4: Likewise.
98460         * m4/group-member.m4: Likewise.
98461         * m4/jm-macros.m4: Likewise.
98462         * m4/lstat.m4: Likewise.
98463         * m4/malloc.m4: Likewise.
98464         * m4/memcmp.m4: Likewise.
98465         * m4/nanosleep.m4: Likewise.
98466         * m4/putenv.m4: Likewise.
98467         * m4/realloc.m4: Likewise.
98468         * m4/regex.m4: Likewise.
98469         * m4/stat.m4: Likewise.
98470         * m4/strftime.m4: Likewise.
98471
98472 2000-07-02  Jim Meyering  <meyering@lucent.com>
98473
98474         * lib/quotearg.c (mbstate_t): Don't define here.
98475
98476 2000-07-02  Jim Meyering  <meyering@lucent.com>
98477
98478         * lib/nanosleep.c (SIGCONT): Define if not already defined.
98479
98480 2000-07-01  Jim Meyering  <meyering@lucent.com>
98481
98482         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
98483
98484 2000-07-01  Jim Meyering  <meyering@lucent.com>
98485
98486         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
98487         problem.
98488
98489 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98490
98491         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
98492         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
98493
98494 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98495
98496         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
98497         per change in ../m4/ls-mntd-fs.m4.
98498         (read_filesystem_list): Ignore symbolic links.
98499
98500 2000-06-29  Jim Meyering  <meyering@lucent.com>
98501
98502         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
98503         for declaration of strcmp.
98504
98505         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
98506
98507         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
98508         Avoid warning by casting result to `char *' to remove `const'.
98509
98510 2000-06-28  Jim Meyering  <meyering@lucent.com>
98511
98512         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
98513         included by quotearg.c, for which we perform this test.  From
98514         Bruno Haible.
98515
98516 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98517
98518         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
98519         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
98520         <utmpx.h> exists, put readutmp.o into LIBOBJS.
98521
98522 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98523
98524         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
98525
98526 2000-06-26  Paul Eggert  <eggert@twinsun.com>
98527
98528         savedir now sets errno on failure and invokes xmalloc to get memory.
98529         Fix a couple of other minor bugs while we're at it.
98530
98531         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
98532         (NAMLEN): Remove macro.
98533         (malloc, realloc): Remove decls.
98534         (stpcpy): Likewise.
98535         ("xalloc.h"): Include.
98536         (NAME_SIZE_DEFAULT): New macro.
98537         (savedir): Use xmalloc / xrealloc to allocate memory.
98538         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
98539         Skip "" directory entries.
98540         Use strlen to calculate directory entry length, since the old method
98541         is rarely used these days and isn't worth supporting.
98542         Don't use a pointer after freeing it.
98543         Check for integer overflow when calculating allocation size.
98544         Use memcpy to copy entries, instead of stpcpy.
98545         Set errno properly when returning NULL.
98546         Check for readdir error.
98547
98548 2000-06-26  Jim Meyering  <meyering@lucent.com>
98549
98550         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
98551
98552 2000-06-25  Jim Meyering  <meyering@lucent.com>
98553
98554         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
98555         Linux header bug when _XOPEN_SOURCE is defined to 500.
98556
98557 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98558
98559         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
98560         deficiency.
98561
98562 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98563
98564         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
98565         Include xalloc.h.
98566         Don't include <stdlib.h>.  Don't declare malloc, realloc.
98567
98568 2000-06-24  Jim Meyering  <meyering@lucent.com>
98569
98570         * m4/strerror_r.m4: Revive this file -- to try out an experimental
98571         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
98572         for which strerror does return char*, but which lacks a conveniently
98573         accessible declaration of the function.  If the compile-test says
98574         strerror_r doesn't work, then resort to a `run'-test that works on
98575         BeOS and segfaults on DEC Unix.
98576
98577 2000-06-24  Jim Meyering  <meyering@lucent.com>
98578
98579         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
98580
98581 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98582
98583         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
98584         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
98585
98586 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98587
98588         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
98589         (mbrtowc, mbstate_t): Define substitutes if
98590         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
98591         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
98592         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
98593
98594 2000-06-23  Jim Meyering  <meyering@lucent.com>
98595
98596         * m4/afs.m4: Add missing AC_MSG_RESULT.
98597         Reported by Bruno Haible.
98598
98599         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
98600         Suggestion from Bruno Haible.
98601
98602 2000-06-23  Jim Meyering  <meyering@lucent.com>
98603
98604         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
98605
98606 2000-06-21  Jim Meyering  <meyering@lucent.com>
98607
98608         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
98609
98610 2000-06-21  Jim Meyering  <meyering@lucent.com>
98611
98612         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
98613         (noinst_HEADERS): Add getstr.h.
98614
98615         * lib/getline.c (getstr): Move into a separate file.
98616         * lib/getstr.c (getstr): New file, extracted from getline.c, with
98617         the following changes: new parameter, delim2; both delim[12]
98618         parameters have type `int', not `char'.  The latter would lose
98619         with 8-bit delimiters.
98620         * lib/getstr.h: New file.
98621
98622 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98623
98624         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
98625         than 1024, return a memory chunk of least possible size, instead
98626         of size PATH_MAX + 2. In the loop, increment the size proportionally.
98627         Use free/xmalloc instead of xrealloc to avoid copying for very long
98628         paths.
98629
98630 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98631
98632         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
98633         the empty string.
98634
98635 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98636
98637         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
98638         address, not strdup.  Include <stdlib.h> and don't declare free().
98639
98640 2000-06-19  Jim Meyering  <meyering@lucent.com>
98641
98642         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
98643
98644 2000-06-18  Jim Meyering  <meyering@lucent.com>
98645
98646         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
98647
98648         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
98649         `checking whether...' message to be consistent with that of the
98650         lstat test.
98651
98652 2000-06-18  Jim Meyering  <meyering@lucent.com>
98653
98654         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
98655         Besides, these days every porting target provides a mkdir function.
98656
98657         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
98658         needed. (this snippet comes from src/system.h).
98659
98660 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
98661
98662         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
98663
98664 2000-06-15  Paul Eggert  <eggert@twinsun.com>
98665
98666         * lib/human.c (adjust_value): New function.
98667         (human_readable_inexact): Apply rounding style even when
98668         printing approximate values.
98669
98670 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98671
98672         * lib/human.c (human_readable_inexact): Allow an input block
98673         size that is not a multiple of the output block size, and vice versa.
98674         Reported by Piergiorgio Sartor.
98675
98676 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98677
98678         * lib/getdate.y (get_date): Apply relative times after time
98679         zone indicator, not before.  Reported by Todd A. Jacobs.
98680
98681 2000-06-13  Jim Meyering  <meyering@lucent.com>
98682
98683         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
98684
98685         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
98686
98687 2000-06-12  Paul Eggert  <eggert@twinsun.com>
98688
98689         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
98690
98691 2000-06-12  Jim Meyering  <meyering@lucent.com>
98692
98693         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
98694         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
98695         optional argument.
98696         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
98697         the optional argument, `lib'.
98698
98699 2000-06-08  Jim Meyering  <meyering@lucent.com>
98700
98701         * m4/largefile.m4: Remove file (now that it's part of autoconf).
98702
98703 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98704
98705         Rewrite largefile configuration so that we don't need to run
98706         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
98707         AC_CANONICAL_HOST in configure.in -- jmm]
98708
98709         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
98710         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
98711         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
98712         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
98713         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
98714         All uses changed.
98715         Instead of inspecting the output of getconf, try to compile the
98716         test program without and with the macro definition.
98717         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
98718         for getconf.  Instead, check for the needed flags by compiling
98719         test programs.
98720
98721 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98722
98723         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
98724
98725 2000-06-04  Jim Meyering  <meyering@lucent.com>
98726
98727         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
98728         SunOS 4.1.4 for which gid_t is an unsigned type.
98729
98730 2000-06-03  Jim Meyering  <meyering@lucent.com>
98731
98732         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
98733         now that autoconf requires that.
98734
98735         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
98736         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
98737         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
98738
98739 2000-06-03  Jim Meyering  <meyering@lucent.com>
98740
98741         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
98742
98743 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98744
98745         * m4/glibc21.m4: New file.
98746         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
98747
98748 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98749
98750         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
98751         newer, don't install charset.alias.
98752         * lib/config.charset: Change the Linux/glibc rules so they become empty
98753         on glibc-2.1 or newer.
98754
98755 2000-06-02  Jim Meyering  <meyering@lucent.com>
98756
98757         * lib/mountlist.c: Back out last change.  Instead, do this...
98758         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
98759         me_dummy member using the same `ignore'-testing code.
98760         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
98761         fs_type strings.
98762         From Mark D. Roth.
98763
98764 2000-05-29  Jim Meyering  <meyering@lucent.com>
98765
98766         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
98767         mounts with the `ignore' attribute.  Based on a patch from
98768         Mark D. Roth.
98769
98770 2000-05-28  Jim Meyering  <meyering@lucent.com>
98771
98772         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
98773         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98774         * m4/stat.m4: Likewise.
98775         * m4/lstat.m4: Likewise.
98776         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
98777
98778         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
98779         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
98780
98781 2000-05-26  Jim Meyering  <meyering@lucent.com>
98782
98783         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
98784
98785 2000-05-24  Jim Meyering  <meyering@lucent.com>
98786
98787         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
98788         autoconf requires that.
98789         * m4/lib-check.m4: Likewise.
98790         * m4/jm-macros.m4: Likewise.
98791         * m4/strftime.m4: Likewise.
98792
98793         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
98794         AC_CHECK_DECLS, now that autoconf requires that.
98795
98796 2000-05-22  Jim Meyering  <meyering@lucent.com>
98797
98798         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98799         * m4/lstat.m4: Likewise.
98800
98801 2000-05-22  Jim Meyering  <meyering@lucent.com>
98802
98803         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
98804
98805 2000-05-20  Jim Meyering  <meyering@lucent.com>
98806
98807         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
98808         (jm_PREREQ): Use it.
98809
98810 2000-05-18  Jim Meyering  <meyering@lucent.com>
98811
98812         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
98813         back, too, since it may have been modified by allocate_entry.
98814         (hash_delete): Rewrite to use neither the assignment operator
98815         nor the comma operator in an if-expression.
98816
98817 2000-05-15  Paul Eggert  <eggert@twinsun.com>
98818
98819         * lib/closeout.c:
98820         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
98821         Remove; no longer needed.
98822         "quotearg.h": Add include.
98823         (file_name): Do not bother to explicitly initialize to NULL; it's less
98824         efficient on some hosts.
98825         (close_stdout_status): Remove test as to whether stdout was already
98826         closed; it breaks for the case "echo x | sort >&-".
98827         Quote file name colons.
98828         Do not assume that _("write error") lacks format strings.
98829
98830 2000-05-15  Jim Meyering  <meyering@lucent.com>
98831
98832         * lib/version-etc.c (version_etc_copyright): Update the copyright
98833         string used in all --version output.
98834
98835 2000-05-14  Jim Meyering  <meyering@lucent.com>
98836
98837         * lib/closeout.c (close_stdout_set_file_name): New function.
98838         (close_stdout_status): Use new file-scoped global.
98839         Return right away if fstat says the stdout file descriptor is invalid.
98840         * lib/closeout.h (close_stdout_set_file_name): Declare.
98841
98842 2000-05-10  Jim Meyering  <meyering@lucent.com>
98843
98844         * lib/closeout.c [default_exit_status]: New file-scoped variable.
98845         (close_stdout_set_status): New function.
98846         * lib/closeout.h (close_stdout_set_status): Declare.
98847
98848 2000-05-09  Jim Meyering  <meyering@lucent.com>
98849
98850         * m4/gettext.m4: Rename this...
98851         * m4/libintl.m4: ...to this.
98852
98853 2000-05-08  Jim Meyering  <meyering@lucent.com>
98854
98855         * lib/long-options.c: Don't include closeout.h.
98856         (parse_long_options): Don't call close_stdout for --version.
98857
98858 2000-05-06  Paul Eggert  <eggert@twinsun.com>
98859
98860         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
98861         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
98862         2.1.3 bug.  This avoids a clash when files like regex.c define
98863         _GNU_SOURCE.
98864
98865 2000-05-06  Jim Meyering  <meyering@lucent.com>
98866
98867         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
98868         (AC_REPLACE_FUNCS): Add strnlen.
98869
98870         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
98871         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
98872
98873         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
98874         AC_SEARCH_LIBS call for nanosleep.
98875         (LIB_NANOSLEEP): Set and AC_SUBST.
98876
98877 2000-05-06  Jim Meyering  <meyering@lucent.com>
98878
98879         * lib/strnlen.c: Undefine __strnlen and strnlen.
98880         [!weak_alias]: Define __strnlen to strnlen.
98881
98882         * lib/atexit.c: New file, from libiberty.
98883
98884 2000-05-06  Jim Meyering  <meyering@lucent.com>
98885
98886         * lib/closeout.c (close_stdout_status): Also check for errors on the
98887         stderr stream.
98888
98889 2000-05-05  Jim Meyering  <meyering@lucent.com>
98890
98891         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
98892         AC_SEARCH_LIBS call for clock_gettime.
98893         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
98894
98895         * m4/search-libs.m4: Update from autoconf.
98896
98897         su doesn't work on Solaris 2.6.
98898         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
98899         <shadow.h>.  Reported by Dragos Harabor.
98900
98901 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
98902
98903         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
98904         memcpy instead of xmalloc, xrealloc, path_concat.
98905         (locale_charset): Treat empty environment variables as absent.
98906         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
98907
98908 2000-05-04  Jim Meyering  <meyering@lucent.com>
98909
98910         * lib/getopt.c: Update from glibc.
98911         * lib/obstack.c: Likewise.
98912         * lib/obstack.h: Likewise.
98913         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
98914         file
98915
98916         * lib/regex.h: Likewise.
98917         * lib/strndup.c: Likewise.
98918         * lib/strnlen.c: New file, from glibc.
98919
98920 2000-05-03  Jim Meyering  <meyering@lucent.com>
98921
98922         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
98923
98924 2000-05-02  Paul Eggert  <eggert@twinsun.com>
98925
98926         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
98927         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
98928         compile-time test, rather than inspecting host and OS, to
98929         decide whether to define _LARGEFILE_SOURCE.
98930
98931 2000-05-01  Jim Meyering  <meyering@lucent.com>
98932
98933         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
98934
98935         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
98936         Based on a patch from Bruno Haible.
98937
98938 2000-05-01  Jim Meyering  <meyering@lucent.com>
98939
98940         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
98941
98942 2000-04-29  Jim Meyering  <meyering@lucent.com>
98943
98944         * lib/path-concat.c: Declare strdup only if it's not defined.
98945         * lib/canon-host.c: Likewise.
98946
98947 2000-04-28  Jim Meyering  <meyering@lucent.com>
98948
98949         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
98950         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
98951         is included first, then limits.h is included by locale.h by libintl.h.
98952         From John David Anglin.
98953
98954 2000-04-25  Jim Meyering  <meyering@lucent.com>
98955
98956         * lib/makepath.c (S_IRWXUGO): Define.
98957         (make_path): Always perform explicit chmod if MODE specifies any
98958         of the `special' permission bits.  Prompted by a bug report against
98959         install from Mate Wierdl and Joost van Baal.
98960
98961 2000-04-18  Jim Meyering  <meyering@lucent.com>
98962
98963         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
98964         (jm_PREREQ): Use it.
98965
98966 2000-04-18  Jim Meyering  <meyering@lucent.com>
98967
98968         * lib/README: New file.
98969
98970         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
98971         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
98972
98973 2000-04-17  Jim Meyering  <meyering@lucent.com>
98974
98975         Get it right :-)
98976         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
98977         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
98978         Suggestion from Akim Demaille.
98979
98980 2000-04-17  Jim Meyering  <meyering@lucent.com>
98981
98982         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
98983         the definition of it to rpl_strftime also defined-away the system's
98984         declaration.
98985
98986 2000-04-15  Jim Meyering  <meyering@lucent.com>
98987
98988         Use `C' to denote so-called `contiguous' files, the same way
98989         that tar does.
98990         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
98991         (ftypelet): Use S_ISCTG.
98992         From Michael Deutschmann.
98993
98994 2000-04-14  Jim Meyering  <meyering@lucent.com>
98995
98996         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
98997         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
98998         clobbered.
98999
99000 2000-04-14  Jim Meyering  <meyering@lucent.com>
99001
99002         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
99003
99004 2000-04-13  Jim Meyering  <meyering@lucent.com>
99005
99006         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
99007         AH_VERBATIM to insert required #ifndef into config.h.in.
99008         Suggestion from Akim Demaille.
99009
99010 2000-04-12  Jim Meyering  <meyering@lucent.com>
99011
99012         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
99013         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
99014         Christian Krackowizer.
99015
99016         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
99017         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
99018         (AC_SYS_LARGEFILE): Require.
99019         (AM_C_PROTOTYPES): Require.
99020
99021 2000-04-08  Jim Meyering  <meyering@lucent.com>
99022
99023         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
99024         names don't conflict.  Reported by Eli Zaretskii.
99025
99026 2000-04-07  Jim Meyering  <meyering@lucent.com>
99027
99028         * lib/putenv.c: Move inclusion of errno.h so it follows that of
99029         sys/types.h, to work around system header problems on AIX 3.2.5.
99030         From Bruno Haible.
99031
99032 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
99033
99034         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
99035         bug.  Deal with the different error behavior of Irix iconv.
99036
99037 2000-04-05  Paul Eggert  <eggert@twinsun.com>
99038
99039         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
99040         IRIX if the installer said otherwise.
99041
99042 2000-04-05  Jim Meyering  <meyering@lucent.com>
99043
99044         Portability tweaks required for ultrix4.3.
99045         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
99046         (jm_CHECK_DECLS): Add getutent to the list of functions.
99047         (_jm_DECL_HEADERS): Add utmpx.h.
99048         From John David Anglin.
99049
99050         * m4/strftime.m4: Back out the 2000-04-02 change.
99051         Instead of that change, simply undefine putenv in the test program.
99052
99053 2000-04-05  Jim Meyering  <meyering@lucent.com>
99054
99055         Portability tweaks required for ultrix4.3.
99056         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
99057         getutent.
99058         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
99059         * lib/canon-host.c: Declare strdup.
99060         * lib/path-concat.c: Likewise.
99061         From John David Anglin.
99062
99063 2000-04-04  Jim Meyering  <meyering@lucent.com>
99064
99065         Be more DOS 8.3-friendly.
99066         * lib/ref-add.sin: Renamed from ref-add.sed.in.
99067         * lib/ref-del.sin: Renamed from ref-del.sed.in.
99068         * lib/Makefile.am: Reflect renaming.
99069         Reported by Eli Zaretskii.
99070
99071         Use a temporary file name that won't clash with `charset.alias'
99072         in the DOS 8.3 name space.
99073         * lib/Makefile.am (charset_tmp): Define.
99074         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
99075         (uninstall-local): Likewise.
99076         Reported by Eli Zaretskii.
99077
99078 2000-04-03  Jim Meyering  <meyering@lucent.com>
99079
99080         * m4/gettext.m4: Fix typo in comment.
99081
99082         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
99083         textutils/configure.in).  Suggestion from Paul Eggert.
99084         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
99085
99086 2000-04-02  Paul Eggert  <eggert@twinsun.com>
99087
99088         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
99089         variable in the shell rather than using putenv, which isn't
99090         portable.  This avoids the configure-time inter-test dependency
99091         on the potentially-renamed putenv function.
99092
99093 2000-03-30  Paul Eggert  <eggert@twinsun.com>
99094
99095         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
99096         before checking struct stat.st_blksize, so that
99097         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
99098
99099 2000-03-29  Paul Eggert  <eggert@twinsun.com>
99100
99101         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
99102         since strftime.c uses HAVE_STRFTIME to decide whether to use
99103         the underlying strftime.
99104
99105 2000-03-29  Paul Eggert  <eggert@twinsun.com>
99106
99107         * lib/time/strftime.c (my_strftime): Make sure we call the system
99108         strftime, not ourselves, when invoking the underlying strftime.
99109
99110 2000-03-24  Jim Meyering  <meyering@lucent.com>
99111
99112         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
99113         (charset_alias): Define.
99114         (install-exec-local): Factor out common code.
99115         (uninstall-local): Split lines longer than 80.
99116         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
99117         (SUFFIXES): Define.
99118         (.sed.in.sed): New rule.  Don't redirect directly to $@.
99119         (CLEANFILES): Add ref-add.sed and ref-del.sed.
99120
99121 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
99122
99123         * lib/config.charset: Output a line containing "Packages using this
99124         file".
99125         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
99126         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
99127         ref-del.sed): New rules.
99128
99129 2000-03-17  Jim Meyering  <meyering@lucent.com>
99130
99131         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
99132         Otherwise, include <strings.h>
99133
99134 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
99135
99136         * lib/unicodeio.c (utf8_wctomb): New function.
99137         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
99138         format instead of in UCS-4 with platform dependent endianness.
99139
99140 2000-03-10  Jim Meyering  <meyering@lucent.com>
99141
99142         * m4/lib-check.m4: Look for getspnam in -lgen, too.
99143         From Marco Franzen.
99144
99145 2000-03-07  Paul Eggert  <eggert@twinsun.com>
99146
99147         * lib/savedir.c (savedir): Work even if directory size is
99148         negative; this can happen with some screwy NFS configurations.
99149
99150 2000-03-06  Jim Meyering  <meyering@lucent.com>
99151
99152         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
99153         if it's NULL (because we ran out of memory).  From Bruno Haible.
99154
99155 2000-03-05  Jim Meyering  <meyering@lucent.com>
99156
99157         * lib/localcharset.c ("path-concat.h"): Include.
99158         (get_charset_aliases): Use path_concat instead of ANSI string
99159         concatenation.
99160
99161         * lib/unicodeio.h (PARAMS): Define.
99162         Use it to guard prototype.
99163
99164 2000-03-04  Jim Meyering  <meyering@lucent.com>
99165
99166         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
99167         for lib/localcharset.c.
99168
99169 2000-03-04  Jim Meyering  <meyering@lucent.com>
99170
99171         * lib/Makefile.am (install-exec-local): Create $(libdir) before
99172         installing into it.
99173         (uninstall-local): Uncomment this rule so `make distcheck' works
99174         once again.
99175
99176         * lib/unicodeio.c (<errno.h>): Include it.
99177         (errno): Declare if not defined.
99178
99179         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
99180
99181         * lib/config.charset: New version, incorporating remarks from a linux
99182         i18n mailing list.  From Bruno Haible.
99183
99184 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
99185
99186         * m4/codeset.m4: New file.
99187         * m4/iconv.m4: New file.
99188         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
99189
99190 2000-03-03  Jim Meyering  <meyering@lucent.com>
99191
99192         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
99193
99194 2000-03-02  Jim Meyering  <meyering@lucent.com>
99195
99196         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
99197         the messages come out on separate lines.
99198
99199         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
99200         rather than jm_CHECK_DECLARATIONS.
99201         * m4/decl.m4: Remove now-unused file.
99202
99203         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
99204         geteuid.
99205
99206 2000-03-02  Jim Meyering  <meyering@lucent.com>
99207
99208         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
99209
99210 2000-03-01  Jim Meyering  <meyering@lucent.com>
99211
99212         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
99213         * lib/unicodeio.c: Likewise.
99214
99215 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
99216
99217         * lib/config.charset: New file.
99218         * lib/localcharset.c: New file.
99219         * lib/unicodeio.h, lib/unicodeio.c: New files.
99220         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
99221         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
99222         (noinst_HEADERS): Add unicodeio.h.
99223         (all-local, install-exec-local, charset.alias): New targets.
99224
99225 2000-02-28  Paul Eggert  <eggert@twinsun.com>
99226
99227         * lib/quotearg.c (ALERT_CHAR): New macro.
99228         (quotearg_buffer_restyled): Use it.
99229
99230 2000-02-27  Jim Meyering  <meyering@lucent.com>
99231
99232         * m4/check-decl.m4: Add getenv to the list.
99233
99234 2000-02-27  Jim Meyering  <meyering@lucent.com>
99235
99236         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
99237         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
99238
99239         * lib/backupfile.c: Guard inclusion of stdlib.h with
99240         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
99241         Declare malloc if needed.
99242
99243         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
99244         `#ifndef HAVE_DECL..'
99245         now that autoconf always defines the HAVE_DECL_ symbols.
99246         * lib/human.c: Likewise.
99247         * lib/same.c: Likewise.
99248         * lib/strtoumax.c: Likewise.
99249
99250         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
99251         declaration check was not run.
99252         * lib/hash.c: Likewise.
99253         * lib/human.c: Likewise.
99254         * lib/same.c: Likewise.
99255         * lib/strtoumax.c: Likewise.
99256
99257         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
99258         `.', then first look up the entire `.'-containing string as a login
99259         name.
99260
99261 2000-02-23  Jim Meyering  <meyering@lucent.com>
99262
99263         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
99264         in place of my hack.
99265
99266 2000-02-18  Paul Eggert  <eggert@twinsun.com>
99267
99268         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
99269         (textint): New typedef.
99270         (parser_control): Member year changed from int to textint.
99271         All uses changed.
99272         (YYSTYPE): Removed; replaced by %union with int and textint members.
99273         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
99274         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
99275         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
99276         (tSNUMBER, tUNUMBER): Now of type <textintval>.
99277         (date, number, to_year): Use width of number in digits, not its value,
99278         to determine whether it's a 2-digit year, or a 2-digit time.
99279         (yylex): Store number of digits of numeric tokens.
99280         Reported by John Kendall.
99281
99282         (parser_control): Changed from struct parser_control to typedef (for
99283         consistency).  All uses changed.
99284
99285         (tID): Removed; not used.
99286         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
99287
99288 2000-02-14  Paul Eggert  <eggert@twinsun.com>
99289
99290         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
99291         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
99292
99293 2000-02-12  Jim Meyering  <meyering@lucent.com>
99294
99295         * lib/userspec.c (ISDIGIT): Define it.
99296         (isdigit): Remove definition.
99297         (is_number): Use ISDIGIT, not isdigit.
99298         <libintl.h>: Include.
99299         (_ and N_): Define.
99300         (parse_user_spec): Mark translatable strings.
99301
99302 2000-02-10  Jim Meyering  <meyering@lucent.com>
99303
99304         With these changes, nanosleep.[ch] are finally enough like the other
99305         lib/* replacement files to compile on a few more losing systems.
99306
99307         * lib/nanosleep.h: Don't include config.h.
99308         Remove prototype from declaration of nanosleep.
99309         (PARAMS): Remove now-unneeded definition.
99310         * lib/nanosleep.c: #undef nanosleep.
99311         (rpl_nanosleep): Rename from nanosleep.
99312
99313 2000-02-10  Jim Meyering  <meyering@lucent.com>
99314
99315         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
99316         gnu_nanosleep to rpl_nanosleep.
99317
99318 2000-02-09  Jim Meyering  <meyering@lucent.com>
99319
99320         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
99321         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
99322
99323 2000-02-08  Akim Demaille  <akim@epita.fr>
99324
99325         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
99326         `[' and `]' and remove uses of `changequote'.
99327         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
99328         (AC_SYS_LARGEFILE): Likewise.
99329         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
99330         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
99331         of changequote.
99332         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
99333         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
99334         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
99335         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
99336
99337 2000-02-05  Jim Meyering  <meyering@lucent.com>
99338
99339         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
99340         Remove explicit use of AC_HEADER_TIME.  It is required by
99341         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
99342         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
99343         in autoconf whereby the expansion of the latter ended up preceding
99344         the expansion of its prerequisite, AC_HEADER_TIME.
99345         Reported by Volker Borchert.
99346
99347 2000-02-03  Jim Meyering  <meyering@lucent.com>
99348
99349         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
99350
99351 2000-02-03  Jim Meyering  <meyering@lucent.com>
99352
99353         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
99354         rather than with `#if HAVE_UTMPNAME'.
99355
99356 2000-02-02  Jim Meyering  <meyering@lucent.com>
99357
99358         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
99359         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
99360         Reported by Eli Zaretskii.
99361
99362 2000-02-01  Jim Meyering  <meyering@lucent.com>
99363
99364         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
99365
99366 2000-01-31  Jim Meyering  <meyering@lucent.com>
99367
99368         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
99369         functions.  Add the time.h and sys/time.h headers along with the
99370         AC_REQUIRE'ment of AC_HEADER_TIME.
99371
99372 2000-01-31  Jim Meyering  <meyering@lucent.com>
99373
99374         * lib/nanosleep.h (nanosleep): Guard declaration with
99375         `#if ! HAVE_DECL_NANOSLEEP'.
99376         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
99377         the declaration in that vendor's sys/timers.h.
99378         Reported by Christian Krackowizer.
99379
99380         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
99381         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
99382         (ISPRINT): Likewise.
99383         Reported by Tom Tromey.
99384
99385 2000-01-30  Jim Meyering  <meyering@lucent.com>
99386
99387         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
99388
99389         * m4/prereq.m4 (utmp_includes): Define.
99390         Check for ut_user and ut_name members in both struct utmpx
99391         and struct utmp.
99392
99393 2000-01-30  Jim Meyering  <meyering@lucent.com>
99394
99395         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
99396         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
99397         header files where only utmpx.ut_user is declared.
99398
99399         * lib/readutmp.h (UT_USER): Define.
99400
99401 2000-01-29  Jim Meyering  <meyering@lucent.com>
99402
99403         * m4/lib-check.m4: New file containing library-related checks from
99404         fileutils and sh-utils (textutils had none).
99405
99406 2000-01-28  Jim Meyering  <meyering@lucent.com>
99407
99408         * m4/perl.m4: Change format of warning message to look more like that
99409         from the missing script.  Suggestion from François Pinard.
99410
99411 2000-01-25  Jim Meyering  <meyering@lucent.com>
99412
99413         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
99414         well as time.h in the compile check.
99415         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
99416         Fix typo in cross-compiling case: s/yes/no/.
99417
99418 2000-01-23  Jim Meyering  <meyering@lucent.com>
99419
99420         * m4/jm-macros.m4: Move df-related tests here from
99421         fileutils/configure.in
99422
99423         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
99424         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
99425
99426         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
99427         s/space/ac_fsusage_space/.
99428         (jm_FILE_SYSTEM_USAGE): Take two parameters.
99429
99430         * m4/ftruncate.m4: New file (derived from part of
99431         fileutils/configure.in).
99432         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
99433         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
99434
99435         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
99436         AC_SUBST these here, rather than just in sh-util/configure.in, so
99437         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
99438         all the same.
99439         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
99440         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
99441         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
99442         (AC_SUBST(POW_LIBM)): Likewise.
99443         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
99444
99445 2000-01-23  Jim Meyering  <meyering@lucent.com>
99446
99447         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
99448         obstack.c.
99449
99450 2000-01-22  Jim Meyering  <meyering@lucent.com>
99451
99452         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
99453
99454         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
99455
99456         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
99457         configure.in
99458         (AC_CHECK_HEADERS): Likewise for sh-utils.
99459         (AC_CHECK_HEADERS): Likewise for textutils.
99460         Merge the three lists of headers.
99461
99462         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
99463         from fileutils' configure.in.
99464
99465         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
99466         code. Moved tests into their own function (_jm_DECL_HEADERS) in
99467         check-decl.m4.
99468
99469         * m4/check-decl.m4: Use #if rather than #ifdef.
99470         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
99471         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
99472         (_jm_DECL_HEADERS): Define new function.
99473         (jm_CHECK_DECLARATIONS): Require it.
99474
99475 2000-01-22  Jim Meyering  <meyering@lucent.com>
99476
99477         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
99478         [! HAVE_DECL_STRTOULL]: Declare strtoull.
99479         Required for some AIX systems.  Reported by Christian Krackowizer.
99480         [TESTING] (main): New function.
99481
99482         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
99483         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
99484         letters.
99485
99486         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
99487         iswprint.
99488
99489         * lib/strverscmp.c (ISDIGIT): Define.
99490         (strverscmp): Use ISDIGIT, not isdigit.
99491
99492 2000-01-19  Jim Meyering  <meyering@lucent.com>
99493
99494         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
99495         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
99496         defines `struct timespec' in <sys/time.h>
99497
99498         * m4/c-bs-a.m4: Remove uses of changequote altogether.
99499         Thanks to Akim for explaining.
99500
99501 2000-01-17  Paul Eggert  <eggert@twinsun.com>
99502
99503         * lib/nanosleep.c (nanosleep):
99504         Don't use SA_INTERRUPT to decide whether to call sigaction, as
99505         POSIX.1 doesn't require SA_INTERRUPT and some systems
99506         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
99507         it's been part of POSIX.1 since day 1 (in 1988).
99508
99509 2000-01-17  Jim Meyering  <meyering@lucent.com>
99510
99511         * lib/interlock: Remove unused file.  Reported by François Pinard.
99512
99513 2000-01-16  Paul Eggert  <eggert@twinsun.com>
99514
99515         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
99516         alert, backslash, formfeed, and vertical tab unnecessarily in
99517         shell quoting style.
99518
99519 2000-01-16  Jim Meyering  <meyering@lucent.com>
99520
99521         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
99522         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
99523         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
99524         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
99525
99526 2000-01-16  Jim Meyering  <meyering@lucent.com>
99527
99528         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
99529         because the latter didn't work.
99530
99531 2000-01-15  Jim Meyering  <meyering@lucent.com>
99532
99533         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
99534         (AC_REPLACE_FUNCS): Add memcpy and memset.
99535         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
99536         Add strpbrk.
99537         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
99538
99539 2000-01-12  Jim Meyering  <meyering@lucent.com>
99540
99541         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
99542         (jm_PREREQ): Use it.
99543         (jm_PREREQ_READUTMP): New macro.
99544         (jm_PREREQ): Use it.
99545
99546 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99547
99548         Quote multibyte characters correctly.
99549         * m4/c-bs-a.m4: New file.
99550         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
99551         (jm_PREREQ): Use it.
99552
99553 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99554
99555         * m4/uintmax_t.m4: Port to autoconf 2.13.
99556
99557 2000-01-08  Jim Meyering  <meyering@ascend.com>
99558
99559         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
99560         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
99561
99562 2000-01-04  Jim Meyering  <meyering@ascend.com>
99563
99564         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
99565         jm_STRUCT_DIRENT_D_TYPE.
99566         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
99567         jm_STRUCT_DIRENT_D_INO.
99568         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
99569         jm_STRUCT_UTIMBUF.
99570         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
99571         renamings.
99572         * m4/utime.m4: Likewise.
99573
99574         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
99575         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
99576
99577 2000-01-03  Paul Eggert  <eggert@twinsun.com>
99578
99579         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
99580         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
99581
99582 2000-01-02  Jim Meyering  <meyering@ascend.com>
99583
99584         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
99585         remember if this is necessary.
99586
99587 1999-12-26  Jim Meyering  <meyering@ascend.com>
99588
99589         * m4/jm-macros.m4: Use it here.
99590         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
99591
99592 1999-12-23  Jim Meyering  <meyering@ascend.com>
99593
99594         * m4/jm-macros.m4: Check for clock_gettime (moved from
99595         fileutils/configure.in)
99596         Check for gettimeofday.
99597
99598 1999-12-20  Jim Meyering  <meyering@ascend.com>
99599
99600         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
99601         autoconf-2.14a-1999-12-20.
99602
99603 1999-12-19  Jim Meyering  <meyering@ascend.com>
99604
99605         * m4/lstat-slash.m4: New file.
99606         * m4/jm-macros.m4: Use the new macro:
99607         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
99608
99609 1999-12-07  Jim Meyering  <meyering@ascend.com>
99610
99611         * m4/perl.m4: Require that File::Compare be available, too.
99612         Too many systems seem to lack it.
99613
99614         * m4/strftime.m4: Add checks for most of the cpp macros tested in
99615         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
99616
99617 1999-11-18  Paul Eggert  <eggert@twinsun.com>
99618
99619         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
99620         problem with the QNX 4.25 shell, which doesn't propagate exit
99621         status of failed commands inside shell assignments.
99622
99623 1999-11-17  Jim Meyering  <meyering@ascend.com>
99624
99625         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
99626
99627 1999-11-07  Jim Meyering  <meyering@ascend.com>
99628
99629         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
99630
99631 1999-11-06  Jim Meyering  <meyering@ascend.com>
99632
99633         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
99634         * m4/jm-macros.m4 (jm_MACROS): Use it here.
99635
99636 1999-11-05  Jim Meyering  <meyering@ascend.com>
99637
99638         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
99639         configure.in of textutils, fileutils, and sh-utils into this one
99640         (shared between those packages) file.
99641         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
99642         AC_STRUCT_ST_BLKSIZE.
99643
99644 1999-11-03  Jim Meyering  <meyering@ascend.com>
99645
99646         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
99647         of AC_CHECK_TYPE checks includes unistd.h.
99648         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
99649         Suggestion from Akim Demaille.
99650
99651 1999-10-30  Jim Meyering  <meyering@ascend.com>
99652
99653         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
99654         m4-quoted string.
99655         * m4/ls-mntd-fs.m4: Likewise.
99656         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
99657         * m4/jm-winsz1.m4: Likewise.
99658
99659         * m4/const.m4: Remove file, since the fix made it into the experimental
99660         version of autoconf.
99661         * m4/mktime.m4: Likewise.
99662
99663         * m4/check-type.m4: Remove file, now that the latest version of
99664         AC_CHECK_TYPE takes a third arg to specify additional #includes.
99665
99666         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
99667         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
99668         AC_CHECK_TYPE.
99669
99670 1999-10-04  Jim Meyering  <meyering@ascend.com>
99671
99672         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
99673
99674 1999-09-22  Paul Eggert  <eggert@twinsun.com>
99675
99676         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
99677         2.95.1 bug with HP-UX 10.20.
99678
99679 1999-09-17  Jim Meyering  <meyering@ascend.com>
99680
99681         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
99682         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
99683         due to missing strdup (against sh-utils-2.0).
99684
99685 1999-08-29  Jim Meyering  <meyering@ascend.com>
99686
99687         * m4/jm-macros.m4: Require jm_BISON.
99688         * m4/bison.m4: New file.
99689
99690 1999-08-17  Paul Eggert  <eggert@twinsun.com>
99691
99692         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
99693         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
99694
99695 1999-08-05  Jim Meyering  <meyering@ascend.com>
99696
99697         * m4/getline.m4: Rename test file from conftestdata to conftest.data
99698         to avoid conflicts with `conftest' on 8+3 filesystems.
99699         Suggestion from Eli Zaretskii.
99700
99701 1999-08-04  Jim Meyering  <meyering@ascend.com>
99702
99703         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
99704         fileutils and sh-utils (textutils's getline test was inadequate).
99705         (AM_FUNC_GETLINE): Run this test.
99706         (AC_CHECK_FUNCS): Check for getdelim.
99707         Reported by Bob Proulx.
99708
99709 1999-08-02  Jim Meyering  <meyering@ascend.com>
99710
99711         * m4/jm-macros.m4: Add a comment.
99712
99713 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99714
99715         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
99716         <inttypes.h> defines strtoumax as a macro (and not as a
99717         function).
99718
99719 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99720
99721         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
99722         that we can shift, multiply and divide unsigned long long
99723         values; Ultrix cc can't do it.
99724
99725 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99726
99727         * m4/mktime.m4: New file, which is a preview of what should appear
99728         in the next public autoconf release.
99729
99730 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99731
99732         * m4/lfs.m4: Remove this file.
99733         * m4/largefile.m4: New file.  It contains the old contents of
99734         lfs.m4, except that all names with prefix AC_LFS have been
99735         changed to use the prefix AC_SYS_LARGEFILE instead, to be
99736         compatible with future autoconf versions.  Also, some minor m4
99737         quoting problems have been fixed.
99738
99739 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99740
99741         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
99742         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
99743         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
99744         and simplify the shell code.
99745
99746 1999-08-01  Jim Meyering  <meyering@ascend.com>
99747
99748         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
99749         m4.
99750
99751 1999-07-20  Jim Meyering  <meyering@ascend.com>
99752
99753         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
99754
99755 1999-07-15  Jim Meyering  <meyering@ascend.com>
99756
99757         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
99758
99759 1999-05-22  Jim Meyering  <meyering@ascend.com>
99760
99761         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
99762
99763 1999-05-20  Jim Meyering  <meyering@ascend.com>
99764
99765         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
99766         Add a colon after each `then' in case $4 is empty.
99767
99768 1999-05-16  Jim Meyering  <meyering@ascend.com>
99769
99770         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
99771
99772 1999-05-10  Jim Meyering  <meyering@ascend.com>
99773
99774         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
99775
99776         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
99777         AC_FUNC_MKTIME.
99778
99779 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
99780
99781         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
99782
99783 1999-05-04  Paul Eggert  <eggert@twinsun.com>
99784
99785         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
99786         not CPPFLAGS, so that linking works correctly in IRIX.
99787
99788 1999-04-30  Paul Eggert  <eggert@twinsun.com>
99789
99790         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
99791
99792 1999-04-20  Paul Eggert  <eggert@twinsun.com>
99793
99794         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
99795         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
99796         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
99797         jm_AC_TYPE_UNSIGNED_LONG_LONG.
99798         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
99799
99800         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
99801
99802 1999-04-20  Jim Meyering  <meyering@ascend.com>
99803
99804         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
99805         AC_REPLACE xstroull if necessary.  From Paul Eggert.
99806         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
99807
99808 1999-04-18  Jim Meyering  <meyering@ascend.com>
99809
99810         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
99811         * m4/jm-macros.m4: Use it.
99812
99813 1999-04-06  Jim Meyering  <meyering@ascend.com>
99814
99815         * m4/strftime.m4: Remove test for %f.
99816
99817 1999-03-29  Jim Meyering  <meyering@ascend.com>
99818
99819         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
99820         superset of the AC_TYPE_* checks in the textutils, fileutils,
99821         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
99822         AC_TYPE_PID_T.
99823
99824 1999-03-28  Jim Meyering  <meyering@ascend.com>
99825
99826         * m4/jm-macros.m4: Define GNU_PACKAGE here.
99827         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
99828         replaced e.g., in the *.sh files of the sh-utils.
99829
99830 1999-03-20  Jim Meyering  <meyering@ascend.com>
99831
99832         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
99833         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
99834         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
99835
99836 1999-03-19  Jim Meyering  <meyering@ascend.com>
99837
99838         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
99839
99840 1999-03-12  Jim Meyering  <meyering@ascend.com>
99841
99842         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
99843
99844 1999-03-07  Jim Meyering  <meyering@ascend.com>
99845
99846         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
99847         declared.
99848
99849 1999-02-17  Jim Meyering  <meyering@ascend.com>
99850
99851         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
99852         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
99853
99854 1999-02-07  Jim Meyering  <meyering@ascend.com>
99855
99856         * m4/group-member.m4: New file -- extracted from sh-utils'
99857         configure.in.
99858
99859         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
99860         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
99861
99862 1999-02-06  Jim Meyering  <meyering@ascend.com>
99863
99864         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
99865         * m4/fnmatch.m4: Likewise.
99866         * m4/getgroups.m4: Likewise.
99867         * m4/lstat.m4: Likewise.
99868         * m4/malloc.m4: Likewise.
99869         * m4/putenv.m4: Likewise.
99870         * m4/realloc.m4: Likewise.
99871         * m4/regex.m4: Likewise.
99872         * m4/stat.m4: Likewise.
99873         * m4/strftime.m4: Likewise.
99874         Suggestion from Alain Magloire.
99875
99876         * m4/chown.m4: Use `.$ac_objext', not `.o'.
99877         * m4/fnmatch.m4: Likewise.
99878         * m4/getgroups.m4: Likewise.
99879         * m4/getline.m4: Likewise.
99880         * m4/lstat.m4: Likewise.
99881         * m4/malloc.m4: Likewise.
99882         * m4/memcmp.m4: Likewise.
99883         * m4/putenv.m4: Likewise.
99884         * m4/realloc.m4: Likewise.
99885         * m4/regex.m4: Likewise.
99886         * m4/stat.m4: Likewise.
99887         * m4/strftime.m4: Likewise.
99888         Suggestion from Alain Magloire.
99889
99890         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
99891         an argument.
99892
99893         * m4/regex.m4: Add a run-time Test for proper operation of
99894         re_compile_pattern.
99895
99896 1999-01-31  Jim Meyering  <meyering@ascend.com>
99897
99898         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
99899
99900 1999-01-30  Jim Meyering  <meyering@ascend.com>
99901
99902         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
99903
99904         * m4/jm-mktime.m4: Make this a wrapper around the official
99905         AM_FUNC_MKTIME rather than my private copy, now that the official one
99906         is up to date.
99907         * m4/mktime.m4: Remove file.
99908
99909         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
99910         * m4/uptime.m4: Likewise.
99911         * m4/uintmax_t.m4: Likewise.
99912
99913 1999-01-28  Jim Meyering  <meyering@ascend.com>
99914
99915         * m4/jm-macros.m4: Use jm_AFS.
99916         * m4/afs.m4: New file (from fileutils' configure.in).
99917
99918         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
99919         * m4/chown.m4: Likewise.
99920         * m4/d-ino.m4: Likewise.
99921         * m4/d-type.m4: Likewise.
99922         * m4/fnmatch.m4: Likewise.
99923         * m4/getgroups.m4: Likewise.
99924         * m4/gettext.m4: Likewise.
99925         * m4/jm-mktime.m4: Likewise.
99926         * m4/jm-winsz2.m4: Likewise.
99927         * m4/lcmessage.m4: Likewise.
99928         * m4/ls-mntd-fs.m4: Likewise.
99929         * m4/malloc.m4: Likewise.
99930         * m4/memcmp.m4: Likewise.
99931         * m4/putenv.m4: Likewise.
99932         * m4/realloc.m4: Likewise.
99933         * m4/st_mtim.m4: Likewise.
99934         * m4/strftime.m4: Likewise.
99935
99936 1999-01-16  Jim Meyering  <meyering@ascend.com>
99937
99938         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
99939         (ARGMATCH_DIE_DECL): Define.
99940
99941 1999-01-12  Jim Meyering  <meyering@ascend.com>
99942
99943         * m4/Makefile.am.in: Rewrite to avoid using fmt.
99944         Reported by Lars Hecking.
99945
99946 1999-01-10  Jim Meyering  <meyering@ascend.com>
99947
99948         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
99949         gross kludge.
99950         * m4/inttypes_h.m4: Likewise.
99951         * m4/lstat.m4: Likewise.
99952         * m4/malloc.m4: Likewise.
99953         * m4/readdir.m4: Likewise.
99954         * m4/realloc.m4: Likewise.
99955         * m4/st_dm_mode.m4: Likewise.
99956         * m4/stat.m4: Likewise.
99957         * m4/utimbuf.m4: Likewise.
99958         * m4/utimes.m4: Likewise.
99959
99960         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
99961         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
99962         comments in config.h.in are meaningful.
99963
99964         * m4/jm-macros.m4: Require autoconf-2.13 here.
99965
99966         * m4/regex.m4: By default, don't use the included regex.c on systems
99967         with glibc 2.  Suggestion from Uli Drepper.
99968
99969 1999-01-02  Jim Meyering  <meyering@ascend.com>
99970
99971         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
99972
99973 1998-12-18  Jim Meyering  <meyering@ascend.com>
99974
99975         * m4/Makefile.am.in (Makefile.am): Simplify rule.
99976         Based on a suggestion from Lars Hecking.
99977
99978 1998-11-16  Paul Eggert  <eggert@twinsun.com>
99979
99980         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
99981
99982 1998-11-16  Jim Meyering  <meyering@ascend.com>
99983
99984         * m4/lfs.m4: Double-quote the `uname...` expression.
99985
99986 1998-11-14  Jim Meyering  <meyering@ascend.com>
99987
99988         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
99989         * m4/stat.m4: Likewise.
99990
99991 1998-11-03  Jim Meyering  <meyering@ascend.com>
99992
99993         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
99994         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
99995
99996 1998-10-18  Jim Meyering  <meyering@ascend.com>
99997
99998         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
99999
100000 1998-10-17  Jim Meyering  <meyering@ascend.com>
100001
100002         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
100003         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
100004         calls for those previously hard-coded headers.  Instead, take a new
100005         parameter.
100006         (jm_CHECK_DECLARATIONS): Reflect interface change.
100007         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
100008         (jm_CHECK_DECL_LOCALTIME_R): New macro.
100009
100010         * m4/mktime.m4: Test for spring-forward gap before long-running test.
100011
100012 1998-10-14  Jim Meyering  <meyering@ascend.com>
100013
100014         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
100015         instead of "TZ=America/Vancouver".  From Paul Eggert.
100016
100017 1998-10-11  Jim Meyering  <meyering@ascend.com>
100018
100019         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
100020         This adds a test for a recently added compatibility fix for mktime.c.
100021         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
100022
100023 1998-09-27  Jim Meyering  <meyering@ascend.com>
100024
100025         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
100026
100027         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
100028         ../configure.in, including a change from Gordon Matzigkeit to allow
100029         cross-compiling for the Hurd.
100030
100031         * m4/glibc.m4: New file/macro to test for the GNU C Library
100032         versions 1 and 2.  From Gordon Matzigkeit.
100033         Indent.
100034
100035 1998-09-21  Jim Meyering  <meyering@ascend.com>
100036
100037         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
100038
100039 1998-08-18  Paul Eggert  <eggert@twinsun.com>
100040
100041         Port nanosecond-resolution times to UnixWare 2.1.2 and
100042         pedantic Solaris 2.6.
100043
100044         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
100045         AC_STRUCT_ST_MTIM.
100046         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
100047         Generate name of ns member, instead of just 1 or undef.
100048         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
100049
100050 1998-08-15  Jim Meyering  <meyering@ascend.com>
100051
100052         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
100053         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
100054         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
100055         instead of jm_TYPE_SSIZE_T.
100056
100057 1998-08-12  Jim Meyering  <meyering@ascend.com>
100058
100059         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
100060
100061 1998-08-02  Jim Meyering  <meyering@ascend.com>
100062
100063         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
100064         in acconfig.h manually.
100065
100066 1998-07-31  Paul Eggert  <eggert@twinsun.com>
100067
100068         * m4/st_mtim.m4: New file.
100069
100070 1998-07-28  Jim Meyering  <meyering@ascend.com>
100071
100072         * m4/utimes.m4: Undef stat.
100073
100074 1998-07-25  Jim Meyering  <meyering@ascend.com>
100075
100076         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
100077         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
100078
100079 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
100080
100081         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
100082         uid and gid actually remain unchanged.
100083
100084 1998-07-07  Jim Meyering  <meyering@ascend.com>
100085
100086         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
100087
100088 1998-07-04  Jim Meyering  <meyering@ascend.com>
100089
100090         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
100091         to prove that this macro can be used in packages without regex.c.
100092
100093 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
100094
100095         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
100096         is to be used.
100097
100098 1998-07-03  Jim Meyering  <meyering@ascend.com>
100099
100100         * m4/gettext.m4: Add -lintl if it's found to be necessary.
100101
100102         * m4/gettext.m4: New file -- from gettext-0.10.35.
100103         * m4/lcmessage.m4: Likewise.
100104         * m4/progtest.m4: Likewise.
100105
100106         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
100107         * m4/jm-macros.m4: Require the new macro.
100108
100109 1998-06-29  Jim Meyering  <meyering@ascend.com>
100110
100111         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
100112         for the definition of NGROUPS (used in a system header included
100113         by sys/mount.h).
100114
100115 1998-06-28  Jim Meyering  <meyering@ascend.com>
100116
100117         * m4/ls-mntd-fs.m4: New file.
100118         * m4/fstypename.m4: New file.
100119
100120         * m4/jm-macros.m4: Require the new macro.
100121         * m4/jm-glibc-io.m4: New file.
100122
100123 1998-05-19  Jim Meyering  <meyering@ascend.com>
100124
100125         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
100126         * m4/lchown.m4: New file.
100127
100128         * m4/Makefile.am.in: New file.
100129         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
100130
100131 1998-05-14  Jim Meyering  <meyering@ascend.com>
100132
100133         * m4/Makefile.am (EXTRA_DIST): Add them.
100134         * m4/jm-macros.m4: New file.
100135         * m4/utimbuf.m4: New file.
100136
100137 1998-05-12  Jim Meyering  <meyering@ascend.com>
100138
100139         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
100140
100141 1998-05-11  Jim Meyering  <meyering@ascend.com>
100142
100143         * m4/isc-posix.m4: New file.
100144
100145 1998-05-10  Jim Meyering  <meyering@ascend.com>
100146
100147         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
100148
100149 1998-05-09  Jim Meyering  <meyering@ascend.com>
100150
100151         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
100152         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
100153         with automake.
100154
100155         * m4/ssize_t.m4: New file.
100156         * m4/mktime.m4: Remove file -- the new automake has this now.
100157
100158 1998-04-26  Jim Meyering  <meyering@ascend.com>
100159
100160         * m4/assert.m4: New file.
100161         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
100162
100163 1998-04-05  Jim Meyering  <meyering@ascend.com>
100164
100165         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
100166         (jm_PREREQ): Use it here.
100167
100168 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
100169
100170         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
100171         in acconfig.h.
100172
100173 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
100174
100175         * m4/prereq.m4: New file.
100176         * m4/error.m4: New file.
100177         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
100178
100179 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
100180
100181         * m4/getline.m4: Don't set am_cv_func_working_getline before the
100182         cache-check for the same variable -- that defeated the purpose of
100183         the test; the test program was never run.  This was a problem only
100184         on systems with losing getline functions -- HP-UX 10.20 is one.
100185         Reported by Bjorn Helgaas.
100186
100187 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
100188
100189         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
100190
100191 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
100192
100193         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
100194
100195         * m4/const.m4: New file.  Use an initializer in this declaration
100196         typedef int charset[2]; const charset x;
100197         Reported by Bob Glickstein.
100198
100199 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
100200
100201         * m4/chown.m4: Fix reversed types on -1 args to chown.
100202         From Kaveh Ghazi.
100203
100204 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
100205
100206         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
100207         Add lseek and memchr.
100208
100209         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
100210         T.E.Dickey <dickey@clark.net> said that some older preprocessors
100211         have a 20-character limit on names.
100212
100213 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
100214
100215         * m4/inttypes_h.m4: New file.
100216         * m4/uintmax_t.m4: New file.
100217         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
100218
100219
100220         -----
100221
100222         Local Variables:
100223         coding: utf-8
100224         End:
100225
100226         Copyright (C) 1997-2013 Free Software Foundation, Inc.
100227
100228         Copying and distribution of this file, with or without
100229         modification, are permitted provided the copyright notice
100230         and this notice are preserved.